@charset "utf-8";

@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url('https://fonts.googleapis.com/css?family=Ubuntu:300,400,500,700');
@import url('https://fonts.googleapis.com/css?family=Montserrat|Open+Sans:400,700');

/* ===========================================================
	global
=========================================================== */

html {
	font-size: 62.5%;
	background-color: #fff;
}

body {
	margin: 0 auto;
	padding: 0;
	height: 100%;
	font-family: "Noto Sans JP", sans-serif; 
	font-size: 1.3rem;
	color: rgba(0,0,0,0.7);
	text-align: left;
	font-style: normal;
	font-weight: 300;
	line-height: 1.7;
	position: relative;
	z-index: 0;
	background-color: #fff;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
}

ul {
	font-size: 0;
	padding: 0;
	margin: 0;
}

li {
	line-height: 0;
	list-style: none;
}

div,
p,
span,
th,
td,
dl,
dt,
dd,
a,
li,
th,
td {
	font-size: 1.3rem;
	padding: 0;
	margin: 0;
	box-sizing: border-box;
	font-style: normal;
	line-height: inherit;
	margin: 0;
	padding: 0;
}

ul.list li {
	line-height: 1.6;
}

@media screen and (min-width: 768px) {

	div,
	p,
	span,
	th,
	td,
	dl,
	dt,
	dd,
	a,
	li,
	th,
	td {
		font-size: 1.4rem;
	}

	ul.list li {
		line-height: 1.8;
	}

}

.en {
	font-family: 'Ubuntu', sans-serif;
	font-weight: 300;
}

figure {
	line-height: 1
}

img {
	width: 100%;
	margin: 0;
	padding: 0;
	line-height: 0;
}

h1,h2,h3,h4,h5,h6 {
	font-family: "Noto Sans JP", sans-serif; 
	font-size: inherit;
	font-weight: 400;
	color: inherit;
}

a {
	color: rgba(0,0,0,0.7);
	text-decoration: none;
	width: auto;
	transition: all .2s ease;
	display: inline-block;
	outline: none;
}

/* txt anchor  -------- */

.txt-anchor span,
.list li a {
	position: relative;
	padding-left: 16px;
	text-decoration: underline;
}

.txt-anchor span:before,
.list li a:before {
	content: "";
	position: absolute;
	top: .7em;
	left: 0;
	background-color: #16a1a9;
	width: 8px;
	height: 8px;
	border-radius: 50%;
}

.txt-link {
	color: #16a1a9;
	text-decoration: underline;
}

.txt-link:hover {
	text-decoration: none;
}

@media screen and (min-width: 768px) {

	.txt-anchor:hover,
	.list li a:hover,
	.child .contents p a:hover {
		color: #16a1a9 !important;
	}

}

/* btn  -------- */

.btn a,
.btn .contact-btn {
	text-align: center;
	padding: 12px 20px;
	border: 2px solid rgba(26,161,169,1);
	color: rgba(26,161,169,1);
	background-color: transparent;
	border-radius: 25px;
	font-weight: 600;
	font-size: 1.2rem;
	line-height: 1;
	text-transform: capitalize;
	text-decoration: none !important;
	width: 100%;
	min-width: 185px;
}

.btn a .en,
.btn .contact-btn .en {
	font-size: 1.1em;
}

.btn a span,
.btn .contact-btn span {
	position: relative;
	display: inline-block;
	width: 100%;
	padding-left: 12px;
	font-weight: 600;
}

@media screen and (min-width: 415px) {

	.btn-list .btn,
	.contact .btn {
		display: inline-block;
		margin: 0 5px;
	}

	.btn a,
	.btn .contact-btn {
		font-size: 1.3rem;
		width: auto;
		min-width: 210px;
		padding: 15px 20px;
		width: auto;
	}

	.btn a span:before,
	.btn .contact-btn span:before {
		margin-top: -9px;
		width: 11px;
		height: 17px;
	}

}

@media screen and (min-width: 768px) {

	.btn a,
	.btn .contact-btn {
		font-size: 1.4rem;
	}

}

/* main  -------- */

main,footer {
	position: relative;
	width: 100%;
}

@media screen and (min-width: 800px) {

	main {
		width: 100%;
		margin: 0 auto;
	}

	footer {
		width: calc(100% - 70px);
		margin-left: 70px;
	}

	section {
		margin-left: 70px;
	}

}

/* contents-wrapper  -------- */

.contents-wrapper {
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

.loading-wrap {
	width: 100%;
	height: 100vh;
	position: relative;
	margin: 0 auto;
}

#loading {
	position: absolute;
	top: 50%;
	right: 0;
	left: 0;
	margin: 0 auto;
	width: 20px;
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
	opacity: 1;
}

@media screen and (min-width: 800px) {

	.loading-wrap {
		margin: 0 auto 0 35px;
	}

}

/* contents-inner  -------- */

.contents-inner {
	width: calc(100% - 50px);
	margin: 0 auto;
	max-width: 1150px;
}

@media screen and (min-width: 414px) {

	.contents-inner {
		width: calc(100% - 80px);
	}

}

@media screen and (min-width: 768px) {

	.contents-inner {
		width: calc(100% - 140px);
	}

}

@media screen and (min-width: 1025px) {

	.contents-inner {
		width: calc(100% - 180px);
	}

}


