@charset "UTF-8";
*:focus {outline:none;}
html{overflow:auto; height:100%; color:#000;}
html {font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td,figure,figcaption{margin:0;padding:0}
table{border-collapse:collapse;border-spacing:0}
fieldset,img{border:0}
caption,th{text-align:left}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}
abbr,acronym{border:0;font-variant:normal}
article,aside,details,figcaption,figure,footer,header,hgroup,nav,section {display:block}
img {vertical-align:middle;}
li{list-style:none;}
main {display:block;/* for IE */}
input,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}
input,textarea{font-size:100%}
input,button,textarea {font-size: 100%;font-family: inherit;color: inherit;}
input[type="checkbox"],input[type="radio"] {box-sizing: border-box;padding: 0;}
input[type="button"],input[type="submit"] {border-radius: 0;-webkit-appearance: none;}
textarea {overflow: auto;vertical-align: top;}
li {list-style: none;}
#form [type="text"],#form [type="tel"],#form [type="email"],textarea,button {border: none;box-sizing: border-box;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;-webkit-appearance: none;max-width: 100%;border-radius: 0;}
/*==================================================
Body_Bace
==================================================*/
body {
	position: relative;
	width: 100%;
	color: #211713;
	font-size: 15px;
	line-height: 100%;
	background: #fff;
	font-family: YuGothic, Yu Gothic, "游ゴシック体", "游ゴシック", "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Osaka, Arial, Helvetica, Verdana, sans-serif;
	word-wrap: break-word;
	min-height: 100%;
	height: auto;
	overflow: hidden;
}
/*------ link ------*/
a { color: #333; text-decoration: none;}
a:hover { opacity: .7; transition: all .3s;}
/*------ common ------*/
p {
	line-height: 170%;
}
.viewSp {
	display: none;
}
	@media screen and (max-width: 480px) {
		body {
			font-size: 13px;
		}
		.viewSp {
			display: block;
		}		
	}

/*=================================================
parts
==================================================*/	
.bnr-wrap {
	width: 90%;
	margin: 0 auto 100px;
}
.bnr-wrap figure {
	max-width: 640px;
	width: 100%;
	margin: 0 auto 26px;
}
.bnr-wrap figure img {
	max-width: 100%
}
.bnr-wrap figure + .btn-base {
	max-width: 357px;
	width: 90%;
}
#member + .bnr-wrap {
	margin-bottom: 140px;
}
@media screen and (max-width: 960px) {
	.bnr-wrap {
		margin-bottom: 50px;
	}
	#member + .bnr-wrap {
		margin-bottom: 60px;
	}
}


/*=================================================
#header
==================================================*/
#header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding: 27px 60px 15px;
	box-sizing: border-box;
	z-index: 9999;
}
#header.fixed {
	position: fixed;
	padding: 6px 60px;
	background: #fff;
}
#header .header {
	position: relative;
	overflow: hidden;
}
#header .header .logo {
	float: left;
}
#header .form-header .logo {
	float: none;
	text-align: center;
}
#header .header.center {
	text-align: center;
}
#header .header.center .logo {
	float: none;
}
#header .header .gnav {
	float: right;
	padding: 40px 175px 11px 0;
}
#header .header .gnav ul {
	overflow: hidden;
}
#header .header .gnav li {
	display: inline-block;
	padding: 0 10px;
}
#header .header .gnav li a {
	color: #1f2c5c;
	font-size: 14px;
	font-weight: 700;
}
#header .header .btn-contact {
	display: block;
	position: absolute;
	top: 30px;
	right: 0;
	width: 156px;
	color: #1f2c5c;
	font-size: 14px;
	font-weight: 700;
	background: #fff url(../img/icn_contact.png) no-repeat 10% 50%;
	text-align: center;
	border-radius: 25px;
	padding: 11px 0;
}
#header .header .btn-contact span {
	display: inline-block;
	padding-left: 10px;
}
#header .header .form-search {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: absolute;
	top: 30px;
	right: 256px;
	width: 156px;
	height: 37px;
	color: #1f2c5c;
	font-size: 14px;
	font-weight: 700;
	background: #fff;
	text-align: center;
	border-radius: 25px;
	padding: 11px 10px;
	box-sizing: border-box;
}
#header .header .form-search input {
	border: none;
}
#header .header .form-search .btn {
	width: 20px;
	height: 16px;
	background: url(../img/icn_search.svg) no-repeat 50% 50% / contain;
}
#header .header .form-search .text {
	width: 100px;
}
#header .header .form-search .text::placeholder {
	color: #1F2C5C;
}
	@media screen and (max-width: 1100px) {
		#header {
			padding: 13px 2.5%;
		}
		#header.fixed {
			padding: 6px 2.5%;
		}
		#header .header .gnav {
			padding: 40px 168px 11px 0;
		}
		#header .header .gnav li {
			padding: 0 7px;
		}
	}
	@media screen and (max-width: 960px) {
		#header {
			position: absolute!important;
		}
		#header .header .gnav,
		#header .header .btn-contact,
		#header .header .form-search {
			display: none;
		}
		#header,
		#header.fixed {
			background: none;
			padding: 6px 2.5%;
		}
		#header .header .logo {
			float: none;
		}
		#header .header .logo img {
			max-width: 200px;
			width: 30%;
		}
	}


/* add -btn-lang */
#header .header .gnav {
	padding-right: 436px;
}
#header .header .btn-contact {
	right: 95px;
}
#header .header .btn-lang {
		display: block;
		position: absolute;
		top: 30px;
		right: 0;
		width: 90px;
		color: #fff;
		font-size: 14px;
		background: #1f2c5c;
		text-align: center;
		border-radius: 25px;
		padding: 11px 0;
}
	@media screen and (max-width: 1000px) {
		#header {
			padding-left: 20px;
			padding-right: 20px;
		}
		#header .header .gnav {
			padding-right: 235px;
		}
		#header .header .btn-contact {
			width: 130px;
		}
	}
	@media screen and (max-width: 960px) {
		#header .header .btn-lang {
			display: none;
		}
	}

/* #menu */
.fat-nav .btn-lang {
		display: block;
		width: 100%;
		color: #fff;
		font-size: 16px;
		background: #1f2c5c;
		text-align: center;
		border-radius: 25px;
		padding: 18px 0;
		margin: 10px 0 0;
}

/*=================================================
#main
==================================================*/
/* common
---------------------------------------------- */
#main {
	position: relative;
}
.blog #main::after {
	position: absolute;
	content: "";
	background: #f2faf9;
	top: -69%;
	right: 0;
	width: 50%;
	height: 200%;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
.main {
	position: relative;
	z-index: 1;
}
.main h2.ttl {
	color: #00b1cf;
	font-family: "Shin Go Medium";
	font-size: 34px;
	font-weight: 700;
	line-height: 100%;
	text-align: center;
	max-width: 1000px;
	width: 90%;
	margin: 0 auto;
}
.main .readtxt {
	color: #1f2c5c;
	font-size: 30px;
	font-weight: 700;
	line-height: 140%;
	text-align: center;
	padding: 10px 0 0;
	max-width: 1000px;
	width: 90%;
	margin: 0 auto;
}
.main .txt {
	max-width: 890px;
	width: 90%;
	margin: 0 auto;
}
.btn-base {
	display: block;
	max-width: 497px;
	margin: 0 auto 20px;
	text-align: center;
	color: #fff;
	font-size: 20px;
	padding: 20px 0;
	background: #1f2c5c url(../img/icn_arrow.png) no-repeat 95% 50%;
	border-radius: 30px;
}
	@media screen and (max-width: 960px) {
		#main::after {
			display: none;
		}
		.main h2.ttl {
			font-size: 28px;
		}
		.main .readtxt {
			font-size: 22px;
		}
		.btn-base {
			font-size: 16px;
		}
	}
	@media screen and (max-width: 480px) {
		.main h2.ttl {
			font-size: 5.8vw;
		}
		.main .readtxt {
			font-size: 4.58vw;
			padding: 2% 0 0;
		}
		.btn-base {
			font-size: 4vw;
			padding: 6% 0;
			margin: 0 auto 5%;
		}
	}
