@charset 'utf-8';

/* for pagebuilder */

*, *:before, *:after {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;
}

@media (max-width:767px){ .for-desktop { display:none !important; } }
@media (min-width:768px){ .for-mobile  { display:none !important; } }

img, iframe, video, audio { max-width:100%; }
body, html { margin:0; padding:0; }

body {
	text-align:center; line-height:1.7;
	font-size:16px;
	font-family:Meiryo,sans-serif;
	color:black;
	background:white;
}

h1, h2, h3, h4 {
	margin-top:0;
	margin-bottom:0.8em;
	line-height:1.4;
}

a, .ptc {
	color:lightblue;
}

.ptc-rev {
	color:white;
	background-color:lightblue;
}

*, *:after, *:before {
	border:1px none rgba(0,0,0,0.5);
}


a { text-decoration:none; }
a:hover { text-decoration:underline; }

a.linkblock { display:block; text-decoration:none; color:inherit; font-weight:normal; }
a.linkblock:hover { text-decoration:none; }

a.div-wrap { display:block; text-decoration:none; }
a.btn { display:inline-block; text-decoration:none; vertical-align:middle; text-align:center; font-weight:bold; }
a.btn:active { position:relative; top:1px; left:1px; }
a.btn { padding:10px 15px; }
a.btn.with-image{ padding:0; }
a.btn:hover { text-decoration:none; }
@media (max-width:767px) { a.btn { padding:5px 8px; } }

#header, #footer, body, html {
	max-width:100vw;
}

#footer { font-size:81.25%; /* 16*0.8125=13 */ }

/* #header > .container, */
#footer > .container,
.section > .container,
.content > .container,
.content-cover > .content-title {
	max-width:720px;
	/* display:block; */
	margin-left:auto; margin-right:auto;
}

@media (max-width:750px) {
	/* #header > .container, */
	#footer > .container,
	#main > .section > .container,
	#main > .content > .container { padding-left:15px; padding-right:15px; }
}


#main > .section.layout-fullwidth > .container {
	max-width:none;
	padding-left:0 !important;
	padding-right:0 !important;
}

#main > .content {
	padding-top:80px;
	padding-bottom:80px;
	text-align:left;
}
#main > .content.layout-image-cover {
	padding-top:0;
}

.content-cover a:hover {
	text-decoration:none;
}

.content-cover {
	background-position:center center;
	background-size:cover;
}

.content-cover > .content-title {
	display:block;
	padding:80px 0 15px;
	color:white;
}

.content-body > .container {
	padding-top:20px;
}

/***************/

.img-box,
.img-wrap { position:relative; }
.img-wrap img,
.img-wrap iframe,
.img-wrap video {
	display:block;
	margin-left:auto;
	margin-right:auto;
	max-width:100%;
}

/**** fixed background ****/

html.ua-ios .section,
html.ua-ios #footer {
	/* for ios fixed z-index bug */
	-webkit-transform:translate3d(0,0,0);
	-webkit-backface-visibility:hidden;
	-webkit-perspective:1000;
}

.fixed-bg-wrap { position:relative; }
.fixed-bg {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:-webkit-calc(100% + 120px);
	height:calc(100% + 120px);
	background-size:100% auto;
	background-position:50% top;
	background-repeat:no-repeat;
}

.fixed-bg.fixed-bg-layout-top {}
.fixed-bg.fixed-bg-layout-bottom {
	background-position:50% 100%;
}
.fixed-bg.fixed-bg-layout-repeat {
	background-size:auto auto;
	background-position:center center;
	background-repeat:repeat;
}
.fixed-bg.fixed-bg-layout-cover {
	background-size:cover;
}
.fixed-bg.fixed-bg-layout-left {
	background-size:auto 100%;
	background-position:left top;
}
.fixed-bg.fixed-bg-layout-right {
	background-size:auto 100%;
	background-position:right top;
}

/************ section ************/

#footer, .section {
	position:relative;
}

.section.has-link > a.section-link {
	position:absolute;
	top:0; left:0; bottom:0; right:0;
	background:transparent;
	opacity:0;
	cursor:pointer;
}

.section-heading:not(.layout-imagecover) > .container {
	padding-top:80px; padding-bottom:80px;
}

.section.has-contents .section-heading.titleonly > .container {
	padding-bottom:0;
}
.section.has-contents .section-heading.titleonly + .section-contents {
	padding-top:0;
}

.section-heading img {
	display:block;
	margin-left:auto; margin-right:auto;
}

.section > .container,
.section-heading > .container,
.section-content > .container { position:relative; }

.section-submenu {
	padding:15px;
	padding-bottom:40px;
}
@media (max-width:767px) {
	.section-submenu {
		padding-left:0;
		padding-right:0;
	}
}

.section.layout-bordertop {
	border-top-style:solid;
}

.section.has-background-image {
	position:relative;
}

.section-background {
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	overflow:hidden;
}
.section-background.layout-background-image-top {
	background-size:100% auto;
	background-repeat:no-repeat;
	background-position:top center;
}
.section-background.layout-background-image-bottom {
	background-size:100% auto;
	background-repeat:no-repeat;
	background-position:bottom center;
}
.section-background.layout-background-image-repeat {
	background-size:auto;
	background-repeat:repeat;
	background-position:center center;
}

.section-background.layout-background-image-cover {
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center center;
}