/* ===========================================================
	header
=========================================================== */

/* toggle button  -------- */

header .global-toggle {
	background-color: rgba(22,161,169,1);
	padding: 14px 10px;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 100;
	cursor: pointer;
	display: block;
}

header .global-toggle .toggle-bar {
	display: block;
	overflow: hidden;
	position: relative;
	width: 30px;
	height: 22px;
}

@media screen and (min-width: 800px) {

	header .global-toggle {
		display: none;
	}

}

/* toggle button span  -------- */

header .global-toggle span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: rgba(255,255,255,1);
	z-index: 100;
}

header .global-toggle span:nth-of-type(1) {
	top: 0;
}

header .global-toggle span:nth-of-type(2) {
	top: 11px;
}

header .global-toggle span:nth-of-type(3) {
	top: 21px;
}

/* --- toggle 1 close ---*/

header .global-toggle span:nth-of-type(1) {
	-webkit-animation: menu-bar01 .75s forwards;
	animation: menu-bar01 .75s forwards;
}

@-webkit-keyframes menu-bar01 {
	0% {
		-webkit-transform: translateY(11px) rotate(45deg);
	}
	50% {
		-webkit-transform: translateY(11px) rotate(0);
	}
	100% {
		-webkit-transform: translateY(0) rotate(0);
	}
}

@keyframes menu-bar01 {
	0% {
		transform: translateY(11px) rotate(45deg);
	}
	50% {
		transform: translateY(11px) rotate(0);
	}
	100% {
		transform: translateY(0) rotate(0);
	}
}

/* --- toggle 2 ---*/

header .global-toggle span:nth-of-type(2) {
  opacity: 1;
}

/* --- toggle 3 close ---*/

header .global-toggle span:nth-of-type(3) {
	-webkit-animation: menu-bar02 .75s forwards;
	animation: menu-bar02 .75s forwards;
}

@-webkit-keyframes menu-bar02 {
	0% {
		-webkit-transform: translateY(-11px) rotate(-45deg);
	}
	50% {
		-webkit-transform: translateY(-11px) rotate(0);
	}
	100% {
		-webkit-transform: translateY(0) rotate(0);
	}
}

@keyframes menu-bar02 {
	0% {
		transform: translateY(-11px) rotate(-45deg);
	}
	50% {
		transform: translateY(-11px) rotate(0);
	}
	100% {
		transform: translateY(0) rotate(0);
	}
}

/* --- toggle 1 open ---*/

.open header .global-toggle span:nth-of-type(1) {
	-webkit-animation: open-menu-bar01 .75s forwards;
	animation: open-menu-bar01 .75s forwards;
}

@-webkit-keyframes open-menu-bar01 {
	0% {
		-webkit-transform: translateY(0) rotate(0);
	}
	50% {
		-webkit-transform: translateY(11px) rotate(0);
	}
	100% {
		-webkit-transform: translateY(11px) rotate(45deg);
	}
}

@keyframes open-menu-bar01 {
	0% {
		transform: translateY(0) rotate(0);
	}
	50% {
		transform: translateY(11px) rotate(0);
	}
	100% {
		transform: translateY(11px) rotate(45deg);
	}
}

.open header .global-toggle span:nth-of-type(2) {
	opacity: 0;
}

.open header .global-toggle span:nth-of-type(3) {
	-webkit-animation: open-menu-bar03 .75s forwards;
	animation: open-menu-bar03 .75s forwards;
}

@-webkit-keyframes open-menu-bar03 {
	0% {
		-webkit-transform: translateY(0) rotate(0);
	}
	50% {
		-webkit-transform: translateY(-11px) rotate(0);
	}
	100% {
		-webkit-transform: translateY(-11px) rotate(-45deg);
	}
}

@keyframes open-menu-bar03 {
	0% {
		transform: translateY(0) rotate(0);
	}
	50% {
		transform: translateY(-11px) rotate(0);
	}
	100% {
		transform: translateY(-11px) rotate(-45deg);
	}
}

/* header  -------- */

header .header-fixed {
	position: fixed;
	z-index: 1010;
}

/* logo  -------- */

header .logo-wrap {
	position: absolute;
	top: 50px;
	left: 40px;
	z-index: 200;
	-webkit-transition: all 0.4s ease .3s;
	-moz-transition: all 0.4s ease .3s;
	-o-transition: all 0.4s ease .3s;
	transition: all 0.4s ease .3s;
	opacity: 0;
	pointer-events: none;
}

header .logo-wrap .header-logo {
	width: 46px;
}

.open header .logo-wrap {
	opacity: 1;
	pointer-events: auto;
}

@media screen and (min-width: 800px) {

	header .logo-wrap {
		position: relative;
		opacity: 1;
		pointer-events: auto;
		z-index: 1050;
		top: 0;
		right: 0;
		margin: 0 auto;
		left: 0;
	}

}

/* nav  -------- */

header .global-nav-wrap {
	position: fixed;
	top: 0;
	width: auto;
	height: 100vh;
	z-index: 200;
	-webkit-transition: all 1.0s ease;
	-moz-transition: all 1.0s ease;
	-o-transition: all 1.0s ease;
	transition: all 1.0s ease;
	pointer-events: none;
}