/* #kv
---------------------------------------------- */
#kv {
	position: relative;
	margin: 0 0 145px;
}
#kv::before {
	position: absolute;
	content: "";
	top: 50%;
	right: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 50vw 46vw 0;
	border-color: transparent #cceff5 transparent transparent;
}
#kv .inner {
	position: relative;
	padding: 0 0 200px;
	z-index: 1;
}
#kv figure,
#kv figure img {
	width: 100%;
}
#kv h1 {
	position: absolute;
	top: 16%;
	left: 50%;
	width: 35%;
	-webkit-transform: translate(-50%,0);
	-ms-transform: translate(-50%,0);
	transform: translate(-50%,0);
}
#kv h1 img {
	width: 100%;
}
#kv .ttl_wrap {
	position: absolute;
	bottom: 0;
	left: 50%;
	max-width: 1000px;
	width: 90%;
	margin: 0 auto;
	transform: translate(-50%,0);
}
#kv .ttl_wrap h2 {
	color: #1f2c5b;
	font-size: 50px;
	font-weight: 700;
	line-height: 120%;
	padding: 0 0 20px;
}
#kv .ttl_wrap h2 span {
	display: block;
	font-size: 30px;
}
#kv .ttl_wrap h3 {
	margin: 0 0 30px;
	font-size: 30px;
	line-height: calc(37 / 30);
	color: #00B1CF;
	font-weight: 700;
}
#kv .ttl_wrap p {
	color: #1f2c5b;
	font-size: 20px;
	line-height: 150%;
	font-weight: 700;
}
	@media screen and (max-width: 1400px) {
		#kv {
			margin: 0 0 calc(145 / 1400 * 100vw);
		}
		#kv .inner {
			padding: 0 0 calc(200 / 1400 * 100vw);
		}
		#kv .ttl_wrap h2 {
			font-size: calc(50 / 1400 * 100vw);
		}
		#kv .ttl_wrap h2 span {
			font-size: calc(30 / 1400 * 100vw);
		}
		#kv .ttl_wrap h3 {
			margin: 0 0 calc(30 / 1400 * 100vw);
			font-size: calc(30 / 1400 * 100vw);
		}
		#kv .ttl_wrap p {
			font-size: calc(20 / 1400 * 100vw);
		}
	}
	/* @media screen and (max-width: 960px) {
		#kv::after {
			padding: 515px 0 0;
		}
		#kv .ttl_wrap h2 {
			font-size: 42px;
		}
		#kv .ttl_wrap h2 span {
			font-size: 26px;
		}
		#kv .ttl_wrap p {
			font-size: 18px;
		}
	} */
	@media screen and (max-width: 768px) {
		#kv {
			margin: 0 0 calc(100 / 768 * 100vw);
		}
		#kv .inner {
			padding: 0 0 calc(500 / 768 * 100vw);
		}
		#kv .viewPc {
			display: none;
		}
		#kv .viewSp {
			display: block;
		}
		#kv h1 {
			width: 57%;
		}
		/* #kv .ttl_wrap{
			bottom: -7%;
		}*/
		#kv .ttl_wrap h2 {
			font-size: 8vw;
			padding: 0 0 6.5%;
		}
		#kv .ttl_wrap h2 span {
			font-size: 4.6vw;
		}
		#kv .ttl_wrap h3 {
			font-size: 4.1vw;
		}
		#kv .ttl_wrap p {
			font-size: 4vw;
			text-align: center;
		}
	}
/* #about
---------------------------------------------- */
#about {
	padding: 0 0 150px;
}
#about h3 {
	color: #1f2c5c;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	padding: 27px 0 50px;
}
#about h3 span {
	position: relative;
	display: inline-block;
	padding: 0 30px;
	background: #fff;
}
/* #about h3 span::before {
	position: absolute;
	content: "";
	background: #1f2c5c;
	top: 50%;
	right: 100%;
	width: 154px;
	height: 1px;
	-webkit-transform: translate(0,-50%);
	-ms-transform: translate(0,-50%);
	transform: translate(0,-50%);
}
#about h3 span::after {
	position: absolute;
	content: "";
	background: #1f2c5c;
	top: 50%;
	left: 100%;
	width: 154px;
	height: 1px;
	-webkit-transform: translate(0,-50%);
	-ms-transform: translate(0,-50%);
	transform: translate(0,-50%);
} */
#about .txt {
	text-align: center;
}
#about .image {
	max-width: 1080px;
	width: 95%;
	margin: 35px auto 0;
}
#about .image img {
	width: 100%;
}
#about .graph-wrap {
	display: table;
	background: url(../img/logo_bg.png) no-repeat 50% 50% / 431px auto;
	padding: 0 0 80px;
	max-width: 1000px;
	width: 90%;
	margin: 0 auto;
}
#about .graph-wrap .txt-wrap {
	display: table-cell;
	vertical-align: middle;
}
#about .graph-wrap .txt-wrap sup {
	font-size: 0.5em;
}
#about .graph-wrap .txt-wrap ul {
	padding: 16px 0 0;
}
#about .graph-wrap .txt-wrap li {
	font-size: 13px;
	line-height: 140%;
	padding: 3px 0;
}
#about .graph-wrap .graph {
	display: table-cell;
	width: 380px;
	vertical-align: middle;
	text-align: center;
}
#about .graph-wrap .graph svg {
	width: 380px;
	height: 380px;
}
#about .graph-wrap figure {
	display: none;
	text-align: center;
	padding-left: 50px;
}
#about .graph-wrap figure img {
	width: auto;
	max-width: 300px;
}
#about .cont-ordermade {
	max-width: 1000px;
	width: 90%;
	margin: 0 auto;
}
#about .cont-ordermade h3 {
	padding: 0 0 60px;
	font-size: 26px;
	line-height: calc(39 / 26);
	color: #00B1CF;
}
#about .cont-ordermade .sp-w768 {
	display: none;
}
#about .cont-ordermade .img {
	max-width: 890px;
	width: 100%;
	margin: 0 auto;
}
#about .cont-ordermade .img img {
	width: 100%;
}
_:-ms-fullscreen, :root  #about .graph-wrap .graph {
	display: none;
}
_:-ms-fullscreen, :root  #about .graph-wrap figure {
	display: block;
}
	@media screen and (max-width: 960px) {
		#about h3 {
			font-size: 18px;
		}
		#about h3 span::before,
		#about h3 span::after {
			width: 94px;
		}
		#about .image {
			margin: 35px auto 5%;
		}
		#about .graph-wrap .txt-wrap {
			display: block;
		}
		#about .graph-wrap .graph {
			display: block;
			margin: 0 auto;
			width: 100%;
		}
		#about .graph-wrap figure {
			padding: 5% 0 0;
		}
	}
	@media screen and (max-width: 768px) {
		#about .image {
			 overflow: auto;
			 white-space: nowrap;
			 width: 90%;
		 }
		 #about .image::-webkit-scrollbar {
			height: 8px;
		 }
		 #about .image::-webkit-scrollbar-track {
			background: #F1F1F1;
		 }
		 #about .image::-webkit-scrollbar-thumb {
			background: #959595;
			border-radius: 6px;
			 -webkit-border-radius: 6px;
			 -moz-border-radius: 6px;
		 }
		 #about .image figure {
			 min-width: 680px;
			 padding: 0 0 20px;
		 }
		 #about .cont-ordermade .sp-w768 {
		display: block;
	}
	}
	@media screen and (max-width: 480px) {
		#about {
			padding: 0 0 26%;
		}
		#about h3 {
			font-size: 3.75vw;
			padding: 6% 0 10%;
		}
		#about h3 span {
			padding: 0 5%;
		}
		#about h3 span::before,
		#about h3 span::after {
			width: 30%;
		}
		#about .image {
			margin: 11% auto 5%;
		}
		#about .graph-wrap .txt-wrap li {
			font-size: 12px;
		}
		#about .graph-wrap {
			padding: 10% 0 0;
			background-size: 100% auto;
		}
		#about .graph-wrap .graph svg {
			width: 300px;
			height: 300px;
		}
		#about .cont-ordermade h3 {
			padding: 0 0 calc(60 / 480 * 100vw);
			font-size: calc(26 / 480 * 100vw);
		}
	}