@media (min-width:768px) {
	.section.layout-headingleft > .container {
		width:100%;
		
		display:-webkit-box; /* iOS6-,Sf3.1-6.0,Ad2.1-4.3 */
		display:-moz-box; /* Fx19-21 */
		display:-ms-flexbox; /* IE10 */
		display:-webkit-flex; /* Chrome28-,Sf6.1+,iOS7 */
		display:flex; /* standard */
		
		-webkit-box-orient: horizontal;
		-moz-box-orient: horizontal;
		-ms-flex-direction:row;
		-webkit-flex-direction:row;
		flex-direction:row;
		
		-webkit-box-lines:single;
		-moz-box-lines:single;
		-ms-flex-wrap:nowrap;
		-webkit-flex-wrap:nowrap;
		flex-wrap:nowrap;
		
		-webkit-box-pack:justify;
		-moz-box-pack:justify;
		-ms-flex-pack:justify;
		-webkit-justify-content:space-between;
		justify-content:space-between;
		
		-webkit-box-align:stretch;
		-moz-box-align:stretch;
		-ms-flex-item-align:stretch;
		-webkit-align-items:stretch;
		align-items:stretch;
		
		-ms-flex-line-pack:stretch;
		-webkit-align-content:stretch;
		align-content:stretch;
	}
	
	.section.layout-headingleft > .container > .section-heading {
		-webkit-box-flex:0; /* iOS6-,Sf3.1-6.0 */
		-moz-box-flex:0; /* Fx19- */
		-ms-flex:none;
		-webkit-flex:none; /* Chrome28-,Sf6.1+,iOS7 */
		flex:none; /* standard */
		
		width:25%;
	}
	.section.layout-headingleft > .container > .section-contents {
		-webkit-box-flex:0; /* iOS6-,Sf3.1-6.0 */
		-moz-box-flex:0; /* Fx19- */
		-ms-flex:none;
		-webkit-flex:none; /* Chrome28-,Sf6.1+,iOS7 */
		flex:none; /* standard */
		width:70%;
	}
}

.section.has-own-color a,
.section.has-own-color .ptc {
	color:inherit;
}

.section.layout-textshadow-stroke {
	text-shadow:
		0 0 1px rgba(0,0,0,1),
		0 0 1px rgba(0,0,0,1);
}
.section.layout-textshadow-shadow {
	text-shadow:
		0 0 2px rgba(0,0,0,.5),
		.15em .15em .25em rgba(0,0,0,.4);
}

/* imagecover */
.layout-imagecover > .container {
	padding-left:0!important; padding-right:0!important;
}

.layout-imagecover img { width:100%; }
.layout-imagecover h2 { font-size:200%; }
.layout-imagecover .titledesc,
.layout-imagecover h2 .ptc,
.content-cover {
	color:white;
	text-shadow:
		 1px  1px 0 rgba(0,0,0,0.5),
		-1px  1px 0 rgba(0,0,0,0.5),
		 1px -1px 0 rgba(0,0,0,0.5),
		-1px -1px 0 rgba(0,0,0,0.5);
	-moz-opacity:0.95;
	opacity:0.95;
}
.layout-imagecover,
.layout-imagecover .section-heading { padding-top:0; padding-bottom:0; }

.layout-imagecover.layout-first-title h2 {
	position:absolute; top:20px; left:20px; right:20px; z-index:10;
}
/*
.layout-imagecover p { position:absolute; bottom:20px; right:20px; z-index:10; text-align:right; margin:0; }
.layout-imagecover .button-wrap { position:absolute; color:white; bottom:20px; left:20px; z-index:10; text-align:right; }
*/



.layout-imagecover .buttondesc {
	position:absolute; bottom:20px; left:20px; right:20px;
}
.section-heading.layout-vertical-center .buttondesc {
	bottom:auto;
	top:50%;
	-webkit-transform:translateY(-50%);
	-moz-transform:translateY(-50%);
	-ms-transform:translateY(-50%);
	transform:translateY(-50%);
}

@media (min-width:768px) {
	
	.layout-imagecover.layout-description-align-right .buttondesc,
	.layout-imagecover.layout-description-align-left .buttondesc {
		display:-webkit-box; /* iOS6-,Sf3.1-6.0,Ad2.1-4.3 */
		display:-moz-box; /* Fx19-21 */
		display:-ms-flexbox; /* IE10 */
		display:-webkit-flex; /* Chrome28-,Sf6.1+,iOS7 */
		display:flex; /* standard */
		
		-webkit-box-orient: horizontal;
		-moz-box-orient: horizontal;
		-ms-flex-direction:row;
		-webkit-flex-direction:row;
		flex-direction:row;
		
		-webkit-box-lines:single;
		-moz-box-lines:single;
		-ms-flex-wrap:nowrap;
		-webkit-flex-wrap:nowrap;
		flex-wrap:nowrap;
		
		/*
		-webkit-box-align:stretch;
		-moz-box-align:stretch;
		-ms-flex-item-align:stretch;
		-webkit-align-items:stretch;
		align-items:stretch;
		*/
		-webkit-box-align:end;
		-moz-box-align:end;
		-ms-flex-item-align:end;
		-webkit-align-items:flex-end;
		align-items:flex-end;
		
		-ms-flex-line-pack:stretch;
		-webkit-align-content:stretch;
		align-content:stretch;
		
	}
	
	.layout-imagecover.layout-description-align-right .buttondesc > .titledesc,
	.layout-imagecover.layout-description-align-left .buttondesc > .titledesc {
		-webkit-box-flex:1; /* iOS6-,Sf3.1-6.0 */
		-moz-box-flex:1; /* Fx19- */
		-ms-flex:1 1 auto;
		-webkit-flex:1 1 auto; /* Chrome28-,Sf6.1+,iOS7 */
		flex:1 1 auto; /* standard */
		min-width:0; /* for firefox bug */
	}
	.layout-imagecover.layout-description-align-right .buttondesc > .button-wrap,
	.layout-imagecover.layout-description-align-left .buttondesc > .button-wrap {
		-webkit-box-flex:0; /* iOS6-,Sf3.1-6.0 */
		-moz-box-flex:0; /* Fx19- */
		-ms-flex:none;
		-webkit-flex:none; /* Chrome28-,Sf6.1+,iOS7 */
		flex:none; /* standard */
	}
	
	.layout-imagecover.layout-description-align-right .titledesc {
		padding-left:20px;
	}
	.layout-imagecover.layout-description-align-left .titledesc {
		padding-right:20px;
	}
	.layout-imagecover.layout-description-align-right .titledesc {
		-webkit-box-ordinal-group:2;
		-moz-box-ordinal-group:2;
		-ms-flex-order:2;
		-webkit-order:2;
		order:2;
	}
	
	.layout-imagecover.layout-description-align-left .titledesc > .container > *:first-child,
	.layout-imagecover.layout-description-align-right .titledesc > .container > *:first-child {
		margin-top:0;
	}
	.layout-imagecover.layout-description-align-left .titledesc > .container > *:last-child,
	.layout-imagecover.layout-description-align-right .titledesc > .container > *:last-child {
		margin-bottom:0;
	}
	
}