.open header .global-nav-wrap {
	pointer-events: auto;
}

header .global-nav {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	margin: 0 auto;
	z-index: 180;
	/*overflow: hidden;*/
}

.open header .global-nav {
	width: 100%;
}

header .global-nav .nav {
	width: 100%;
	height: 100%;
	right: 0;
	margin-right: 0;
	position: relative;
}

header .global-nav .nav .nav-inner {
	width: 100%;
	height: 100%;
	z-index: 1000;
	-webkit-transition: all 600ms cubic-bezier( .77, 0, .175, 1);
	transition: all 600ms cubic-bezier( .77, 0, .175, 1);
	-webkit-transform: translateX(100%);
	-moz-transform: translateX(100%);
	-o-transform: translateX(100%);
	transform: translateX(100%);
	position: absolute;
	background-color: rgba(255,255,255,1);
	top: 0;
	right: -100%;
	padding: 140px 0 0 0;
}

.open header .global-nav .nav .nav-inner {
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	-o-transform: translateX(0);
	transform: translateX(0);
	right: 0;
	/*overflow-y: scroll;*/
}

@media screen and (min-width: 600px) {

	.open header .global-nav .nav .nav-inner {
		opacity: 1;
		width: 50%;
	}

}

@media screen and (min-width: 800px) {

	header .header-fixed {
		display: none;
	}

	header .global-nav-wrap {
		pointer-events: auto;
	}

	header .global-nav .nav .nav-inner {
		-webkit-transform: none;
		-moz-transform: none;
		-o-transform: none;
		transform: none;
		right: auto;
		/*overflow-y:auto;
		-ms-overflow-style:none;
		overflow-y: scroll;
		width: 87px !important;
		padding-right: 17px;*/
		position: relative;
		width: 100%;
		height: 100%;
	}

}

header .global-nav .nav .nav-inner .nav-list {
	opacity: 0;
	transition-delay: .1s;
}

.open header .global-nav .nav .nav-inner .nav-list {
	opacity: 1;
}

header .global-nav .nav .nav-inner .nav-list li {
	-webkit-transform: translateX(10px);
	transform: translateX(10px);
	width: 100%;
	display: block;
	opacity: 0;
}

.open header .global-nav .nav .nav-inner .nav-list li {
	opacity: 1;
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	-o-transform: translateX(0);
	transform: translateX(0);
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

header .global-nav .nav .nav-inner .nav-list.main-list li:first-child {
	-webkit-transition-delay: .4s;
	-moz-transition-delay: .4s;
	-o-transition-delay: .4s;
	transition-delay: .4s;
}

header .global-nav .nav .nav-inner .nav-list.main-list li:nth-child(2) {
	-webkit-transition-delay: .44s;
	-moz-transition-delay: .44s;
	-o-transition-delay: .44s;
	transition-delay: .44s;
}

header .global-nav .nav .nav-inner .nav-list.main-list li:nth-child(3) {
	-webkit-transition-delay: .48s;
	-moz-transition-delay: .48s;
	-o-transition-delay: .48s;
	transition-delay: .48s;
}

header .global-nav .nav .nav-inner .nav-list.main-list li:nth-child(4) {
	-webkit-transition-delay: .52s;
	-moz-transition-delay: .52s;
	-o-transition-delay: .52s;
	transition-delay: .52;
}

header .global-nav .nav .nav-inner .nav-list.main-list li:nth-child(5) {
	-webkit-transition-delay: .54s;
	-moz-transition-delay: .54s;
	-o-transition-delay: .54s;
	transition-delay: .54s;
}

@media screen and (min-width: 800px) {

	header {
		position: fixed;
		background-color: rgba(255,255,255,1);
		width: 70px; 
		padding: 0;
		border-right: 1px solid #e5e5e5;
		opacity: 1;
		left: 0;
		padding: 0;
		z-index: 100;
	}

	header .logo-wrap {
		border-bottom: 1px solid #e5e5e5;
		padding: 45px 0;
	}

	header .header-logo {
		margin: 0 auto;
	}

	header .global-nav,
	header .header-logo  {
		display: block;
	}

	header .global-nav {
		position: static;
		width: 100%;
	}

	header .global-nav .nav {
		position: relative;
		/*overflow-x: hidden;
		overflow-y: hidden;*/
	}

	header .global-nav .nav .nav-inner .nav-list {
		margin-top: 50px;
		opacity: 1;
	}

	header .overlay {
		display: none;
	}

	header .global-nav-wrap {
		opacity: 1;
		position: static;
	}

	header .global-nav .nav .nav-inner {
		padding-top: 0;
	}

	header .global-nav .nav .nav-inner,
	header .global-nav .nav .nav-inner .nav-list li {
		-webkit-transform: none;
		-moz-transform: none;
		-o-transform: none;
		transform: none;
		opacity: 1;
		width: 100%;
	}

}

/* overlay  -------- */

.overlay {
	content: '';
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0);
	z-index: 170;
	-webkit-transition: all 600ms cubic-bezier(.77, 0, .175, 1);
	transition: all 600ms cubic-bezier(.77, 0, .175, 1);
}

.open .overlay {
	visibility: visible;
	cursor: pointer;
	background: rgba(0,0,0,0.4);
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	-o-transform: translateX(0);
	transform: translateX(0);
}