/* #service
---------------------------------------------- */
#service {
	padding: 0 0 100px;
}
#service .txt {
	padding: 60px 0;
}
#service .cont-wrap .cont {
	position: relative;
	padding: 42% 0 0;
	margin: 0 0 50px;
}
#service .cont-wrap .txt-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 53.8%;
	height: 100%;
	color: #fff;
	overflow: hidden;
	background: #00a194;
	background: -moz-linear-gradient(left, #00a194 0%, #00b1cf 100%);
	background: -webkit-linear-gradient(left, #00a194 0%,#00b1cf 100%);
	background: linear-gradient(to right, #00a194 0%,#00b1cf 100%);
}
#service .cont-wrap .txt-wrap::after {
	position: absolute;
	content: "";
	background: rgba(255,255,255,0.1);
	top: -100%;
	right: 0;
	width: 50%;
	height: 200%;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#service .cont-wrap .txt-wrap .txt-inner {
	position: absolute;
	top: 50%;
	left: 50%;
	max-width: 450px;
	width: 80%;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	z-index: 1;
}
#service .cont-wrap .image {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 50%;
	-webkit-transform: translate(0,-50%);
	-ms-transform: translate(0,-50%);
	transform: translate(0,-50%);
	z-index: 5;
}
#service .cont-wrap .image img {
	width: 100%;
}
#service .cont-wrap h3 {
	position: relative;
	font-size: 24px;
	line-height: 100%;
	margin: 0 0 15px;
}
#service .cont-wrap h3 span {
	display: block;
	font-size: 18px;
}
#service .cont-wrap .period {
	position: relative;
	padding: 0 0 20px;
	margin: 0 0 20px;
}
#service .cont-wrap .period::after {
	position: absolute;
	content: "";
	background: #fff;
	bottom: 0;
	left: 0;
	width: 50px;
	height: 1px;
}
#service .cont-wrap .period + p {
	margin: 0 0 40px;
}
#service .cont-wrap h4 {
	margin: 0 0 20px;
	font-size: 18px;
	font-weight: 700;
}
#service .cont-wrap .number {
	position: absolute;
	top: -3%;
	left: -3%;
	font-family: Arial;
	font-size: 20vw;
	font-weight: 700;
	line-height: 80%;
	opacity: 0.2;
}
#service .cont-wrap p {
	padding: 20px 0 0;
}
#service .cont-wrap li {
	margin: 10px 0 0 1em;
	line-height: 140%;
	list-style: disc;
}
#service .cont-wrap .btn-base {
	margin: 40px auto 0;
	position: relative;
	z-index: 1;
}
#service .cont-wrap .cont:nth-child(even) .txt-wrap {
	left: auto;
	right: 0;
	background: -moz-linear-gradient(right, #00a194 0%, #00b1cf 100%);
	background: -webkit-linear-gradient(right, #00a194 0%,#00b1cf 100%);
	background: linear-gradient(to left, #00a194 0%,#00b1cf 100%);
}
#service .cont-wrap .cont:nth-child(even) .image {
	left: auto;
	right: 50%;
}
#service .cont-wrap .cont:nth-child(even) .number {
	left: auto;
	right: -3%;
}
#service .cont-wrap .cont:first-child .txt-wrap::after  {
	top: 0;
	right: auto;
	left: 0;
}
	@media screen and (max-width: 1100px) {
		#service .cont-wrap .btn-base {
			margin-top: 25px;
		}		
	}
	@media screen and (max-width: 960px) {
		#service .cont-wrap .cont {
			padding: 0;
			margin: 0;
		}
		#service .cont-wrap .txt-wrap {
			position: static;
			width: 100%;
			text-align: center;
			padding: 100px 0;
		}
		#service .cont-wrap .txt-wrap::after,
		#service .cont-wrap .cont:first-child .txt-wrap::after {
			top: -50%;
			left: auto;
			right: 0;
		}
		#service .cont-wrap .txt-wrap .txt-inner {
			display: inline-block;
			position: static;
			max-width: 80%;
			width: auto;
			margin: 0 auto;
			text-align: left;
			-webkit-transform: none;
			-ms-transform: none;
			transform: none;
		}
		#service .cont-wrap .number {
			top: 0;
			font-size: 26vw;
		}
		#service .cont-wrap h3 {
			font-size: 20px;
		}
		#service .cont-wrap .image {
			position: relative;
			transform: none;
			width: 100%;
			left: auto;
			right: auto!important;
		}
	}
	@media screen and (max-width: 480px) {
		#service {
			padding: 0 0 26%;
		}
		#service .txt {
			padding: 10% 0 14%;
		}
		#service .cont-wrap .txt-wrap {
			padding: 20% 0;
		}
		#service .cont-wrap h3 {
			font-size: 5vw;
			padding: 0 0 6%;
			margin: 0 0 6%;
		}
		#service .cont-wrap h3 span {
			font-size: calc(18 / 480 * 100vw);
		}
		#service .cont-wrap li {
			font-size: 13px;
		}
	}
/* #flow
---------------------------------------------- */
#flow {
	padding: 0 0 125px;
}
#flow .inner {
	max-width: 880px;
	width: 90%;
	margin: 0 auto;
}
#flow ol {
	position: relative;
	overflow: hidden;
	margin: 50px auto 45px;
}
#flow ol::before {
	position: absolute;
	content: "";
	background: url(../img/dot.png) repeat-x 0 0;
	top: 40px;
	left: 0;
	width: 100%;
	height: 9px;
}
#flow ol li {
	float: left;
	width: calc(100% / 4);
	text-align: center;
	color: #1f2c5c;
	position: relative;
	z-index: 1;
}
#flow ol li::after {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	background: #fff;
}
#flow ol li:first-child::after {
	width: 50%;
}
#flow ol li:last-child::after {
	left: auto;
	right: 0;
	width: 50%;
}
#flow ol li figure {
	position: relative;
	z-index: 1;
	transition: .5s;
	-webkit-transform: rotateY(0deg);
	-ms-transform: rotateY(0deg);
	transform: rotateY(0deg);
	opacity: 0;
}
#flow ol li figure.init {
	-webkit-transform: rotateY(360deg);
	-ms-transform: rotateY(360deg);
	transform: rotateY(360deg);
	opacity: 1;
}
#flow ol li h3 {
	font-size: 18px;
	font-weight: 700;
	line-height: 120%;
	padding: 14px 0 7px;
	position: relative;
	z-index: 1;
}
#flow ol li p {
	font-size: 14px;
	line-height: 140%;
	padding: 0 3px;
	position: relative;
	z-index: 1;
}
#flow .txt-cost {
	color: #1f2c5c;
	font-size: 20px;
	text-align: center;
}
	@media screen and (max-width: 960px) {
		#flow ol li h3 {
			font-size: 16px;
		}
		#flow .txt-cost {
			font-size: 16px;
		}
	}
	@media screen and (max-width: 480px) {
		#flow {
			padding: 0 0 28%;
		}
		#flow ol {
			margin: 15% auto 10%;
		}
		#flow ol::after {
			position: absolute;
			content: "";
			background: url(../img/dot.png) repeat-x 0 0;
			bottom: 30%;
			left: 0;
			width: 100%;
			height: 9px;
		}		
		#flow ol li {
			width: calc(100% / 2);
			padding: 0 0 10px;
			padding: 0 0 5%;
		}
		#flow ol li:nth-child(odd)::after {
			width: 50%;
		}
		#flow ol li:nth-child(even)::after {
			left: auto;
			right: 0;
			width: 50%;
		}
		#flow ol li h3 {
			font-size: 4vw;
			padding: 5% 0 2%;
		}
		#flow ol li p {
			font-size: 3.4vw;
			padding: 0 1%;
		}
		#flow .txt-cost {
			font-size: 4vw;
		}
	}