/*
.layout-imagecover .titledesc { }
.layout-imagecover .titledesc *:first-child { margin-top:0; }
.layout-imagecover .titledesc *:last-child { margin-bottom:0; }
.layout-imagecover .button-wrap { position:absolute; color:white; bottom:20px; right:20px; }
*/

@media (max-width:767px) {
	.layout-imagecover h2 { font-size:175%; }
	/*
	.layout-imagecover p,
	.layout-imagecover .button-wrap { width:100%; text-align:center; left:0; right:0; }
	.layout-imagecover p { bottom:80px; }
	*/
}

/* layout-first-img or layout-first-title */

.layout-vertical.layout-first-image .img-box + .titledesc {
	margin-top:15px;
}

@media (max-width:767px) {
	.layout-cols-sp-1 .layout-first-image .img-box + .titledesc {
		margin-top:15px;
	}
}

.titledesc > .container > p:last-child {
	margin-bottom:0;
}

/* imageleft, imageright, imagealter  */

@media (min-width:768px) {
	
	.layout-multicols > .flex-parent {
		width:100%;
	
		display:-webkit-box; /* iOS6-,Sf3.1-6.0,Ad2.1-4.3 */
		display:-moz-box; /* Fx19-21 */
		display:-ms-flexbox; /* IE10 */
		display:-webkit-flex; /* Chrome28-,Sf6.1+,iOS7 */
		display:flex; /* standard */
		
		-webkit-box-orient: horizontal;
		-moz-box-orient: horizontal;
		-ms-flex-direction:row;
		-webkit-flex-direction:row;
		flex-direction:row;
		
		-webkit-box-lines:single;
		-moz-box-lines:single;
		-ms-flex-wrap:nowrap;
		-webkit-flex-wrap:nowrap;
		flex-wrap:nowrap;
		
		-webkit-box-align:stretch;
		-moz-box-align:stretch;
		-ms-flex-item-align:stretch;
		-webkit-align-items:stretch;
		align-items:stretch;
		
		-ms-flex-line-pack:stretch;
		-webkit-align-content:stretch;
		align-content:stretch;
	}
	
	.layout-imagealter :not(.flex-parent) .flex-parent,
	.layout-imageright :not(.flex-parent) .flex-parent,
	.layout-imageleft :not(.flex-parent) .flex-parent {
		width:100%;
	
		display:-webkit-box; /* iOS6-,Sf3.1-6.0,Ad2.1-4.3 */
		display:-moz-box; /* Fx19-21 */
		display:-ms-flexbox; /* IE10 */
		display:-webkit-flex; /* Chrome28-,Sf6.1+,iOS7 */
		display:flex; /* standard */
		
		-webkit-box-orient: horizontal;
		-moz-box-orient: horizontal;
		-ms-flex-direction:row;
		-webkit-flex-direction:row;
		flex-direction:row;
		
		-webkit-box-lines:single;
		-moz-box-lines:single;
		-ms-flex-wrap:nowrap;
		-webkit-flex-wrap:nowrap;
		flex-wrap:nowrap;
		
		-webkit-box-pack:justify;
		-moz-box-pack:justify;
		-ms-flex-pack:justify;
		-webkit-justify-content:space-between;
		justify-content:space-between;
		
		-webkit-box-align:stretch;
		-moz-box-align:stretch;
		-ms-flex-item-align:stretch;
		-webkit-align-items:stretch;
		align-items:stretch;
		
		-ms-flex-line-pack:stretch;
		-webkit-align-content:stretch;
		align-content:stretch;
	}
	
	.section-contents.layout-multicols > .flex-parent {
		-webkit-box-lines:multiple;
		-moz-box-lines:multiple;
		-ms-flex-wrap:wrap;
		-webkit-flex-wrap:wrap;
		flex-wrap:wrap;
	}
	
	.layout-imagealter :not(.flex-parent) .flex-parent > *,
	.layout-imageright :not(.flex-parent) .flex-parent > *,
	.layout-imageleft :not(.flex-parent) .flex-parent > * {
		-webkit-box-flex:1; /* iOS6-,Sf3.1-6.0 */
		-moz-box-flex:1; /* Fx19- */
		-ms-flex:1 1 auto;
		-webkit-flex:1 1 auto; /* Chrome28-,Sf6.1+,iOS7 */
		flex:1 1 auto; /* standard */
		min-width:0; /* for firefox bug */
		
		/****/
		display:-webkit-box; /* iOS6-,Sf3.1-6.0,Ad2.1-4.3 */
		display:-moz-box; /* Fx19-21 */
		display:-ms-flexbox; /* IE10 */
		display:-webkit-flex; /* Chrome28-,Sf6.1+,iOS7 */
		display:flex; /* standard */
		
		-webkit-box-orient: vertical;
		-moz-box-orient: vertical;
		-ms-flex-direction:column;
		-webkit-flex-direction:column;
		flex-direction:column;
		
		-webkit-box-lines:single;
		-moz-box-lines:single;
		-ms-flex-wrap:nowrap;
		-webkit-flex-wrap:nowrap;
		flex-wrap:nowrap;
		
		-webkit-box-pack:center;
		-moz-box-pack:center;
		-ms-flex-pack:center;
		-webkit-justify-content:center;
		justify-content:center;
		
		-webkit-box-align:stretch;
		-moz-box-align:stretch;
		-ms-flex-item-align:stretch;
		-webkit-align-items:stretch;
		align-items:stretch;
		
		-ms-flex-line-pack:stretch;
		-webkit-align-content:stretch;
		align-content:stretch;
		
		
	}
	
	.section-contents.layout-cols-1
			:not(.flex-parent):not-(.layout-imagealter):not(.layout-imageleft):not(.layout-image-right)
			.flex-parent {
		display:block;
	}
	
	.section-contents.layout-multicols > .flex-parent > * {
		-webkit-box-flex:0; /* iOS6-,Sf3.1-6.0 */
		-moz-box-flex:0; /* Fx19- */
		-ms-flex:none;
		-webkit-flex:none; /* Chrome28-,Sf6.1+,iOS7 */
		flex:none; /* standard */
	}
	
	.layout-imagealter :not(.flex-parent) .flex-parent > .img-box,
	.layout-imageright :not(.flex-parent) .flex-parent > .img-box,
	.layout-imageleft :not(.flex-parent) .flex-parent > .img-box {
		-webkit-box-flex:0; /* iOS6-,Sf3.1-6.0 */
		-moz-box-flex:0; /* Fx19- */
		-ms-flex:none;
		-webkit-flex:none; /* Chrome28-,Sf6.1+,iOS7 */
		flex:none; /* standard */
		
		/* 黄金比分割 */
		width:38.2%;
		/* width:61.8%; */
		/* width:50%; */
	}
	/* IEがflexのauto計算がおかしいときがあるので明示指定 */
	.layout-imagealter :not(.flex-parent) .flex-parent > .buttondesc,
	.layout-imageright :not(.flex-parent) .flex-parent > .buttondesc,
	.layout-imageleft :not(.flex-parent) .flex-parent > .buttondesc,
	.layout-imagealter :not(.flex-parent) .flex-parent > .titledesc,
	.layout-imageright :not(.flex-parent) .flex-parent > .titledesc,
	.layout-imageleft :not(.flex-parent) .flex-parent > .titledesc {
		width:61.8%;
	}
	
	
	.layout-imagecolumn-half .layout-imagealter :not(.flex-parent) .flex-parent > .img-box,
	.layout-imagecolumn-half .layout-imageleft :not(.flex-parent) .flex-parent > .img-box,
	.layout-imagecolumn-half .layout-imageright :not(.flex-parent) .flex-parent > .img-box {
		width:50%;
	}
	.layout-imagecolumn-half .layout-imagealter :not(.flex-parent) .flex-parent > .buttondesc,
	.layout-imagecolumn-half .layout-imageleft :not(.flex-parent) .flex-parent > .buttondesc,
	.layout-imagecolumn-half .layout-imageright :not(.flex-parent) .flex-parent > .buttondesc,
	.layout-imagecolumn-half .layout-imagealter :not(.flex-parent) .flex-parent > .titledesc,
	.layout-imagecolumn-half .layout-imageleft :not(.flex-parent) .flex-parent > .titledesc,
	.layout-imagecolumn-half .layout-imageright :not(.flex-parent) .flex-parent > .titledesc {
		width:50%;
	}
	
	
	.layout-imagecolumn-thumb .layout-imagealter :not(.flex-parent) .flex-parent > .img-box,
	.layout-imagecolumn-thumb .layout-imageleft :not(.flex-parent) .flex-parent > .img-box,
	.layout-imagecolumn-thumb .layout-imageright :not(.flex-parent) .flex-parent > .img-box {
		width:25%;
	}
	.layout-imagecolumn-thumb .layout-imagealter :not(.flex-parent) .flex-parent > .buttondesc,
	.layout-imagecolumn-thumb .layout-imageleft :not(.flex-parent) .flex-parent > .buttondesc,
	.layout-imagecolumn-thumb .layout-imageright :not(.flex-parent) .flex-parent > .buttondesc,
	.layout-imagecolumn-thumb .layout-imagealter :not(.flex-parent) .flex-parent > .titledesc,
	.layout-imagecolumn-thumb .layout-imageleft :not(.flex-parent) .flex-parent > .titledesc,
	.layout-imagecolumn-thumb .layout-imageright :not(.flex-parent) .flex-parent > .titledesc {
		width:75%;
	}
	
	
	.layout-imagealter:nth-of-type(2n) :not(.flex-parent) .flex-parent > .img-box,
	.layout-imageright :not(.flex-parent) .flex-parent > .img-box {
		-webkit-box-ordinal-group:2;
		-moz-box-ordinal-group:2;
		-ms-flex-order:2;
		-webkit-order:2;
		order:2;
	}
	
	.layout-imagealter:nth-of-type(2n+1) :not(.flex-parent) .flex-parent > .img-box + .titledesc,
	.layout-imageleft :not(.flex-parent) .flex-parent > .img-box + .titledesc {
		padding-left:20px;
	}
	
	.layout-imagealter:nth-of-type(2n) :not(.flex-parent) .flex-parent > .img-box + .titledesc,
	.layout-imageright :not(.flex-parent) .flex-parent .img-box + .titledesc {
		padding-right:20px;
	}
	
	.layout-imagealign-center.layout-imageleft :not(.flex-parent) .flex-parent,
	.layout-imagealign-center.layout-imageright :not(.flex-parent) .flex-parent,
	.layout-imagealign-center.layout-imagealter :not(.flex-parent) .flex-parent {
		-webkit-box-align:center;
		-moz-box-align:center;
		-ms-flex-item-align:center;
		-webkit-align-items:center;
		align-items:center;
	}
	
	.layout-imagealign-top.layout-imageleft :not(.flex-parent) .flex-parent,
	.layout-imagealign-top.layout-imageright :not(.flex-parent) .flex-parent,
	.layout-imagealign-top.layout-imagealter :not(.flex-parent) .flex-parent {
		-webkit-box-align:start;
		-moz-box-align:start;
		-ms-flex-item-align:flex-start;
		-webkit-align-items:flex-start;
		align-items:flex-start;
	}
	
	.layout-imageleft .img-wrap,
	.layout-imageright .img-wrap,
	.layout-imagealter .img-wrap,
	.layout-imageleft .titledesc > .container,
	.layout-imageright .titledesc > .container,
	.layout-imagealter .titledesc > .container {
		-webkit-box-flex:0; /* iOS6-,Sf3.1-6.0 */
		-moz-box-flex:0; /* Fx19- */
		-ms-flex:none;
		-webkit-flex:none; /* Chrome28-,Sf6.1+,iOS7 */
		flex:none; /* standard */
	}
	
	.layout-imagealign-top.layout-imageleft .img-box,
	.layout-imagealign-top.layout-imageright .img-box,
	.layout-imagealign-top.layout-imagealter .img-box,
	.layout-imagealign-top.layout-imageleft .titledesc,
	.layout-imagealign-top.layout-imageright .titledesc,
	.layout-imagealign-top.layout-imagealter .titledesc {
		-webkit-box-pack:start;
		-moz-box-pack:start;
		-ms-flex-pack:start;
		-webkit-justify-content:start;
		justify-content:flex-start;
	}
	
	.layout-imagealign-center.layout-imageleft .img-box,
	.layout-imagealign-center.layout-imageright .img-box,
	.layout-imagealign-center.layout-imagealter .img-box,
	.layout-imagealign-center.layout-imageleft .titledesc,
	.layout-imagealign-center.layout-imageright .titledesc,
	.layout-imagealign-center.layout-imagealter .titledesc {
		-webkit-box-pack:center;
		-moz-box-pack:center;
		-ms-flex-pack:center;
		-webkit-justify-content:center;
		justify-content:center;
	}
	
}