.global-nav .nav-list li .txt-anchor {
	font-size: 1.6rem;
	font-weight: 300;
	line-height: 1;
	padding: 14px 20px 14px 40px;
	text-align: left;
	display: inline-block;
}

.global-nav .nav-list li .txt-anchor span {
	display: inline-block;
	text-align: left;
	position: relative;
	padding-left: 15px;
	text-decoration: none;
	font-size: 1.4rem
}

.global-nav .nav-list li .txt-anchor span:before {
	width: 8px;
	height: 8px;
	top: 0;
	left: 0;
	bottom: 0;
	right: auto;
	margin: auto;
}

@media screen and (min-width: 800px) {

	.global-nav .nav-list li .txt-anchor {
		text-align: center;
		text-decoration: none !important;
		top: 0;
		line-height: 1;
		font-weight: 600;
		font-size: 1.3rem;
		padding: 14px 0;
		width: 100%;
		display: inline-block;
	}

	.global-nav .nav-list li:last-child .txt-anchor {
		padding-bottom: 0;
	}

	.global-nav .nav-list li .txt-anchor span {
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		text-align: center;
		padding: 14px 0 0;
	}

	.global-nav .nav-list li .txt-anchor span:before {
		top: 0;
		right: 0;
		left: 2px;
		bottom: auto;
		margin: 0 auto;
	}

	.global-nav .nav-list li .txt-anchor span:hover {
		color: #16a1a9 !important;
	}

}

/* nav sub-list  -------- */

header .global-nav .nav .nav-inner .nav-list.sub-list {
	margin-top: 30px;
}

header .global-nav .nav .nav-inner .nav-list.sub-list li .txt-anchor {
	padding: 10px 0 10px 20px;
	font-size: 1.1rem;
	font-weight: 400;
}

header .global-nav .nav .nav-inner .nav-list.sub-list li .txt-anchor span:before {
	display: none;
}

header .global-nav .nav .nav-inner .nav-list.sub-list li:first-child {
	-webkit-transition-delay: .58s;
	-moz-transition-delay: .58s;
	-o-transition-delay: .58s;
	transition-delay: .58s;
}

header .global-nav .nav .nav-inner .nav-list.sub-list li:last-child {
	-webkit-transition-delay: .62s;
	-moz-transition-delay: .62s;
	-o-transition-delay: .62s;
	transition-delay: .62s;
}

@media screen and (min-width: 800px) {

	header .global-nav .nav .nav-inner .nav-list.sub-list {
		display: none;
	}

}

/* nav sns-list  -------- */

header .global-nav .nav .nav-inner .nav-list.sns-list {
	margin-top: 40px;
}

header .global-nav .nav .nav-inner .nav-list.sns-list li .txt-anchor {
	padding: 0 0 0 40px;
}

header .global-nav .nav .nav-inner .nav-list.sns-list li .txt-anchor span:before {
	display: none;
}

header .global-nav .nav .nav-inner .nav-list.sns-list li {
	-webkit-transition-delay: .64s;
	-moz-transition-delay: .64s;
	-o-transition-delay: .64s;
	transition-delay: .64s;
}

@media screen and (min-width: 800px) {

	header .global-nav .nav .nav-inner .nav-list.sns-list {
		margin-top: 115px;
	}

	header .global-nav .nav .nav-inner .nav-list.sns-list li .txt-anchor {
		padding: 0 25px;
	}

}

/* svg  -------- */

svg.svg {
	display: none;
}

#svg-facebook,
#svg-button,
#svg-button-next,
#svg-rss,
#svg-list {
	width: 0;
	height: 0;
}

.svg-fb,
.svg-btn,
.svg-rs,
.svg-lst {
	transition: all .2s ease;
}

.svg-fb {
	fill: rgba(0,0,0,0.3);
}

.svg-btn {
	fill: #16a1a9;
	position: absolute;
	top: 0;
	left: 0;
	width: 8px;
	margin: auto;
	bottom: 0;
}

.svg-rs,
.svg-lst {
	fill: rgba(255,255,255,1);
}

a:hover .svg-fb {
	fill: #16a1a9;
}

a:hover .svg-btn,
button:hover .svg-btn {
	-webkit-transform: translateX(5px);
	-moz-transform: translateX(5px);
	-o-transform: translateX(5px);
	transform: translateX(5px);
}

@media screen and (min-width: 768px) {

	.svg-btn {
		width: 11px;
	}

}

/* ===========================================================
	title
=========================================================== */

.contents {
	padding-bottom: 60px;
}

.contents .box-title {
	text-align: center;
	line-height: 1;
	text-transform: uppercase;
	position: relative;
	padding: 0;
}

.pillar .gate-box .box-title {
	color: #000;
	padding: 0 0 30px;
}

.contents .box-title .ja {
	display: block !important;
}

@media screen and (min-width: 600px) {

	.pillar .gate-box .box-title {
		padding-bottom: 35px;
	}

}

@media screen and (min-width: 800px) {

	.pillar .gate-box .box-title {
		padding-bottom: 35px;
	}

	.contents .box-title .ja {
		font-size: 1.4rem;
	}

}

@media screen and (min-width: 1000px) {

	.pillar .gate-box .box-title {
		padding-bottom: 50px;
	}

}