/* #voice
---------------------------------------------- */
#voice {
	padding: 110px 0 150px;
	background: #f0fafc;
	background: -moz-linear-gradient(-45deg, #f0fafc 0%, #e9f8fa 36%, #f6ebfd 77%, #c2e4e2 100%);
	background: -webkit-linear-gradient(-45deg, #f0fafc 0%,#e9f8fa 36%,#f6ebfd 77%,#c2e4e2 100%);
	background: linear-gradient(135deg, #f0fafc 0%,#e9f8fa 36%,#f6ebfd 77%,#c2e4e2 100%);
}
#voice .inner {
	max-width: 1200px;
	width: 90%;
	margin: 0 auto;
}
#voice h2 {
	color: #1f2c5c;
}
#voice ul {
	overflow: hidden;
	padding: 43px 0 0;
}
#voice ul li {
	float: left;
	width: calc(100% / 3.1);
	margin: 0 1.6% 1.6% 0;
	padding: 10px;
	box-sizing: border-box;
	background: #fff;
}
#voice ul li a {
	display: block;
}
#voice ul li img {
	width: 100%;
}
#voice li h3 {
	font-size: 18px;
	font-weight: 700;
	line-height: 140%;
	padding: 15px 0 10px;
}
#voice li .txt-detail {
	position: relative;
	text-align: right;
	padding: 25px 25px 5px 0;
}
#voice li .txt-detail::after {
	position: absolute;
	content: "";
	bottom: 0;
	right: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 25px 25px;
	border-color: transparent transparent #00b1cf transparent;
}
#voice li p a {
	color: #1f2c5c;
	text-decoration: underline;
}
	@media (min-width:961px) and (max-width:9999px) {
		#voice ul li:nth-child(3n) {
			margin-right: 0;
		}
	}
	@media screen and (max-width: 960px) {
		#voice {
			padding: 10% 0 11%;
		}
		#voice ul li {
			width: calc(100% / 2.05);
			margin: 0 2.4% 2.4% 0;
		}
		#voice ul li:nth-child(2n) {
			margin-right: 0;
		}
		#voice li h3 {
			font-size: 16px;
			padding: 15px 0 5px;
		}
	}
	@media screen and (max-width: 640px) {
		#voice {
			padding: 70px 0;
		}
		#voice ul {
			padding: 20px 0 0;
		}
		#voice ul li {
			float: none;
			width: 100%;
			margin: 4% 0;
		}
	}
	@media screen and (max-width: 480px) {
		#voice {
			padding: 15% 0;
		}
		#voice ul {
			padding: 5% 0 0;
		}
		#voice li h3 {
			padding: 5% 0 2%;
			font-size: 14px;
		}
		#voice li .txt-detail {
			font-size: 12px;
		}
	}
/* #profile
---------------------------------------------- */
#profile {
	padding: 80px 0 110px;
}
#profile .cont-wrap {
	position: relative;
	display: flex;
	justify-content: flex-end;
	padding: 40px 0;
}
#profile .cont-wrap .txt-wrap {
	width: 56%;
	min-width: 600px;
	background: #eceef7;
	background: -moz-linear-gradient(left, #eceef7 0%, #fafafd 100%);
	background: -webkit-linear-gradient(left, #eceef7 0%,#fafafd 100%);
	background: linear-gradient(to right, #eceef7 0%,#fafafd 100%);
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 5% 0;
}
#profile .cont-wrap .txt-wrap .txt-inner {
	max-width: 586px;
	width: 80%;
}
#profile .cont-wrap h2 {
	font-size: 20px;	
}
#profile .cont-wrap h2 span {
	display: inline-block;
	font-size: 13px;
	padding-left: 7px;
}
#profile .cont-wrap .txt-position {
	font-size: 13px;
	padding: 7px 0 22px;
}
#profile .cont-wrap p em {
	font-weight: 700;
	font-style: normal;
}
#profile .cont-wrap .btn-wrap {
	margin-top: 30px;
	text-align: center;
}
#profile .cont-wrap .btn-wrap .btn-base {
	margin: 0 auto;
	background-color: #fff;
	color: #1f2c5c;
	border: 1px solid #1f2c5c;
	padding: 10px 20px;
	padding-right: 50px;
	max-width: unset;
	display: inline-block;
	text-align: left;
	font-size: unset;
}
#profile .cont-wrap .btn-wrap .btn-base br {
	display: none;
}
#profile .cont-wrap .btn-wrap .btn-base:hover {
	background-color: #1f2c5c;
	color: #fff;
}
#profile .txt-profile {
	display: table;
	border-top: 1px solid #ccc;
	padding: 25px 0 0;
	margin: 15px 0 0;
}
#profile .txt-profile p {
	display: table-cell;
	width: 62%;
	padding-right: 5%;
	vertical-align: middle;
}
#profile .txt-profile a {
	color: #1f2c5c;
	text-decoration: underline;
}
#profile .txt-profile figure {
	display: table-cell;
	vertical-align: middle;
}
#profile .txt-profile figure img {
	width: 100%;
}
#profile .cont-wrap .image {
	position: absolute;
	top: 0;
	left: 0;
	width: 63%;
	height: 100%;
	overflow: hidden;
}
#profile .cont-wrap .image img {
	position: absolute;
	transform: translate(-50%, -50%);
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
	@media screen and (max-width: 960px) {
		#profile .cont-wrap {
			display: block;
			padding: 0;
			margin: 0;
		}
		#profile .cont-wrap .txt-wrap {
			position: static;
			width: 100%;
			padding: 100px 0;
			min-width: auto;
		}
		#profile .cont-wrap .txt-wrap .txt-inner {
			position: static;
			max-width: 560px;
			width: 84%;
			margin: 0 auto;
			-webkit-transform: none;
			-ms-transform: none;
			transform: none;
		}
		#profile .cont-wrap .image {
			position: static;
			transform: none;
			width: 100%;
			height: auto;
		}
		#profile .cont-wrap .image img {
			position: static;
			transform: translate(0,0);
		}
	}
	@media screen and (max-width: 480px) {
		#profile {
			padding: 20% 0;
		}
		#profile .cont-wrap .txt-wrap {
			padding: 20% 0;
		}
		#profile .txt-profile p {
			display: block;
			padding: 0;
			width: 100%;
		}
		#profile .txt-profile figure {
			display: block;
			max-width: 246px;
			margin: 20px auto 0;
		}
		#profile .cont-wrap .btn-wrap .btn-base br {
			display: block;
		}
	}