@media (max-width:767px) {
	
	.layout-multicols_sp > .flex-parent {
		width:100%;
		
		display:-webkit-box; /* iOS6-,Sf3.1-6.0,Ad2.1-4.3 */
		display:-moz-box; /* Fx19-21 */
		display:-ms-flexbox; /* IE10 */
		display:-webkit-flex; /* Chrome28-,Sf6.1+,iOS7 */
		display:flex; /* standard */
		
		-webkit-box-orient: horizontal;
		-moz-box-orient: horizontal;
		-ms-flex-direction:row;
		-webkit-flex-direction:row;
		flex-direction:row;
		
		-webkit-box-lines:single;
		-moz-box-lines:single;
		-ms-flex-wrap:nowrap;
		-webkit-flex-wrap:nowrap;
		flex-wrap:nowrap;
		
		-webkit-box-pack:justify;
		-moz-box-pack:justify;
		-ms-flex-pack:justify;
		-webkit-justify-content:space-between;
		justify-content:space-between;
		
		-webkit-box-align:stretch;
		-moz-box-align:stretch;
		-ms-flex-item-align:stretch;
		-webkit-align-items:stretch;
		align-items:stretch;
		
		-ms-flex-line-pack:stretch;
		-webkit-align-content:stretch;
		align-content:stretch;
	}
	
	.section-contents.layout-multicols_sp > .flex-parent {
		-webkit-box-lines:multiple;
		-moz-box-lines:multiple;
		-ms-flex-wrap:wrap;
		-webkit-flex-wrap:wrap;
		flex-wrap:wrap;
	}
	
	.laout-multicols_sp > .flex-parent {
		-webkit-box-flex:1; /* iOS6-,Sf3.1-6.0 */
		-moz-box-flex:1; /* Fx19- */
		-ms-flex:1 1 auto;
		-webkit-flex:1 1 auto; /* Chrome28-,Sf6.1+,iOS7 */
		flex:1 1 auto; /* standard */
		min-width:0; /* for firefox bug */
		
		/*******/
		display:-webkit-box; /* iOS6-,Sf3.1-6.0,Ad2.1-4.3 */
		display:-moz-box; /* Fx19-21 */
		display:-ms-flexbox; /* IE10 */
		display:-webkit-flex; /* Chrome28-,Sf6.1+,iOS7 */
		display:flex; /* standard */
		
		-webkit-box-orient: vertical;
		-moz-box-orient: vertical;
		-ms-flex-direction:column;
		-webkit-flex-direction:column;
		flex-direction:column;
		
		-webkit-box-lines:single;
		-moz-box-lines:single;
		-ms-flex-wrap:nowrap;
		-webkit-flex-wrap:nowrap;
		flex-wrap:nowrap;
		
		-webkit-box-pack:center;
		-moz-box-pack:center;
		-ms-flex-pack:center;
		-webkit-justify-content:center;
		justify-content:center;
		
		-webkit-box-align:stretch;
		-moz-box-align:stretch;
		-ms-flex-item-align:stretch;
		-webkit-align-items:stretch;
		align-items:stretch;
		
		-ms-flex-line-pack:stretch;
		-webkit-align-content:stretch;
		align-content:stretch;
		
	}
	
	.section-contents.layout-multicols_sp > .flex-parent > * {
		-webkit-box-flex:0; /* iOS6-,Sf3.1-6.0 */
		-moz-box-flex:0; /* Fx19- */
		-ms-flex:none;
		-webkit-flex:none; /* Chrome28-,Sf6.1+,iOS7 */
		flex:none; /* standard */
		
		position:relative;
	}
	
}