/* ===========================================================
	news
=========================================================== */

#home .news,
.child.gradient-bg .child-contents {
	background-color: #d1eace;
	background: -webkit-linear-gradient(45deg, rgba(26,161,169,0.4), rgba(160,211,127,0.4) 50%);
	background: linear-gradient(45deg, rgba(26,161,169,0.4), rgba(160,211,127,0.4) 50%);
}

.news .news-box {
	margin: 0 auto;
	text-align: center;
	vertical-align: middle;
}

.news .box-title:after {
	width: 64px;
	height: 14px;
}

.news .news-box dd {
	margin: 20px auto 0;
	display: inline-block;
}

.news-box dd .news-txt-wrap {
	font-size: 1.3rem;
	text-align: left;
	text-align: center;
	background-color: #FFF;
}

.news-box dd .news-txt-wrap .br {
	display: inline;
}

.news-title-contents .news-box dd .news-txt-wrap {
	background-color: transparent;
}

.news .news-title-contents p {
	font-size: 1.2rem;
	text-align: justify;
}

.news .news-title-contents {
	height: 100%;
	padding: 18px 15px;
}

.news .news-list,
.child .child-article-list {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
}

.news .news-list-item,
.child .child-article-list-item {
	width:100%;
	margin-bottom: 15px;
	transition: all .3s ease;
}

.news .news-list-item:hover,
.child .child-article-list-item:hover .child-img-wrap {
	box-shadow: 0 8px 13px rgba(0,0,0,0.1);
}

#home .news .news-list-item:first-child:hover {
	box-shadow: none;
}

.news .news-list-item {
	background-color: #FFF;
}

.news .news-list-item a,
.child .child-article-list-item a {
	width: 100%;
}

.news .news-list-item.title-wrap {
	background-color: transparent;
}

.news .contents-inner {
	width: calc(100% - 50px);
}

@media screen and (min-width: 375px) {

	.news .news-list-item,
	.child .child-article-list-item {
		width: calc(50% - 5px);
		margin-bottom: 10px;
	}

}

@media screen and (min-width: 414px) {

	.news .contents-inner {
		width: calc(100% - 80px);
	}

	.news .news-list-item,
	.child .child-article-list-item {
		width: calc(50% - 10px);
		margin-bottom: 20px;
	}

	.news-box dd .news-txt-wrap .br {
		display: inline-block;
	}

	.news .news-title-contents p {
		text-align: center;
	}

}

@media screen and (min-width: 768px) {

	.news .contents-inner {
		width: calc(100% - 140px);
	}

	.news .news-list-item,
	.child .child-article-list-item {
		width: calc((100% / 3) - 10px);
		margin-bottom: 20px;
	}

	.news .news-list:after,
	.child .child-article-list:after {
		content:"";
		display: block;
		width: calc((100% / 3) - 10px);
	}

}

@media screen and (min-width: 1025px) {

	.news .contents-inner {
		width: calc(100% - 180px);
	}

	.news .news-list-item,
	.child .child-article-list-item {
		width: calc((100% / 3) - 20px);
		margin-bottom: 30px;
	}

	.news .news-list:after,
	.child .child-article-list:after {
		content:"";
		display: block;
		width: calc((100% / 3) - 20px);
	}

	.news .news-box {
		display: table-cell;
	}

	.news .news-box dd {
		margin: 40px auto 0;
		text-align: left;
	}

	.news .news-list-item.title-wrap {
		background-color: rgba(255,255,255,0.71);
	}

	.news .news-list-item.title-wrap .news-title-contents .news-txt-wrap {
		text-align: center;
	}

	.news .news-list-item.title-wrap .news-title-contents .news-txt-wrap p {
		font-size: 1.3rem;
	}

	.news-box dd .news-txt-wrap .br {
		display: inline;
	}

	.news .news-title-contents p {
		text-align: justify;
	}

}

@media screen and (min-width: 1281px) {

	.news .news-box dd {
		margin: 60px auto 0;
	}

	.news .news-list-item,
	.child .child-article-list-item {
		width: calc((100% / 3) - 30px);
		margin-bottom: 45px;
	}

	.news .news-list:after,
	.child .child-article-list:after {
		width: calc((100% / 3) - 30px);
	}

}

/* news text  -------- */

.news .news-list-item .txt-wrap .news-title {
	font-size: 1.3rem;
	font-weight: 600;
	color: rgba(0,0,0,1);
	line-height: 1.2;
	margin-bottom: .25em;
}

.news .news-list-item .txt-wrap .date-box {
	margin-bottom: .5em;
}

.news .news-list-item .txt-wrap .date-box .en {
	font-size: 1.2rem;
	font-weight: 300;
	line-height: 1;
	color: rgba(0,0,0,0.8);
}

.news .news-list-item .txt-wrap {
	padding: 15px;
	background-color: #FFF;
}

.news .news-list-item .txt-wrap p {
	line-height: 1.5;
	font-size: 1.1rem;
	text-align: justify;
}

@media screen and (min-width: 1025px) {

	.news .news-list-item .txt-wrap {
		padding: 25px 1.5em;
	}

	.news .news-list-item .txt-wrap .news-title {
		font-size: 1.8rem;
		margin-bottom: 5px;
	}

	.news .news-list-item .txt-wrap .date-box {
		margin-bottom: 15px;
	}

	.news .news-list-item .txt-wrap p {
		font-size: 1.3rem;
	}

}