/* #member
---------------------------------------------- */
#member {
	padding: 0 0 140px;
}
#member .inner {
	max-width: 830px;
	width: 84%;
	margin: 0 auto;
}
#member h2 {
	color: #1f2c5c;
}
#member h3 {
	font-size: 20px;
}
#member h3 .en {
	display: inline-block;
	font-size: 0.65em;
	padding-left: 10px;
}
#member .txt-position {
	font-size: 13px;
	padding: 7px 0 20px;
}
#member .cont {
	padding: 60px 0 0;
}
#member figure {
	padding-right: 20px;
	max-width: 246px;
	width: calc(246 / 830 * 100%);
}
#member figure img {
	width: 100%;
}
#member .txt-wrap {
	flex: 1;
}
	@media (min-width:769px) and (max-width:9999px) {
		#member .cont {
			display:-webkit-box;
			display:-ms-flexbox;
			display: flex;
			-webkit-box-pack:justify;
			-ms-flex-pack:justify;
			justify-content:space-between;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
		}
	}
	@media screen and (max-width: 768px) {
		#member figure {
			text-align: center;
			padding: 0 0 20px;
			width: 100%;
			margin: 0 auto;
		}
		#member h3 {
			text-align: center;
		}
		#member .txt-position {
			text-align: center;
		}
	}
	@media screen and (max-width: 480px) {
		#member {
			padding: 0 0 26%;
		}
		#member .cont {
			padding: 10% 0 0;
		}
		#member h3 {
			font-size: 18px;
		}
	}
/* #blog
---------------------------------------------- */
#blog {
	padding: 0 0 90px;
}
#blog .inner {
	max-width: 830px;
	width: 90%;
	margin: 0 auto;
}
#blog h2 {
	color: #1f2c5c;
}
#blog ul {
	overflow: hidden;
	padding: 60px 0 50px;
}
#blog ul li {
	width: 23%;
	float: left;
	margin: 0 2.66% 0 0;
}
#blog ul li:nth-child(4n) {
	margin: 0;
}
#blog ul li a {
	display: block;
	opacity: 1 !important;
}
#blog ul li figure {
	overflow: hidden;
	position: relative;
	padding: 100% 0 0;
	margin: 0 0 10px;
}
#blog ul li figure img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 1s;
}
#blog ul li:hover figure img {
	-moz-transform: translate(-50%,-50%) scale(1.1,1.1);
	-webkit-transform: translate(-50%,-50%) scale(1.1,1.1);
	-o-transform: translate(-50%,-50%) scale(1.1,1.1);
	-ms-transform: translate(-50%,-50%) scale(1.1,1.1);
	transform: translate(-50%,-50%) scale(1.1,1.1);
	opacity: 0.7 !important;
}
#blog li time {
	display: block;
	clear: both;
	line-height: 100%;
	font-size: 13px;
}
#blog li p {
	margin: 0  0 15px;
	line-height: 140%;
	font-size: 14px;
}
#blog .btn {
	display: block;
	width: 235px;
	margin: 0 auto;
	border-radius: 25px;
	background: #f6f6f6;
	text-align: center;
	color: #00b1cf;
	font-size: 15px;
	border: 1px solid #283462;
	padding: 13px 0;
}
	@media screen and (max-width: 768px) {
		#blog ul {
			max-width: 560px;
			width: 100%;
			margin: 0 auto;
		}
		#blog ul li {
			width: 48%;
			float: left;
			margin: 0 4% 30px 0;
		}
		#blog ul li:nth-child(2n) {
			margin: 0;
		}
	}
	@media screen and (max-width: 480px) {
		#blog {
			padding: 0 0 26%;
		}
		#blog ul {
			padding: 10% 0 5%;
		}
		#blog .btn {
			font-size: 14px;
		}
	}
/* #contact
---------------------------------------------- */
#contact {
	position: relative;
	background: #f6f6f6;
	padding: 85px 0 120px;
}
#contact::after {
	position: absolute;
	content: "";
	bottom: 0;
	right: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 37vw 36vw;
	border-color: transparent transparent #e9f1f0 transparent;
}
.form-page #contact {
	padding: 150px 0 120px;
	background: #fff;
}
.form-page #contact::after {
	content: none;
}
#contact .inner {
	position: relative;
	max-width: 830px;
	width: 90%;
	margin: 0 auto;
	z-index: 1;
}
#contact .txt-wrap {
	display: table;
	padding: 65px 0 0;
	max-width: 735px;
	width: 100%;
	margin: 0 0 0 auto;
}
#contact .txt-wrap .logo {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	padding-right: 35px;
	width: 151px;
}
#contact .txt-wrap .logo img {
	width: 100%;
}
#contact .txt-wrap .logo figcaption {
	color: #1f2c5c;
	padding: 15px 0 0;
}
#contact .txt-wrap p {
	display: table-cell;
	vertical-align: middle;
}
#form {
	padding: 55px 0 0;
	max-width: 735px;
	margin: 0 0 0 auto;
}
#form dl {
	display: table;
	width: 100%;
}
#form dt {
	display: table-cell;
	width: 196px;
	padding: 10px 10px 10px 0;
}
#form dd {
	display: table-cell;
	padding: 10px 0;
}
#form .required {
	display: inline-block;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	background: #d90000;
	padding: 1px 4px;
	margin-left: 8px;
}
#form [type="text"],
#form [type="tel"],
#form [type="email"],
#form textarea {
	padding: 10px;
	border: 1px solid #ccc;
	width: 100%;
}
#form textarea {
	height: 128px;
}
#form #name,
#form #subject {
	max-width: 308px;
	width: 100%;
}
#form #email {
	max-width: 440px;
}
#form .btn {
	padding: 30px 0 0 206px;
}
#form .btn input[type="submit"],
#form .btn button[type="submit"],
#form .btn a {
	display: block;
	width: 234px;
	box-sizing: border-box;
	background: #1f2c5c;
	border: none;
	border-radius: 25px;
	color: #fff;
	padding: 10px;
	margin: 10px 0;
	line-height: 160%;
	text-align: center;
	cursor: pointer;
	transition: all .3s;
}
#form .btn input[type="submit"]:hover,
#form .btn button[type="submit"]:hover,
#form .btn a:hover {
	opacity: 0.7;
}
#form .error {
	color: #d90000;
	line-height: 200%;
	padding: 20px 0 0;
}
#form .errortext {
	color: #d90000;
}
#form .list-check {
	padding: 0 0 1.5em 3px;
}
#form .list-check > span {
	display: block;
	margin: 1em 0;
}
#form .list-check label > * {
	cursor: pointer;
	display: inline-block;
	vertical-align: middle;
}
	@media screen and (max-width: 960px) {
		#form .btn {
			padding: 30px 0 0;
			text-align: center;
		}
		#form .btn input[type="submit"],
		#form .btn button[type="submit"],
		#form .btn a {
			margin: 10px auto;
		}
	}
	@media screen and (max-width: 480px) {
		#form select,
		#form [type="text"],
		#form [type="tel"],
		#form [type="email"],
		#form textarea {
			font-size: 16px;
			width: 106.25%;
			max-width: 106.25%;
			margin-left: -3.125%;
			-webkit-transform: scale(0.9375);
			-ms-transform: scale(0.9375);
			transform: scale(0.9375);
		}
		#contact {
			padding: 20% 0 24%;
		}
		.form-page #contact {
			padding: 30% 0 24%;
		}
		#contact .txt-wrap {
			padding: 9% 0 0;
		}
		#contact .txt-wrap .logo {
			display: block;
			padding: 0;
			width: 33%;
			margin: 0 auto 2%;
		}
		#contact .txt-wrap .logo figcaption {
			padding: 5px 0 0;
			font-size: 12px;
		}
		#contact .txt-wrap p {
			display: block;
		}
		#form {
			padding: 10% 0 0;
		}
		#form dt {
			display: block;
			width: 100%;
			color: #1f2c5c;
			font-weight: 700;
			font-size: 14px;
		}
		#form dd {
			display: block;
			padding: 0 0 10px;
		}
		#form #name,
		#form #subject,
		#form #email {
			max-width: 106.25%;
			width: 106.25%;
		}
		#form .btn {
			padding: 10% 0 0;
		}
	}
/*==================================================
page
==================================================*/
.page {
	padding: 240px 0;
}
.page h1 {
	color: #00b1cf;
	font-family: "Shin Go Medium";
	font-size: 230%;
	font-weight: 700;
	text-align: center;
}
	@media(min-width:1px) and (max-width: 640px) {
		.page {
			padding: 150px 0;
		}
	}