.layout-title-align-left h2,
.layout-title-align-left h3,
.layout-title-align-left.layout-pubdate-abovetitle .content-pubdate,
.layout-title-align-left.layout-pubdate-belowtitle .content-pubdate,
.layout-description-align-left .titledesc,
.layout-description-align-left.layout-pubdate-belowbody .content-pubdate {
	text-align:left;
}
.layout-title-align-right h2,
.layout-title-align-right h3,
.layout-title-align-right.layout-pubdate-abovetitle,
.layout-title-align-right.layout-pubdate-belowtitle,
.layout-description-align-right .titledesc,
.layout-description-align-right.layout-pubdate-belowbody .content-pubdate {
	text-align:right;
}

/* section contents types */

.section-contents {
	padding-top:40px;
	padding-bottom:40px;
}

.section.layout-vertical > .section-heading + .section-contents {
	margin-top:-40px;
	padding-top:20px
}

.section-content > .container > p {
	font-size:81.25%;
}

.section-contents.layout-multicols.layout-align-left > .flex-parent {
	-webkit-box-pack:start;
	-moz-box-pack:start;
	-ms-flex-pack:start;
	-webkit-justify-content:flex-start;
	justify-content:flex-start;
}

.section-contents.layout-multicols.layout-align-center > .flex-parent {
	-webkit-box-pack:center;
	-moz-box-pack:center;
	-ms-flex-pack:center;
	-webkit-justify-content:center;
	justify-content:center;
}