/* news img  -------- */

.news .news-list-item .img-wrap,
.news .news-list-item .txt-wrap {
	width: 100%;
	display: block;
}


.news .news-list-item .img-wrap,
.child .child-article-list-item .child-img-wrap {
	width: 100%;
	position: relative;
}

.news .news-list-item .img-wrap:before,
.child .child-article-list-item .child-img-wrap:before {
	content:"";
	display: block;
	padding-top: 56%;
}

.news .news-list-item .img-wrap figure,
.child .child-article-list-item .child-img-wrap figure {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	overflow: hidden;
}

.news .news-list-item .img-wrap img,
.child .child-article-list-item .child-img-wrap img {
	object-fit: cover;
	object-position: 50% 0%;
}

/* RSS 一覧へ button  -------- */

.news .circle-btn-list {
	overflow: hidden;
}

.news .circle-btn-list li {
	display: inline-block;
}

.news .circle-btn-list li {
	padding: 2px;
}

.news .circle-btn-list li:last-child {
	margin-right: 0;
}

.news .circle-btn-list li a,
.wp-pagenavi span.current,
.wp-pagenavi a {
	color: #fff;
	font-family: 'Ubuntu', sans-serif;
	font-weight: 500;
	background-color: rgba(26,161,169,1);
	border-radius: 50%;
	width: 35px;
	height: 35px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	        align-items: center;
	-webkit-justify-content: center;
	        justify-content: center;
	box-shadow: 0 -3px 0px rgba(0,0,0,0.2) inset;
}

.news .circle-btn-list li a:hover,
.wp-pagenavi a:hover {
	background-color: rgba(29,186,194,1);
}

.wp-pagenavi span.current {
	color: rgba(26,161,169,.7);
	background-color: rgba(255,255,255,.5);
	box-shadow: 0 2px 0px rgba(0,0,0,.2) inset;
}

.news .circle-btn-list .list span {
	margin-top: -5px;
}

/* news category  -------- */

.news .news-list-item .txt-wrap .cat-box .cat-list {
	display: inline-block;
	margin-bottom: 8px;
}

.news .news-list-item .txt-wrap .cat-box .cat-list li {
	font-size: 0.8rem;
	font-weight: 600;
	text-align: center;
	padding: 3px 5px 3px 1px;
	margin: 0 2px 0 16px;
	position: relative;
	background-color: #53b98d;
	color: #fff;
	display: inline-block;
	line-height: 1;
	height: 16px;
}

.news .news-list-item .txt-wrap .cat-box .cat-list li:after {
	content: "";
	position: absolute;
	left: -11px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 12px;
	height: 16px;
	background-image: url(../images/common/img-cat-bg.png);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: cover;
}

.news .news-list-item .txt-wrap .cat-box .cat-list li:first-child {
	margin-left: 12px;
}

.news .news-list-item .txt-wrap .cat-box {
	line-height: 1;
}

@media screen and (min-width: 600px) {

	.news .news-list-item .txt-wrap .cat-box .cat-list {
		margin-bottom: 12px;
	}

}

@media screen and (min-width: 800px) {

	.news .news-list-item .txt-wrap .cat-box .cat-list li {
		font-size: 1rem;
	}

}

/* ===========================================================
	footer
=========================================================== */

/* logo  -------- */

.footer-logo {
	width: 51px;
	margin: 0 auto 33px;
}

/* footer  -------- */

footer {
	padding: 50px 0;
	text-align: center;
	font-size: 1.3rem;
}

footer .footer-info-wrap .footer-address .footer-company-name {
	font-weight: 600;
	display: block;
	margin: 5px auto 0;
	color: rgba(0,0,0,0.6);
}

footer .footer-nav-wrap .footer-nav li:last-child {
	margin-right: 0;
}

footer .footer-nav-wrap .footer-nav li a {
	line-height: 1.8;
}

footer .footer-nav-wrap .footer-main-nav {
	margin: 35px auto 5px;
}

footer .footer-nav-wrap .footer-main-nav li {
	margin-right: 12px;
	display: block;
	margin: 0 auto 5px;
}

footer .footer-nav-wrap .footer-main-nav li a {
	font-weight: 600;
	font-size: 1.3rem;
	letter-spacing: 0.03rem;
}

footer .footer-nav-wrap .footer-sub-nav li a {
	font-size: 1.1rem;
}

footer .footer-nav-wrap .footer-main-nav li a:hover,
footer .footer-nav-wrap .footer-sub-nav li a:hover {
	color: rgba(0,0,0,1) !important;
}

footer .footer-nav-wrap {
	padding: 0 0 28px;
	position: relative;
	margin: 0 auto 25px;
}

footer .footer-nav-wrap:after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	margin: 0 auto;
	height: 1px;
	width: 34px;
	background-color: rgba(0,0,0,0.1);
}

footer .copyright {
	color: rgba(0,0,0,0.5);
	text-align: center;
	font-size: 1.1rem;
}

footer .material-icons {
	font-size: 18px;
	vertical-align: middle;
}