/*==================================================
page_blog
==================================================*/
/* common */
#main.page_blog::after {
	position: fixed;
	content: "";
	background: #f2faf9;
	top: -50%;
	right: 0;
	width: 50%;
	height: 250%;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
.page_blog .main {
	max-width: 1000px;
	width: 90%;
	margin: 0 auto;
}
.page_blog .page-wrap {
	display: table;
	width: 100%;
}
.page_blog .page-cont {
	display: table-cell;
}
.page_blog .pager-wrap {
	margin: 0;
	text-align: center;
}
.page_blog .pager-wrap a {
	color: #00b1cf;
	text-decoration: none;
	transition: all .3s;
}
.page_blog .pager li {
	display: inline-block;
	padding: 0 10px;
	list-style-type: none;
	font-size: 120%;
	vertical-align: middle;
}
.page_blog .pager li span,
.page_blog .pager li a:hover  {
	color: #333;
}
.page_blog .pager li:first-child a,
.page_blog .pager li:last-child a,
.page_blog .pager .btn-all a {
	font-size: 85%;
}
.page_blog p.btn-all {
	padding: 15px 0 0;
	text-align: center;
}
/* sidenav *********************************************/
.page_blog .sidenav {
	display: table-cell;
	width: 230px;
	padding-left: 50px;
}
.page_blog .sidenav h3 {
	color: #00b1cf;
	font-size: 115%;
	font-weight: 700;
	margin: 0 0 10px;
	text-align: center;
}
/* list *********************************************/
.page_blog .article-all {
	padding: 50px 0;
}
.page_blog .article-all ul {
	padding: 60px 0 50px;
}
.page_blog .article-all li a {
	display: block;
	overflow: hidden;
	padding: 20px 0;
	color: #1f2c5c;
	border-bottom: 1px solid #ccc;
}
.page_blog .article-all li time {
	float: left;
	width: 115px;
	color: #00b1cf;
	line-height: 170%;
}
.page_blog .article-all li p {
	padding: 0 0 0 115px;
}
/* Entry *********************************************/
.page_blog .article  {
	padding: 80px 0;
	line-height: 200%;
}
.page_blog .article .page-cont {
	padding: 150px 0;
}
.page_blog .article .page-cont section {
	margin-bottom: 75px;
}
.page_blog .article time {
	display: block;
	color: #00b1cf;
}
.page_blog .article h2,
.page_blog .article h3,
.page_blog .article h4,
.page_blog .article h5 {
	color: #1f2c5c;
	font-size: 150%;
	font-weight: 700;
	text-align: left;
	margin: 0 0 15px;
}
.page_blog .article h2 {
	border-bottom: 1 px solid
}
.page_blog .article h3 {
	font-size: 120%;
	border-top: 1px solid #1f2c5c;
	border-bottom: 1px solid #1f2c5c;
	padding: 15px 0;
	margin: 40px 0 30px;
}
.page_blog .article h4 {
	font-size: 104%;
	margin: 15px 0;
}
.page_blog .article h5 {
	font-size: 104%;
	margin: 10px 0;
	font-weight: 300;
}
.page_blog .article .txt-wrap p,
.page_blog .article ol,
.page_blog .article ul,
.page_blog .article figure {
	margin-bottom: 25px;
}
.page_blog .article .txt-wrap {
	margin: 15px 0 15px 10px;
	padding: 15px 0 15px 20px;
	border-left: 1px solid #ccc;
}
.page_blog .article .txt-wrap a {
	color: #1f2c5c;
	text-decoration: underline;
}
.page_blog .article .txt-wrap p {
	line-height: 200%;
}
.page_blog .article img {
	max-width: 675px;
	/*width: 100%;*/
	width: auto; /*BOC*/
	height: auto;
	display: block;
}
.page_blog .article figure.aligncenter img{
	display: block;
	margin: auto;
}
.page_blog .article img.aligncenter{ /*BOC*/
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.page_blog .article figure img {
	margin-bottom: 5px;
}
.page_blog .article figure.aligncenter figcaption {
	text-align: center;
}
.page_blog .article figcaption {
	font-size: .9em;
	line-height: 125%;
	margin-top: 10px;
}
.page_blog .article ol,
.page_blog .article ul {
	margin-left: 20px;
	line-height: 175%;
}
.page_blog .article ol li {
	margin: 0 0 10px;
	list-style-type: decimal;
}
.page_blog .article ul li {
	margin: 0 0 10px;
	list-style-type: disc;
}
.page_blog .article .gallery-item {
	margin-top: 20px!important;
}
.page_blog .article .gallery-item img {
	width: 100%;
	box-sizing: border-box;
}
.page_blog .article .gallery-item .gallery-caption {
	font-size: .9em;
	line-height: 140%;
	margin: 5px 5px 0 5px!important;
}
	@media(min-width:1px) and (max-width: 768px) {
		.page_blog .page-cont {
			display: block;
		}
		.page_blog .sidenav {
			display: block;
			width: 100%;
			padding: 70px 0 0;
		}
		.page_blog .article img {
			max-width: auto;
			width: 100% !important;
			height: auto;
		}
		.page_blog .article .gallery-item {
			float: none!important;
			width: 100%!important;
			margin-top: 30px!important;
		}
		.page_blog .article .gallery-item + br {
			display: none;
		}
	}
	@media(min-width:1px) and (max-width: 640px) {
		.page_blog .pager li {
			padding: 0 5px;
		}
		.page_blog .article-all {
			padding: 25px 0;
			font-size: 14px;
		}
		.page_blog .article  {
			padding: 80px 0 40px;
		}
		.page_blog .article .page-cont {
			padding: 80px 0;
		}
		.page_blog .article .page-cont section {
			margin-bottom: 50px;
		}
	}
	@media(min-width:1px) and (max-width: 480px) {
		.page_blog .article-all ul {
			padding: 10% 0 5%;
		}
		.page_blog .article-all li time {
			float: none;
			width: 100%;
			padding: 12px 0;
		}
		.page_blog .article-all li p {
			padding: 0 0 13px;
		}
		.page_blog .article h2 {
			margin: 0 0 30px;
		}
	}
/* #sidebar
---------------------------------------------- */
#sidebar > li {
	margin: 0 0 50px;
}
#sidebar h2 {
	color: #00b1cf;
	font-size: 115%;
	font-weight: 700;
	margin: 0 0 10px;
	text-align: center;
}
/* side-author */
#side-author {
	text-align: center;
}
#side-author figure {
	width: 120px;
	margin: 15px auto 5px;
	border-radius: 50%;
	overflow: hidden;
}
/* widget_calendar */
#wp-calendar {
		border-collapse: collapse;
		border-top-width: 1px;
		border-right-width: 1px;
		border-top-style: solid;
		border-right-style: solid;
		border-top-color: #ccc;
		border-right-color: #ccc;
	width: 100%;
	background: #fff;
	font-size: 85%;
}
#wp-calendar thead tr th {
		border-bottom-width: 1px;
		border-left-width: 1px;
		border-bottom-style: solid;
		border-left-style: solid;
		border-bottom-color: #ccc;
	border-left-color: #ccc;
	text-align: center;
	padding: 3px;
}
#wp-calendar thead tr th:nth-child(6){
	background-color: #C0DDF9;
}
#wp-calendar thead tr th:nth-child(7){
	background-color: #F5D0D3;
}
#wp-calendar td {
		text-align: center;
		padding: 0px;
		border-bottom-width: 1px;
		border-left-width: 1px;
		border-bottom-style: solid;
		border-left-style: solid;
		border-bottom-color: #ccc;
	border-left-color: #ccc;
	padding: 3px;
}
#wp-calendar td a {
	color: #00b1cf;
	text-decoration: underline;
	font-weight: 700;
}
#wp-calendar td.pad {
	background: #f6f6f6;
}
#wp-calendar caption {
		font-weight: bold;
	text-align: left;
	padding: 0 0 5px;
}
#wp-calendar tbody tr #today {
	background: #00b1cf;
}
#wp-calendar tbody tr #today a {
	color: #fff;
}
/* widget_archive, widget_categories */
.widget_archive,
.widget_categories {
		position: relative;
		width: 100%;
		border-radius: 3px;
}
.widget_archive::before,
.widget_categories::before {
		position: absolute;
		bottom: 10px;
		right: 10px;
		content: "";
		width: 0;
		height: 0;
		border: 5px solid transparent;
	border-top: 7px solid #333;
	z-index: 1;
}
.widget_archive label,
.widget_categories label {
		display: none;
}
.widget_archive select,
.widget_categories select {
	position: relative;
		cursor: pointer;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		width: 100%;
		padding: 10px 1em;
		border: 1px solid #ccc;
		border-radius: 3px;
	background: transparent;
	background: #fff;
	font-size: 14px;
	line-height: 100%;
}
.widget_archive select::-ms-expand,
.widget_categories select::-ms-expand {
		display: none;
}
/* widget_recent_entries */
.widget_recent_entries {
	font-size: 14px;
}
.widget_recent_entries ul {
	border: 1px solid #ccc;
	border-radius: 3px;
	background: #fff;
}
.widget_recent_entries li {
	padding: 12px;
}
.widget_recent_entries li + li {
	border-top: 1px solid #ccc;
}
.widget_recent_entries a {
	display: block;
	color: #1f2c5c;
	line-height: 140%
}
.widget_recent_entries .post-date {
	display: block;
	border-top: 1px dotted #ccc;
	padding: 5px 0 0;
	margin: 5px 0 0;
	font-size: 90%;
}
/*=================================================
#footer
==================================================*/
#footer {
	position: absolute;
		left: 0;
		bottom: 0;
	width: 100%;
	background: #00b1cf;
	padding: 25px 0;
	text-align: center;
	z-index: 1;
}
#footer small {
	color: #fff;
	font-size: 11px;
}
	@media screen and (max-width: 480px) {
		#footer {
			padding: 4% 0;
		}
	}