.section-content {
	position:relative;
	width:100%;
	/* display:inline-block; */
	padding:10px;
	vertical-align:top;
}

.section-contents {
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-ms-flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
}

.section-content {
	overflow:hidden;
}

.content > .container,
.section-content .container > h3, 
.section-content .container > p,
.section-content .container > .content-description-full {
	overflow:hidden;
	text-overflow:ellipsis;
	max-width:720px;
	width:100%;
	position:relative;
}

.section.layout-fullwidth .section-content .container > h3,
.section.layout-fullwidth .section-content .container  > p,
.section.layout-fullwidth .section-content .container  > .content-description-full {
	max-width:none;
}

.section-contents.layout-cols-1.layout-description-full .section-content + .section-content {
	border-top-style:solid;
	padding-top:40px;
}

.section-content.layout-imagealter.layout-first-title p.content-description,
.section-content.layout-imageright.layout-first-title p.content-description,
.section-content.layout-imageleft.layout-first-title p.content-description {
	margin-top:0;
}


@media (min-width:768px) {
	
	.section-contents.layout-cols-1 .section-content + .section-content {
		margin-top:40px;
	}
	
	.section-contents.layout-cols-1 .section-content.layout-vertical + .section-content {
		margin-top:60px;
	}
	
	.section-contents.layout-cols-1.layout-description-full .section-content + .section-content {
		margin-top:120px;
		padding-top:60px;
	}
	
	.section-contents.layout-cols-2 .section-content {
		width:50%;
		padding-left:15px;
		padding-right:15px;
	}
	.section-contents.layout-cols-2.layout-smallfont_multicols .section-content {
		font-size:81.25%;
	}
	
	.section-contents.layout-cols-3 .section-content {
		width:33.333%;
		padding-left:10px;
		padding-right:10px;
	}
	.section-contents.layout-cols-3.layout-smallfont_multicols .section-content {
		font-size:75%;
	}
	
	.section-contents.layout-cols-4 .section-content {
		width:25%;
		padding-left:8px;
		padding-right:8px;
	}
	.section-contents.layout-cols-4.layout-smallfont_multicols .section-content {
		font-size:65%;
	}
	
	.section-contents.layout-cols-5 .section-content {
		width:20%;
		padding-left:8px;
		padding-right:8px;
	}
	.section-contents.layout-cols-5.layout-smallfont_multicols .section-content {
		font-size:65%;
	}
	
	.section-contents.layout-multicols .section-content.layout-first-title > .container > h3:first-child > span {
		display:block;
		/* white-space:nowrap; */
		overflow:hidden;
		text-overflow:ellipsis;
		position:relative;
		/* height:1.4em; */
	}
}

.section-contents.layout-cols-1 .section-content {
	width:100%;
	display:block;
}

.section-content.layout-imageonly {
	padding:0;
}

@media (max-width:767px) {
	
	.section-contents.layout-cols-sp-1 .section-content + .section-content {
		margin-top:80px;
	}
	
	.section-contents.layout-cols-sp-1 .section-content {
		width:100%;
		padding-left:10px;
		padding-right:10px;
	}
	
	.section-contents.layout-cols-sp-2 .section-content {
		width:50%;
		padding-left:10px;
		padding-right:10px;
	}
	.section-contents.layout-cols-sp-2.layout-smallfont_multicols .section-content {
		font-size:50%;
	}
	
	.section-contents.layout-multicols_sp .section-content.layout-first-title > .container > h3:first-child > span {
		display:block;
		white-space:nowrap;
		overflow:hidden;
		text-overflow:ellipsis;
		position:relative;
		height:1.4em;
	}
	
}

.section-contents.layout-cols-1 .section-content.layout-titleonly + .section-content {
	margin-top:0;
}
.section-contents.layout-cols-1 .section-content.layout-textonly + .section-content {
	margin-top:0;
}
.section-contents.layout-cols-1 .section-content.layout-textonly h3 {
	margin-bottom:0;
}

.section-contents.layout-bordered .section-content {
	display:-webkit-box; /* iOS6-,Sf3.1-6.0,Ad2.1-4.3 */
	display:-moz-box; /* Fx19-21 */
	display:-ms-flexbox; /* IE10 */
	display:-webkit-flex; /* Chrome28-,Sf6.1+,iOS7 */
	display:flex; /* standard */
}	

.section-contents.layout-bordered .section-content > .container {
	-webkit-box-flex:1; /* iOS6-,Sf3.1-6.0 */
	-moz-box-flex:1; /* Fx19- */
	-ms-flex:1 1 auto;
	-webkit-flex:1 1 auto; /* Chrome28-,Sf6.1+,iOS7 */
	flex:1 1 auto; /* standard */
	min-width:0; /* for firefox bug */
	
	border-style:solid;
	padding:10px;
	
	/* for IE/Moz workaround */
	max-width:100%;
	min-width:100%;
}