footer .footer-address a {
	text-decoration: underline;
}

@media screen and (min-width: 600px) {

	.footer-logo {
		width: 65px;
	}

	footer .footer-nav-wrap .footer-nav li {
		display: inline-block;
		margin-bottom: 0;
	}

	footer .footer-nav-wrap .footer-main-nav li {
		margin-right: 20px;
	}

	footer .footer-nav-wrap .footer-sub-nav li {
		padding-right: 12px;
		position: relative;
		margin-right: 6px;
	}

	footer .footer-nav-wrap .footer-sub-nav li:after {
		content: " / ";
		position: absolute;
		top: 50%;
		right: 0;
		margin-top: -10px;
		color: inherit;
		font-size: inherit;
	}
	footer .footer-nav-wrap .footer-sub-nav li:last-child:after {
		display:none;
	}
}

@media screen and (min-width: 800px) {

	footer .footer-info-wrap {
		margin: 0 auto 45px;
	}

	.footer-logo {
		margin: 0 auto 28px;
	}

	footer .footer-nav-wrap .footer-main-nav li {
		margin-right: 30px;
	}

}

/* ===========================================================
	title
=========================================================== */

.contents-title,
.box-title {
	margin: 0 auto;
	text-align: center;
}

.en.en-title {
	font-size: 2.5rem;
	margin-bottom: 8px;
}

.ja {
	font-size: 1.1rem;
}

.br {
	font-size: inherit;
}

span {
	display: block;
}

.contents-title .br {
	display: inline;
}

@media screen and (min-width: 768px) {

	.en.en-title {
		font-size: 3rem;
	}

	.ja {
		font-size: 1.4rem;
	}

	span {
		display: inline-block;
	}

	.br,
	.contents-title .br {
		display: inline-block;
	}

}

@media screen and (min-width: 1025px) {

	.en.en-title {
		margin-bottom: 14px;
	}

	.br {
		display: inline;
	}

	.contents-title .br {
		display: block;
	}

}

@media screen and (min-width: 1000px) {

	.en.en-title {
		font-size: 3.0rem;
	}

}

/* ===========================================================
	wave
=========================================================== */

#home .pillar,
#home .contact-info,
#about .message {
	background-repeat: no-repeat;
	background-size: 230%;
}

#home .contact-info {
	background-image: url(../images/home/img-home-bg-contact-wave.png);
	background-position: left 80%;
}

@media screen and (min-width: 600px) {

	#home .pillar,
	#home .contact-info,
	#about .message {
		background-size: 180%;
	}

}

@media screen and (min-width: 800px) {


	#home .pillar,
	#home .contact-info,
	#about .message {
		background-size: 160%;
	}

}

@media screen and (min-width: 1100px) {

	#home .pillar,
	#home .contact-info,
	#about .message {
		background-size: 100%;
	}

}

/* ======================================================================================================================
	child
====================================================================================================================== */

.child .en.en-title {
	color: #000;
}

.child .contents {
	padding: 40px 0;
}

@media screen and (min-width: 768px) {

	.child .contents {
		padding: 70px 0;
	}

}

@media screen and (min-width: 800px) {

	.child .contents {
		width: calc(100% - 70px);
	}

}

@media screen and (min-width: 1025px) {

	.child .contents {
		padding: 90px 0;
	}

	.child .en.en-title {
		color: #000;
		font-size: 4rem;
	}

}

/* ===========================================================
	child header
=========================================================== */

.consulting.child .child-logo-area {
	background-image: url(../images/consulting/img-child-header.jpg);
}

.training.child .child-logo-area {
	background-image: url(../images/training/img-child-header.jpg);
}

#about.child .child-logo-area {
	background-image: url(../images/about/img-child-header.jpg);
}

/* ===========================================================
	child header
=========================================================== */


.child .child-header {
	width: 100%;
	overflow: hidden;
	text-align: center;
	padding: 0;
}

@media screen and (min-width: 800px) {

	.child .child-header {
		width: calc(100% - 70px);
	}

}

/*  child logo -------- */

.child .child-logo-area {
	margin: 0 auto;
	text-align: center;
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
}

.child .child-logo {
	max-width: 40px;
	padding: 20px 0 55px;
	margin: 0 auto;
}

@media screen and (min-width: 768px) {

	.child .child-logo {
		max-width: 80px;
		padding: 35px 0 75px;
	}

}

@media screen and (min-width: 1025px) {

	.child .child-logo {
		padding: 35px 0 90px;
	}

}


/*  category -------- */

.child .child-category {
	background-color: #FFF;
	margin: -40px auto 50px;
	padding: 25px 40px 40px;
	text-align: center;
	position: relative;
	width: auto;
	display: inline-block;
}

.child .child-category:after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	margin: 0 auto;
	width: 90px;
	height: 1px;
	background-color: rgba(0,0,0,0.2);
}

.child .child-title {
	text-align: center;
	padding: 0;
}

.child .child-title .contents-title h2 {
	border-top: 1px solid rgba(0,0,0,0.2);
	border-bottom: 1px dashed  rgba(0,0,0,0.3);
	padding: 30px 0;
	margin: 0 auto 25px;
	line-height: 1.2;
	font-weight: 300;
	color: #000;
}

.child .color {
	background-color: rgba(21,160,168,0.1);
}