/*=================================================
menu
==================================================*/
.fat-nav {
	display: none;
}
.fat-nav,.hamburger__icon,
.hamburger__icon:after,
.hamburger__icon:before {
	-moz-transition-duration:.4s;
	-o-transition-duration:.4s;
	-webkit-transition-duration:.4s
}
.hamburger__icon,
.hamburger__icon:after,
.hamburger__icon:before {
	background: #fff;
}
.hamburger {
	display:none;
	width: 50px;
	height:50px;
	position:absolute;
	top: 45px;
	left: 35px;
	padding: 16px 12px 12px;
	line-height: 100%;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-tap-highlight-color:transparent;
	-ms-touch-action:manipulation;
	touch-action:manipulation;
}
	#gnav-off .hamburger {
		display: none;
	}
.hamburger.active {
	position: fixed;
	background: #1f2c5c;
}
.hamburger__icon {
	position:relative;
	margin-top:7px;
	margin-bottom:7px
}
.hamburger__icon,
.hamburger__icon:after,
.hamburger__icon:before {
	display:block;
	width:26px;
	height:2px;
	background-color:#111;
	-moz-transition-property:background-color,-moz-transform;
	-o-transition-property:background-color,-o-transform;
	-webkit-transition-property:background-color,-webkit-transform;
	transition-property:background-color,transform;
	transition-duration:.4s
}
.hamburger__icon:after,
.hamburger__icon:before {
	position:absolute;
	content:""
}
.hamburger__icon:before {
	top:-7px
}
.hamburger__icon:after {
	top:7px
}
.hamburger.active .hamburger__icon {
	background-color:transparent
}
.hamburger.active .hamburger__icon:after,
.hamburger.active .hamburger__icon:before {
	background-color:#fff;
}
.hamburger.active .hamburger__icon:before {
	-moz-transform:translateY(7px)rotate(45deg);
	-ms-transform:translateY(7px)rotate(45deg);
	-webkit-transform:translateY(7px)rotate(45deg);
	transform:translateY(7px)rotate(45deg);
}
.hamburger.active .hamburger__icon:after {
	-moz-transform:translateY(-7px)rotate(-45deg);
	-ms-transform:translateY(-7px)rotate(-45deg);
	-webkit-transform:translateY(-7px)rotate(-45deg);
	transform:translateY(-7px)rotate(-45deg);
}
.no-scroll {
	height: 100%;
	overflow: hidden;
}
.fat-nav {
	top:0;
	left:0;
	z-index:9991;
	position:fixed;
	display:none;
	width:100%;
	height:100%;
	background:rgba(0,0,0,.8);
	-moz-transform:scale(1.4);
	-ms-transform:scale(1.4);
	-webkit-transform:scale(1.4);
	transform:scale(1.4);
	-moz-transition-property:-moz-transform;
	-o-transition-property:-o-transform;
	-webkit-transition-property:-webkit-transform;
	transition-property:transform;
	transition-duration:.4s;
	overflow-y:auto;
	overflow-x:hidden;
	-webkit-overflow-scrolling:touch;
	background: rgba(244,245,250,0.95);
}
.fat-nav__wrapper {
	width:100%;
	height:100%;
	display:table;
	table-layout:fixed
}
.fat-nav.active {
	-moz-transform:scale(1);
	-ms-transform:scale(1);
	-webkit-transform:scale(1);
	transform:scale(1)
}
.fat-nav .inner {
	width: 440px;
	margin: 130px auto 0;
	overflow: hidden;
}
.fat-nav li {
	list-style-type: none;
	font-size: 22px;
	padding: 21px 0;
}
.fat-nav li a {
	text-decoration :none;
	color: #1f2c5c;
}

.fat-nav .form-search {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	height: 49px;
	margin: 20% 0 0;
	color: #1f2c5c;
	font-size: 14px;
	font-weight: 700;
	background: #fff;
	text-align: center;
	border-radius: 25px;
	padding: 11px 20px;
	box-sizing: border-box;
}
.fat-nav .form-search input {
	border: none;
}
.fat-nav .form-search .btn {
	width: 20px;
	height: 16px;
	margin-right: 10px;
	background: url(../img/icn_search.svg) no-repeat 50% 50% / contain;
}
.fat-nav .form-search .text {
	width: calc(100% - 30px);
}
.fat-nav .form-search .text::placeholder {
	color: #1F2C5C;
}

.fat-nav .btn-contact {
	display: block;
	width: 100%;
	color: #1f2c5c;
	font-size: 20px;
	font-weight: 700;
	background: #fff url(../img/icn_contact.png) no-repeat 10% 50%;
	text-align: center;
	border-radius: 25px;
	padding: 18px 0;
	margin: 10px 0 0;
}
.fat-nav .btn-contact span {
	display: inline-block;
	padding-left: 10px;
}
	@media(min-width:1100px) and (max-width: 9999px) {
		.fat-nav {
			display: none;
		}
	}
	@media(min-width:1px) and (max-width: 960px) {
		.hamburger {
			display: block;
			position: fixed;
			left: auto;
			right: 0;
			top: 0;
			background: #00b1cf;
			line-height: 100%;
			z-index: 9999;
		}
		.hamburger__icon,
		.hamburger__icon:after,
		.hamburger__icon:before {
			background: #fff;
		}
	}
	@media(min-width:1px) and (max-width: 580px) {
		.fat-nav .inner {
			width: 75.8%;
		}
	}
	@media(min-width:1px) and (max-width: 480px) {
		.fat-nav .inner {
			margin: 27% auto 0;
		}
		.fat-nav li {
			font-size: 20px;
		}
		.fat-nav .btn-contact {
			font-size: 16px;
		}
	}