.section-contents-more,
.section-contents .contents-append {
	width:100%;
}
.section-contents-more > a,
.section-contents .contents-append > a {
	display:block;
	width:100%;
	padding:30px 15px 40px 15px;
	font-size:90%;
	-moz-opacity:0.75;
	opacity:0.75;
	text-decoration:none;
}

.layout-imagecut-4_3_contain .img-wrap,
.layout-imagecut-square_contain .img-wrap,
.layout-imagecut-4_3_cover .img-wrap,
.layout-imagecut-square_cover .img-wrap,
.layout-imagecut-circle_cover .img-wrap {
	background-position:center center;
	background-repeat:no-repeat;
}
.layout-imagecut-4_3_contain .img-wrap,
.layout-imagecut-square_contain .img-wrap {
	background-size:contain;
}
.layout-imagecut-4_3_cover .img-wrap,
.layout-imagecut-square_cover .img-wrap,
.layout-imagecut-circle_cover .img-wrap{
	background-size:cover;
}

.layout-imagecut-square_contain .img-wrap:before,
.layout-imagecut-square_cover .img-wrap:before,
.layout-imagecut-circle_cover .img-wrap:before {
	content:"";
	display:block;
	padding-top:100%;
}

.layout-imagecut-circle_cover .img-box {
	padding-left:10px;
	padding-right:10px;
}
.layout-imagecut-circle_cover .img-wrap {
	-moz-border-radius:50%;
	border-radius:50%;
}

.layout-imagecut-4_3_contain .img-wrap:before ,
.layout-imagecut-4_3_cover .img-wrap:before {
	content:"";
	display:block;
	padding-top:75%;
}

.layout-imagecut-circle .img-wrap {
	-moz-border-radius:50%;
	border-radius:50%;
}


.section-contents .layout-titleonly h3 {
	font-size:1rem;
	margin:0;
	font-weight:normal;
}

.section-contents .layout-titleonly h3 .ptc {
	color:inherit;
}

/* TODO: card型表示 */
.section-contents.layout-boarder-card  .section-content h3 {
	margin-top:15px;
}
.section-contents.layout-border-card .section-content > .container {
	border-style:solid;
}
.section-contents.layout-boarder-card  .section-content h3 {
	margin-top:15px;
}
.section-contents.layout-multicols.layout-border-card .section-content > .container {
	border:1px solid #ccc;
}

.section-content.layout-titleimage.layout-first-image h3 {
	margin-bottom:0;
	margin-top:5px;
}

.section-content.layout-titleimage.layout-first-title h3 {
	margin-bottom:5px;
	margin-top:0;
}

.content-pubdate {}
.layout-pubdate-abovetitle .content-pubdate,
.layout-pubdate-belowtitle .content-pubdate,
.layout-pubdate-belowbody .content-pubdate {
	-moz-opacity:0.6;
	opacity:0.6;
	font-size:81.25%;
}

.layout-pubdate-belowtitle h3 {
	margin-bottom:0.1em;
}

.layout-pubdate-belowtitle h3 + .content-pubdate {
	margin-bottom:0.8em;
}


/* link */
[data-href].hover { cursor:pointer; }

/* header fixed slideup */

#header.fixed > .container {
	position:fixed; top:0; left:0; width:100%;
	z-index:200;
	/* height:48px; /* XXX */
}

#header-fixed > .container { height:48px; }
#header.fixed { height:48px; }

#header.fixed > .container {
	-webkit-transition:-webkit-transform .2s ease;
	-webkit-transition:transform .2s ease;
	-moz-transition:transform .2s ease;
	-ms-transition:transform .2s ease;
	transition:transform .2s ease;
}

#header.fixed.slide-up > .container {
	-webkit-transform:translateY(-100%);
	-moz-transform:translateY(-100%);
	-ms-transform:translateY(-100%);
	transform:translateY(-100%);
}

/* common contact form */
#contactform {
	margin:40px auto;
	max-width: 720px;
}

#contactform form {
	text-align:left;
}

#contactform input,
#contactform textarea {
	padding:4px;
	font-size:inherit;
	border-style:solid;
}

#contactform { padding-bottom:8em; }
#contactform form > div {  }
#contactform form > div + div { margin-top:.5em; }
#contactform form > div > * { vertical-align:top; }
#contactform form > div > label { width:120px; display:inline-block; }

#contactform form > div > input,
#contactform form > div > textarea { width:400px; }

#contactform form > div > textarea { height:15em; }
#contactform form > div > input[type=submit] { width:auto; margin-top:1em; }
#contactform form > div > ul.errorlist { margin-left:120px; }
#contactform form > input[type=submit] { margin-left:120px; width:auto; margin-top:1em; }
#contactform form > input[type=submit] {
	background:transparent;
	color:inherit;
	padding:0.5em 1em;
	line-height:1em;
	border-radius:1em;
	font-weight:bold;
	outline:none;
	cursor:pointer;
}
#contactform form > input[type=submit]:hover {
	
}

@media screen and (max-width:767px) {
	#contactform { padding-left:15px; padding-right:15px; }
	#contactform form > div > label,
	#contactform form > div > input,
	#contactform form > div > textarea,
	#contactform form > div > ul.errorlist { width:100%; }
	
	#contactform form > div > ul.errorlist,
	#contactform form > input[type=submit] { margin-left:0; }
	
	#contactform form > div + div { margin-top:1em; }
}

ul.errorlist {
	color:#cc0000;
	font-weight:bold;
	margin:0.5em 0.5em 1em;
	padding:0;
	list-style:none;
}


/****************/

/* max-lines, lines */
/* line-height:1.7に依存しているので注意 */

.max-lines-1, .lines-1,
.max-lines-2, .lines-2,
.max-lines-3, .lines-3,
.max-lines-4, .lines-4,
.max-lines-5, .lines-5,
.max-lines-10, .lines-10 {
	display:block; overflow:hidden; padding:0;
	text-overflow:ellipsis;
}