.child .contents h3 {
	color: #15a0a8;
	text-align: left;
	line-height: 1.5;
	margin-bottom: 30px;
	font-size: 1.6rem;
}

.child-logo-area {
	width: 100%;
}

.child main p {
	color: rgba(0,0,0,0.7);
	text-align: left;
}

@media screen and (min-width: 375px) {

	.child .child-category {
		padding: 30px 55px 45px
	}

}

@media screen and (min-width: 768px) {

	.child .child-category {
		margin: -50px auto 75px;
		padding: 35px 75px 50px;
	}

	.child .child-title .contents-title h2 {
		padding: 50px 0;
	}

	.child .contents h3 {
		margin-bottom: 40px;
		font-size: 2.0rem;
	}

}

@media screen and (min-width: 1025px) {

	.child .child-category {
		margin: -60px auto 75px;
		padding: 50px 85px 75px;
	}

	.child .child-title .contents-title h2 {
		padding: 65px 0;
		margin: 0 auto 50px;
	}

	.child .contents-title p {
		font-size: 1.5rem
	}

	.child .contents h3 {
		font-size: 2.5rem;
	}

}

/* ===========================================================
	child title
=========================================================== */

.child .contents-title h2 {
		font-size: 1.6rem;
}

@media screen and (min-width: 414px) {

	.child .contents-title h2 {
		font-size: 2rem;
	}

}

@media screen and (min-width: 768px) {

	.child .contents-title h2 {
		font-size: 3rem;
	}

}

@media screen and (min-width: 1025px) {

	.child .contents-title h2 {
		font-size: 4rem;
	}

}

/* ===========================================================
	child child-btn-wrap
=========================================================== */

.child-btn-wrap {
	text-align: center;
	padding: 0 !important;
}

.child-btn-wrap .contents-inner {
	border-top: 1px solid rgba(0,0,0,0.2);	
	padding-top: 30px;
}

.child .btn-list {
	margin: 0 auto;
	text-align: center;
}

@media screen and (min-width: 375px) {

	.child .contents.child-btn-wrap .contents-inner {
		padding-top: 40px;
	}

}

@media screen and (min-width: 768px) {

	.child .contents.child-btn-wrap .contents-inner {
		padding-top: 60px;
	}

}

.child table {
	border-collapse: separate;
}

.contents.child-contents .contents-inner a.sp-anchor {
	text-decoration: none !important;
	color: rgba(0,0,0,0.7) !important;
	padding: 0 0 0 3px;
	font-size: inherit;
}

a.sp-anchor:hover {
	color: rgba(0,0,0,0.7) !important;
}

@media screen and (min-width: 800px) {

	a.sp-anchor {
		pointer-events: none !important;
	}

}

/* ===========================================================
	child left title
=========================================================== */

.child.left-title .title-wrap {
	display: inline-block;
}

.child.left-title .contents .box-title {
	text-align: left;
	display: inline-block;
}

.left-title .contents {
	padding: 60px 0;
}

.left-title .contents.news-header {
	padding: 30px 0;
}

@media screen and (min-width: 768px) {

	.left-title .contents {
		padding: 100px 0;
	}

	.left-title .contents.news-header {
		padding: 70px 0;
	}

}

@media screen and (min-width: 1025px) {

	.left-title .contents {
		padding: 120px 0;
	}

	.left-title .contents.news-header {
		padding: 90px 0;
	}

}

/*  left-title wave -------- */

.left-title .contents.child-contents {
	position: relative;
}

.left-title .contents.child-contents:before {
	content: "";
	position: absolute;
	top: -77px;
	right: 0;
	width: 660px;
	height: 155px;
	background-image: url(../images/common/img-child-wave.png);
	background-repeat: no-repeat;
	background-size: 50%;
	background-position: 120% center;
}

@media screen and (min-width: 768px) {

	.left-title .contents.child-contents:before {
		background-size: 80%;
	}

}

@media screen and (min-width: 1025px) {

	.left-title .contents.child-contents:before {
		background-size: 90%;
	}

}

/* ===========================================================
	child txt-only
=========================================================== */

.child.gradient-bg .child-contents .txt-only {
	margin: 0 auto 30px;
}

.child.gradient-bg .child-contents .txt-only:last-child {
	margin-bottom: 0 !important;
}

.child.gradient-bg .child-contents .txt-only ul {
	margin-top: 15px;
}

.child.gradient-bg .child-contents .txt-only li {
	margin-left: 15px;
	list-style: disc;
}

.child.gradient-bg .child-contents .txt-only h3 {
	font-size: 1.6rem;
	font-weight: 600;
	color: rgba(0,0,0,0.7);
	margin-bottom: 25px;
}

.child.gradient-bg .child-contents .txt-only p {
	margin-bottom: 0 !important
}

@media screen and (min-width: 768px) {

	.child.gradient-bg .child-contents .txt-only {
		margin: 0 auto 50px;
	}

	.child.gradient-bg .child-contents .txt-only h3 {
		font-size: 1.8rem;
		margin-bottom: 30px;
	}

}

.pdf-link:before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	background: url(../images/common/img-icn-pdf.png) no-repeat center center;
	background-size: 100%;
	vertical-align: middle;
	margin-right: 5px;
}

