/*==================================================
jquery.circliful
==================================================*/
.circliful .outer {
		fill: transparent;
		stroke: #333;
		stroke-width: 19.8;
		stroke-dasharray: 534;
		transition: stroke-dashoffset 1s;
		-webkit-animation-play-state: running;
		/* firefox bug fix - won't rotate at 90deg angles */
		-moz-transform: rotate(-89deg) translateX(-190px);
}
/* full circle 25 empty 534 */
.circliful .inner {
		fill: transparent;
		stroke: orange;
		stroke-width: 20;
		stroke-dasharray: 534;
		transition: stroke-dashoffset 1s;
		-webkit-animation-play-state: running;
		/* firefox bug fix - won't rotate at 90deg angles */
		-moz-transform: rotate(-89deg) translateX(-190px);
		stroke-dashoffset: 0;
}
.circliful {
		overflow: visible !important;
}
.svg-container {
		width: 100%;
		margin: 0 auto;
		overflow: visible;
		position: relative;
}
svg .icon {
		font-family: FontAwesome;
}
.legend-line {
		white-space: nowrap;
}
.color-box {
		width: 15px;
		height: 15px;
		border-radius: 2px;
		display: inline-block;
		float: left;
		padding-top: 3px;
		margin: 2px 5px 0 0;
}
/*==================================================
blockquote
==================================================*/
blockquote {
		position: relative;
		padding: 10px 10px 10px 32px;
		box-sizing: border-box;
		font-style: normal;
		color: #464646;
		background: #f6f6f6;
		margin-bottom: 30px;
}
blockquote:before{
		display: inline-block;
		position: absolute;
		top: -6px;
		left: -15px;
		content: "“";
		font-family: sans-serif;
		color: #e0e0e0;
		font-size: 70px;
		line-height: 1;
		z-index: 2;
}
blockquote:after{
		position: absolute;
		content: '';
		left: 0;
		top: 0;
		border-width: 0 0 40px 40px;
		border-style: solid;
		border-color: transparent #ffffff;
}
blockquote p {
		position: relative;
		padding: 0;
		margin: 10px 0;
		z-index: 3;
		line-height: 1.7;
}
blockquote cite {
		display: block;
		text-align: right;
		color: #888888;
		font-size: 0.9em;
}
/*==================================================
youtube
==================================================*/
.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.youtube iframe{
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
/*==================================================
page-voice
==================================================*/
.voice #header {
	background: #fff;
}
.page-voice {
	position: relative;
}
.page-voice::before {
	position: absolute;
	content: "";
	top: 0;
	right: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 50vw 46vw 0;
	border-color: transparent #cceff5 transparent transparent;
}
.page-voice::after {
	position: absolute;
	content: "";
	bottom: 0;
	right: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 37vw 36vw;
	border-color: transparent transparent #e9f1f0 transparent;
}
.page-voice .main {
	max-width: 1080px;
	width: 90%;
	margin: 0 auto;
}
.page-voice section {
	padding-top: 60px;
}
.page-voice .cont-wrap + .cont-wrap {
	padding-top: 100px;
}
.page-voice .ttl-wrap {
	padding-bottom: 30px;
}
.page-voice .ttl-wrap h2 {
	position: relative;
	font-size: calc(25 / 15 * 1em);
}
.page-voice .ttl-wrap h2:before {
	position: absolute;
	content: "";
	top: 50%;
	right: 0;
	width: 100%;
	height: 1px;
	background: #1F2C5C;
	transform: translateY(-50%);
}
.page-voice .ttl-wrap h2 span {
	display: inline-block;
	padding-right: 1em;
	background: #fff;
	position: relative;
	z-index: 1;
}
.page-voice .ttl-wrap .place {
	padding-top: .6em;
	font-size: calc(18 / 15 * 1em);
}
.page-voice .cont .image img {
	width: 100%;
}
.page-voice .cont .image figure {
	margin-bottom: 1em;
}
.page-voice .cont .cont-txt .txt-wrap {
	padding-bottom: 2em;
}
.page-voice .cont .cont-txt .txt-wrap a {
	text-decoration: underline;
	color: #00b1cf;
}
.page-voice .cont .cont-txt .txt-wrap a:hover {
	color: #1F2C5C;
}
.page-voice .cont .cont-txt h3 {
	color: #1F2C5C;
	font-size: calc(20 / 15 * 1em);
	font-weight: 700;
	line-height: 1.2;
	padding-bottom: 1em;
}
.page-voice .cont .cont-txt p + p {
	padding-top: .5em;
}
.page-voice .cont .cont-txt .btn-base {
	max-width: 400px;
	font-size: 1em;
	line-height: 1.2;
	margin: 0;
	text-align: left;
	padding: 1em 45px 1em 1em;
	background-position: right 10px top 50%;
}
.page-voice .cont .cont-txt .btn-base + .btn-base {
	margin-top: 10px;
}
.page-voice .cont-wrap:nth-of-type(2n) .ttl-wrap {
	text-align: right;
}
.page-voice .cont-wrap:nth-of-type(2n) .ttl-wrap h2 span {
	padding: 0 0 0 1em;
}
.page-voice .cont-wrap:nth-of-type(2n) .cont {
	-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
.page-voice .cont-wrap:nth-of-type(2n) .cont .image {
	text-align: right;
}
	@media (min-width: 769px) {
		.page-voice .cont {
			display:-webkit-box;
				display:-ms-flexbox;
			display: flex;
			-webkit-box-pack: justify;
			-ms-flex-pack: justify;
			justify-content: space-between;
		}
		.page-voice .cont .image {
			width: calc(405 / 1080 * 100%);
		}
		.page-voice .cont .cont-txt {
			width: calc(640 / 1080 * 100%);
		}		
	}
	@media screen and (max-width: 768px) {
		.page-voice .cont .image {
			padding-bottom: 30px;
		}
	}
/*==================================================
page-contact
==================================================*/
.page-contact #contact {
	background: none;
	padding: 0;
}
.page-contact #contact::after {
	content: none;
}
.page-contact #contact .txt {
	text-align: center;
	padding-top: 50px;
}

/*==================================================
page-search
==================================================*/
.page-search .page-header{
	margin-bottom: 60px;
}
.page-search .inner{
	max-width: 860px;
	width: 90%;
	margin: 0 auto;
}
.page-search .catch{
	text-align: center;
}
.page-search .catch br{
	display: none;
}
.page-search .btn-wrap{
	margin-top: 60px;
}
.page-search ul{
	border-top: 1px solid #ccc;
}
.page-search ul li{
	border-bottom: 1px solid #ccc;
}
.page-search ul li a{
	display: flex;
	align-items: center;
	padding: 20px;
	color: #1f2c5c;
	position: relative;
}
.page-search ul li a:after{
	content: '';
	display: block;
	border-bottom: 1px solid #00b1cf;
	width: 0;
	position: absolute;
	left: 0;
	bottom: -1px;
	transition: all 0.5s ease;
}
.page-search ul li a:hover:after{
	width: 100%;
}
.page-search ul li figure{
	width: 100px;
	height: 100px;
	position: relative;
	overflow: hidden;
	flex-shrink: 0;
	margin-right: 20px;
	border: 1px solid #ccc;
}
.page-search ul li figure img{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.page-search ul li .txt-wrap{
	flex: 1;
	font-weight: bold;
}
.page-search ul li .txt-wrap p{
	line-height: 140%;
}
.page-search ul li .txt-wrap .cat{
	color: #00b1cf;
	font-size: 12px;
	margin-top: 5px;
}
@media screen and (max-width: 750px) {
	.page-search .catch br{
		display: block;
	}
	.page-search ul li a{
		padding: 10px;
	}
	.page-search ul li figure{
		width: 80px;
		height: 80px;
	}
}