.max-lines-1, .lines-1 {
	white-space:nowrap; 
}
.max-lines-1 {
	max-height:1.5em;
	max-height:-webkit-calc(1em * 1.7 * 1 - 0.2em);
	max-height:calc(1em * 1.7 * 1 - 0.2em);
}
.lines-1 {
	height:1.5em;
	height:-webkit-calc(1em * 1.7 * 1 - 0.2em);
	height:calc(1em * 1.7 * 1 - 0.2em);
}
h1 .max-lines-1, h2 .max-lines-1, h3 .max-lines-1, h4 .max-lines-1 {
	max-height:1.25em;
	max-height:-webkit-calc(1em * 1.4 * 1 - 0.15em);
	max-height:calc(1em * 1.4 * 1 - 0.15em);
}
h1 .lines-1, h2 .lines-1, h3 .lines-1, h4 .lines-1 {
	height:1.25em;
	height:-webkit-calc(1em * 1.4 * 1 - 0.15em);
	height:calc(1em * 1.4 * 1 - 0.15em);
}


.max-lines-2 {
	max-height:3.2em;
	max-height:-webkit-calc(1em * 1.7 * 2 - 0.2em);
	max-height:calc(1em * 1.7 * 2 - 0.2em);
}
.lines-2 {
	height:3.2em;
	height:-webkit-calc(1em * 1.7 * 2 - 0.2em);
	height:calc(1em * 1.7 * 2 - 0.2em);
}
h1 .max-lines-2, h2 .max-lines-2, h3 .max-lines-2, h4 .max-lines-2 {
	max-height:2.65em;
	max-height:-webkit-calc(1em * 1.4 * 2 - 0.15em);
	max-height:calc(1em * 1.4 * 2 - 0.15em);
}
h1 .lines-2, h2 .lines-2, h3 .lines-2, h4 .lines-2 {
	height:2.65em;
	height:-webkit-calc(1em * 1.4 * 2 - 0.15em);
	height:calc(1em * 1.4 * 2 - 0.15em);
}

.max-lines-3 {
	max-height:4.9em;
	max-height:-webkit-calc(1em * 1.7 * 3 - 0.2em);
	max-height:calc(1em * 1.7 * 3 - 0.2em);
}
.lines-3 {
	height:4.9em;
	height:-webkit-calc(1em * 1.7 * 3 - 0.2em);
	height:calc(1em * 1.7 * 3 - 0.2em);
}
h1 .max-lines-3, h2 .max-lines-3, h3 .max-lines-3, h4 .max-lines-3 {
	max-height:4.05em;
	max-height:-webkit-calc(1em * 1.4 * 3 - 0.15em);
	max-height:calc(1em * 1.4 * 3 - 0.15em);
}
h1 .lines-3, h2 .lines-3, h3 .lines-3, h4 .lines-3 {
	height:4.05em;
	height:-webkit-calc(1em * 1.4 * 3 - 0.15em);
	height:calc(1em * 1.4 * 3 - 0.15em);
}

.max-lines-4 {
	max-height:6.6em;
	max-height:-webkit-calc(1em * 1.7 * 4 - 0.2em);
	max-height:calc(1em * 1.7 * 4 - 0.2em);
}
.lines-4 {
	height:6.6em;
	height:-webkit-calc(1em * 1.7 * 4 - 0.2em);
	height:calc(1em * 1.7 * 4 - 0.2em);
}
h1 .max-lines-4, h2 .max-lines-4, h3 .max-lines-4, h4 .max-lines-4 {
	max-height:5.45em;
	max-height:-webkit-calc(1em * 1.4 * 4 - 0.15em);
	max-height:calc(1em * 1.4 * 4 - 0.15em);
}
h1 .lines-4, h2 .lines-4, h3 .lines-4, h4 .lines-4 {
	height:5.45em;
	height:-webkit-calc(1em * 1.4 * 4 - 0.15em);
	height:calc(1em * 1.4 * 4 - 0.15em);
}

.max-lines-5 {
	max-height:8.3em;
	max-height:-webkit-calc(1em * 1.7 * 5 - 0.2em);
	max-height:calc(1em * 1.7 * 5 - 0.2em);
}
.lines-5 {
	height:8.3em;
	height:-webkit-calc(1em * 1.7 * 5 - 0.2em);
	height:calc(1em * 1.7 * 5 - 0.2em);
}
h1 .max-lines-5, h2 .max-lines-5, h3 .max-lines-5, h4 .max-lines-5 {
	max-height:6.85em;
	max-height:-webkit-calc(1em * 1.4 * 5 - 0.15em);
	max-height:calc(1em * 1.4 * 5 - 0.15em);
}
h1 .lines-5, h2 .lines-5, h3 .lines-5, h4 .lines-5 {
	height:6.85em;
	height:-webkit-calc(1em * 1.4 * 5 - 0.15em);
	height:calc(1em * 1.4 * 5 - 0.15em);
}

.max-lines-10 {
	max-height:16.8em;
	max-height:-webkit-calc(1em * 1.7 * 10 - 0.2em);
	max-height:calc(1em * 1.7 * 10 - 0.2em);
}
.lines-10 {
	height:16.8em;
	height:-webkit-calc(1em * 1.7 * 10 - 0.2em);
	height:calc(1em * 1.7 * 10 - 0.2em);
}
h1 .max-lines-10, h2 .max-lines-10, h3 .max-lines-10, h4 .max-lines-10 {
	max-height:13.85em;
	max-height:-webkit-calc(1em * 1.4 * 10 - 0.15em);
	max-height:calc(1em * 1.4 * 10 - 0.15em);
}
h1 .lines-10, h2 .lines-10, h3 .lines-10, h4 .lines-10 {
	height:13.85em;
	height:-webkit-calc(1em * 1.4 * 10 - 0.15em);
	height:calc(1em * 1.4 * 10 - 0.15em);
}

