@charset "utf-8";
/* CSS Document */
body {
	font-size: 16px;
	font-family: 'Noto Serif JP', serif;
	line-height: 2;
	color: #222;
	width: calc(100% - 40px);
	height: 100vh;
	padding: 0 0 0 40px;
	-webkit-text-size-adjust: 100%;
	background: #8FD1D6;
	background: url(../images/bg.gif) repeat;
	overflow-x: hidden;
}
@media screen and (max-width: 840px) {
	body {
		font-size: 14px;
		width: calc(100% - 20px);
		padding: 0 0 0 20px;
		background-size: 32.5px 37.5px;
	}
}
@media screen and (max-width: 640px) {
	body {
		width: calc(100% - 10px);
		padding: 0 0 0 10px;
	}
}

/* link */
a {
	/*transition:all 0.3s ease;*/
	text-decoration: underline;
	color: #283593;
}
.ios a {
	transition:none;
}
a:hover {
	text-decoration: none;
}

/* fade */
.fade:hover{
	transition:all 0.3s ease;
	opacity: 0.7;
	filter: alpha(opacity=70);
	text-decoration: none;
}

/* button */
.btn a {
	position: relative;
	display: inline-block;
	padding: 14px 30px;
	background: #222;
	color: #FFF;
  vertical-align: middle;
	text-align: center;
	text-decoration: none;
	border: solid 1px #222;
	box-sizing: border-box;
}
.btn a:hover{
	transition:all 0.3s ease;
	background: #FFF;
	color: #222;
	text-decoration: none;
}

/* shadow */
.shadow01 {
  box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.05);
}
.shadow02 {
  box-shadow: 0px 3px 30px 0px rgba(0, 0, 0, 0.05);
}


/* image */
img {
	-webkit-backface-visibility: hidden;
	max-width: 100%;
	height: auto;
	-ms-interpolation-mode: bicubic;
}

/* contents-inner */
.contents-inner {
	width: 1320px;
	max-width: 100%;
	margin: 0 auto;
	padding: 0 60px;
	box-sizing: border-box;
}
@media screen and (max-width: 1040px) {
	.contents-inner {
		padding: 0 30px;
	}
}
@media screen and (max-width: 640px) {
	.contents-inner {
		padding: 0 20px;
	}
}

/* title */
h2,h3,h4,h5,h6 {
	line-height: 1.4;
}
main h2 {
	margin-bottom: 40px;
	font-size: 250%;
	text-align: center;
}
main h3 {
	font-size: 150%;
}
.ttl-logo {
	margin-bottom: 30px;
	text-align: center;
	color: #666;
	font-weight: bold;
}
.ttl-logo img {
	margin-bottom: 10px;
}
@media screen and (max-width: 640px) {
	main h2 {
		font-size: 171%;
	}
}

/* -------
loading
------- */
#loading {
	transition: all 1s;
	background-color: #FFF;
	position: fixed;
	z-index: 9999;
	inset: 0;
	display: grid;
	place-items: center;
}
.loader,
.loader:after {
  border-radius: 50%;
  width: 8em;
  height: 8em;
}
.loader {
  margin: 60px auto;
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  border-top: 1.1em solid rgba(131, 209, 214, 0.3);
  border-right: 1.1em solid rgba(131, 209, 214, 0.3);
  border-bottom: 1.1em solid rgba(131, 209, 214, 0.3);
  border-left: 1.1em solid #41CCFA;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.loaded {
	opacity: 0;
	visibility: hidden;
}

/* -------
header
------- */
header {
	display: block;
}
.nav-header {
	position: absolute;
	display: flex;
	justify-content: space-between;
	width: calc(100% - 40px);
	padding: 10px;
	top: 25px;
	left: 40px;
	z-index: 100;
	box-sizing: border-box;
}
.header-logo {
	margin: 0 30px;
}
.home .header-logo img {
	filter: brightness(0) invert(1);
}
.header-link {
}
.header-link ul {
	display: flex;
	align-items: center;
	margin: 0 130px 0 0;
}
.header-link li {
	list-style: none;
	margin: 0 0 0 10px;
}
.header-link-xebec {
	padding: 0 20px 0 0;
}
.header-link-xebec a {
	text-decoration: none;
	font-weight: bold;
	color: #222;
}
.header-link-contact .btn a {
	width: 160px;
	height: 46px;
	padding: 0;
	line-height: 48px;
}
.header-link-language {
	position: relative;
}
.header-link-language::after {
	content: "";
	position: absolute;
	top: 20px;
	right: 16px;
	width: 0;
	height: 0;
	border-top: 8px solid #222;
  border-right: 6px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 6px solid transparent;
}
.header-link-language select {
  -webkit-appearance: none;
  appearance: none;
	width: 160px;
	height: 46px;
	padding: 0 10px;
	border: solid 1px #222;
	font-size: 16px;
	font-family: 'Noto Serif JP', serif;
	color: #222;
	background: #FFF;
	border-radius: 0;
}
@media screen and (max-width: 1040px) {
	.home .header-logo {
		visibility:hidden;
	}
	.header-link ul {
		margin: 0 120px 0 0;
	}
	.header-link-contact ,.header-link-xebec {
		display: none;
	}
}
@media screen and (max-width: 840px) {
	.nav-header {
		width: calc(100% - 20px);
		top: 10px;
		left: 20px;
		padding: 10px 0;
	}
	.header-logo {
		max-width: 200px;
	}
	.header-link ul {
		margin: 0 80px 0 0;
	}
	.header-link select {
		width: auto;
		height: 36px;
		padding: 0 25px 0 5px;
	}
	.header-link-language::after {
		top: 15px;
		right: 6px;
	}
}
@media screen and (max-width: 640px) {
	.header-logo {
		margin: 0 10px;
	}
}

/* hamburger */
.c-hamburger {
	position: fixed;
	top: 10px;
	right: 10px;
	width: 100px;
	height: 100px;
	border: none;
	outline: none;
	background: #41CCFA;
	outline: none;
	-webkit-transition: all .3s ease-in-out;
					transition: all .3s ease-in-out;
	z-index: 200;
	cursor: pointer;
}
.c-hamburger__line {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	margin: auto;
	width: 40px;
	height: 2px;
	background-color: #FFF;
	-webkit-transition: inherit;
					transition: inherit;
}
.c-hamburger__line::before,
.c-hamburger__line::after {
	content: '';
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	background-color: inherit;
	-webkit-transition: inherit;
					transition: inherit;
}
.c-hamburger__line::before {
	top: -8px;
}
.c-hamburger__line::after {
	top: 8px;
}
.c-hamburger[aria-expanded="true"] .c-hamburger__line {
	background-color: transparent;
}
.c-hamburger[aria-expanded="true"] .c-hamburger__line::before,
.c-hamburger[aria-expanded="true"] .c-hamburger__line::after {
	top: 0;
	background-color: #FFF;
}
.c-hamburger[aria-expanded="true"] .c-hamburger__line::before {
	-webkit-transform: rotate(45deg);
			-ms-transform: rotate(45deg);
					transform: rotate(45deg);
}
.c-hamburger[aria-expanded="true"] .c-hamburger__line::after {
	-webkit-transform: rotate(-45deg);
			-ms-transform: rotate(-45deg);
					transform: rotate(-45deg);
}
@media screen and (max-width: 840px) {
	.c-hamburger {
		width: 70px;
		height: 70px;
		top: 0;
		right: 0;
	}
}

.header-link .global-navigation__list {
	position: fixed;
	display: block;
	height: 100vh;
	visibility: hidden;
	padding: 200px 0 0;
	top: 0;
	left: -100vw;
	width: 100%;
	opacity: 0.9;
	box-sizing: border-box;
	background: #FFF;
	z-index: 30;
	transition: all 0.5s;
}
.is-drawerActive .header-link .global-navigation__list {
	visibility: visible;
	opacity: 1;
	left: 0;
}
.header-link .global-navigation__list li {
	position: relative;
	margin: 0 0 20px;
	opacity: 0;
	transition: all 2s 0.5s;
	font-size: 200%;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
}
.header-link .global-navigation__list li::after {
	position: absolute;
	display: block;
	content: "";
	width: 40px;
	height: 4px;
	bottom: 0;
	right: 0;
  left: 0;
  margin: 0 auto;
	background: #41CCFA;
}
.header-link .global-navigation__list li.contact_header::after {
	content: none;
}
.header-link .global-navigation__list li a {
	display: inline-block;
	padding: 20px 0;
	color: #222;
	text-decoration: none;
}
.header-link .global-navigation__list li a:hover {
	color: #41CCFA;
}
.is-drawerActive .header-link .global-navigation__list li {
	opacity: 1;
}
.header-link li a span {
	display: block;
}
.header-link li a:hover span {
	color: #222222;
}
.header-link .global-navigation__list .contact_header {
	margin: 60px 0 0;
	font-size: 150%;
}
.header-link .global-navigation__list .contact_header a {
	padding: 15px 60px;
	border: none;
	background: #222;
	color: #FFF;
}
.header-link .global-navigation__list .contact_header a:hover {
	color: #FFF;
}

.header__nav-area {
}
.header-link li:not(:first-child):not(:last-of-type):before {
	content: none;
}
@media screen and (max-width: 640px) {
	.header-link .global-navigation__list {
		padding: 120px 0 0;
	}
	.header-link .global-navigation__list li {
		font-size: 150%;
	}
	.header-link .global-navigation__list li::after {
		width: 40px;
	}
	.header-link .global-navigation__list .contact_header {
		font-size: 128%;
	}
}

/* -------
frontpage
------- */

/* contents-heading */
.contents-heading {
	width: 100%;
	max-width: 600px;
	margin: 0 auto 40px;
	text-align: center;
	letter-spacing: 0.1em;
	box-sizing: border-box;
}
.contents-heading .hanko {
	margin: 0 0 40px;
}
.contents-heading .sub-hanko {
	font-family: "Cormorant Garamond", serif;
	font-size: 150%;
	font-weight: 600;
	line-height: 1;
}
.contents-heading h2 span {
	display: inline-block;
}
@media screen and (max-width: 640px) {
	.contents-heading {
		letter-spacing: 0;
	}
	.contents-heading .hanko {
		margin: 0 0 20px;
	}
	.contents-heading .ico-hanko {
		width: 60px;
		height: 60px;
	}
}

/* contents-sentence */
.contents-sentence {
	width: 100%;
	max-width: 600px;
	margin: 0 auto 60px;
	font-size: 113%;
}
@media screen and (max-width: 640px) {
	.contents-sentence {
		margin: 0 auto 40px;
		font-size: 100%;
}
}

/* main-visual */
.wrap-main-visual {
	height: 100vh;
	min-height: 760px;
	border: solid 10px #FFF;
	box-sizing: border-box;
}
.main-visual {
	display: flex;
	height: 100%;
	justify-content: space-between;
	flex-direction: row-reverse;
	padding: 0 0 60px;
	background: #FFF;
}
.ttl-main-visual {
	flex: 43;
	padding: 0 20px 0 30px;
	text-align: center;
	align-self: center;
	box-sizing: border-box;
	animation-name: fadein;
	animation-duration: 0.8s;
}
@keyframes fadein{
	from{
	opacity: 0;
	}
	to{
	opacity: 1;
	}
}
.ttl-main-visual-sub {
	margin: 0 0 40px;
	font-size: 175%;
	letter-spacing: 0.2em;
	line-height: 1.4;
	font-weight: 600;
}
.ttl-main-visual-xebec {
	margin: 60px 0 0;
}
.ttl-main-visual-xebec img {
	margin: 0 0 0 10px;
}
.image-main-visual {
	flex: 25;
}
.image-main-visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media screen and (max-width: 1040px) {
	.wrap-main-visual {
		border: none;
		height: calc(100vh + 40px);
	}
	.main-visual {
		flex-wrap: wrap;
	}
	.ttl-main-visual {
		display: flex;
		justify-content: center;
		align-content: center;
		flex-wrap: wrap;
		width: 100%;
		height: 70%;
		min-height: 660px;
		padding: 70px 20px 40px;
	}
	.image-main-visual {
		flex: auto;
		width: 100%;
		height: 30%;
	}
}
@media screen and (max-width: 640px) {
	.wrap-main-visual {
		height: calc(100vh + 20px);
	}
	.ttl-main-visual {
		min-height: 460px;
	}
	.ttl-main-visual-sub {
		margin: 0 0 30px;
		font-size: 114%;
	}
	.ttl-main-visual-xebec {
		margin: 40px 0 0;
	}
	.ttl-main-visual-xebec img {
		width: 140px;
	}
}

/* problem */
.wrap-problem {
}
.image-problem {
	position: relative;
	height: 180px;
	padding: 80px 0 0;
	background: #FFF url("../images/bg-problem.png") no-repeat;
	background-position: bottom -50px left 0;
}
.image-problem img {
	position: absolute;
	width: 260px;
	max-width: 20%;
	height: 420px;
	top: 80px;
	right: 0;
	object-fit: cover;
}
.text-problem {
	padding: 80px 0 160px;
	background: #E6F4F1;
}
.list-problem {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}
.list-problem::after {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	top: auto;
	right: 0;
	left: 0;
	margin: 0 auto;
	bottom: -40px;
	border-left: 40px solid transparent;
	border-right: 40px solid transparent;
	border-top: 40px solid #8FD1D6;
	border-bottom: none;
}
.item-problem {
	width: 48%;
	padding: 30px;
	margin: 0 0 30px;
	background: #FFF;
	box-sizing: border-box;
}
.item-problem:nth-child(3) {
	width: 900px;
	margin: 0 8px 30px;
	max-width: 100%;
}
.item-problem-ttl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.ico-problem {
	width: 100px;
	align-self: center;
}
.item-problem h3 {
	width: calc(100% - 120px);
	align-self: center;
}
.item-problem h3 span {
	display: inline-block;
}
.item-problem p {
	width: 100%;
	margin: 20px 0 0;
}
@media screen and (max-width: 840px) {
	.image-problem {
		height: auto;
		padding: 60px 0 0;
		background: #FFF url("../images/bg-problem-sp.png") no-repeat;
		background-position: bottom -20px right -10px;
	}
	.image-problem img {
		position: relative;
		width: 280px;
		max-width: 50%;
		height: 200px;
	}
	.text-problem {
		padding: 110px 0 160px;
	}
	.item-problem ,.item-problem:nth-child(3) {
		width: 100%;
		margin: 0 0 20px;
	}
}
@media screen and (max-width: 640px) {
	.image-problem {
		padding: 20px 0 0;
		background-size: 260px 180px;
		background-position: bottom -10px right -10px;
	}
	.image-problem img {
		position: relative;
		height: 130px;
	}
	.text-problem {
		padding: 110px 0 50px;
	}
	.item-problem ,.item-problem:nth-child(3) {
		margin: 0 0 50px;
		padding: 0 20px 30px;
	}
	.item-problem-ttl {
		display: block;
		margin: -30px 0 20px;
		text-align: center;
	}
	.item-problem img {
		width: 70px;
		height: 70px;
	}
	.item-problem h3 {
		width: 100%;
		margin: 5px 0 0;
		font-size: 115%;
	}
	.list-problem::after {
		bottom: 10px;
		border-left: 20px solid transparent;
		border-right: 20px solid transparent;
		border-top: 20px solid #8FD1D6;
	}
}

/* intro */
.wrap-intro {
	padding: 0 0 120px;
	background: #FFF;
	text-align: center;
}
.balloon-intro {
	position: relative;
	max-width: 900px;
	margin: 0 auto;
	padding: 40px;
	top: -90px;
	background: #8FD1D6;
}
.balloon-intro::after {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	top: auto;
	right: 0;
	left: 0;
	margin: 0 auto;
	bottom: -30px;
	border-left: 30px solid transparent;
	border-right: 30px solid transparent;
	border-top: 30px solid #8FD1D6;
	border-bottom: none;
}
.balloon-intro p {
	font-size: 200%;
	font-weight: 600;
	line-height: 1.4;
}
.balloon-intro p span {
	display: inline-block;
}
.wrap-intro .ttl-main-visual-sub span {
	display: inline-block;
}
@media screen and (max-width: 1040px) {
	.wrap-intro {
	padding: 0 0 160px;
}
}
@media screen and (max-width: 640px) {
	.balloon-intro {
		top: -40px;
		padding: 20px;
	}
	.balloon-intro::after {
		bottom: -20px;
		border-left: 20px solid transparent;
		border-right: 20px solid transparent;
		border-top: 20px solid #8FD1D6;
	}
	.balloon-intro p {
		font-size: 129%;
	}
}

/* about */
.wrap-about {
	display: flex;
	justify-content: space-between;
  flex-direction: row-reverse;
	background: #FAFAE0 url(../images/bg-about.jpg) no-repeat top center;
	background-size: cover;
}
.image-about {
	position: relative;
	flex: 1;
}
.image-about-waka {
	position: absolute;
	max-width: 40%;
	top: -80px;
	right: -110px;
	z-index: 10;
}
.image-about .image-about-main {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.text-about {
	position: relative;
	width: 900px;
	max-width: 60%;
	padding: 80px 0 40px;
}
.text-about .contents-sentence {
	width: auto;
	max-width: none;
	padding: 0 80px;
}
.text-about p {
	margin: 0 0 1em;
}
@media screen and (max-width: 1040px) {
	.wrap-about {
		display: block;
		padding: 10px 0 0;
	}
	.image-about {
		width: 50%;
		height: 240px;
		margin: -100px 0 0;
	}
	.image-about-waka {
		top: -220px;
		right: 0;
		max-width: 40%;
	}
	.text-about {
		width: auto;
		max-width: 100%;
	}
}
@media screen and (max-width: 640px) {
	.image-about-waka {
		top: -180px;
		max-width: 45%;
	}
	.text-about .contents-sentence {
		padding: 0 20px;
	}
}

/* benefits */
.wrap-benefits {
	padding: 80px 0 120px;
	background: #FFF url("../images/bg-benefits.png") no-repeat;
	background-position: top -50px right -30px;
}
.wrap-benefits .contents-heading {
	max-width: 900px;
	padding: 0 40px;
}
.wrap-benefits h2 {
	font-size: 283%;
}
.ttl-benefits-sub {
	margin: 0 0 15px;
	padding: 0 0 15px;
	font-size: 53%;
	border-bottom: solid 1px #222;
	letter-spacing: 0;
}
.ttl-benefits-xebec {
	position: relative;
	padding: 0 25px;
}
.ttl-benefits-xebec::before,
.ttl-benefits-xebec::after {
    position: absolute;
    width: 16px;
    height: 30px;
    content: '';
		box-sizing: border-box;
}
.ttl-benefits-xebec::before {
    border-left: solid 5px #41CCFA;
    border-top: solid 5px #41CCFA;
    top: -3px;
    left: 10px;
}
.ttl-benefits-xebec::after {
    border-right: solid 5px #41CCFA;
    border-bottom: solid 5px #41CCFA;
    bottom: -3px;
    right: 10px;
}
.wrap-list-benefits {
	margin: 160px 0 0;
	padding: 10px 0 0;
	background: linear-gradient(90deg, #E6F4F1 0%, #E6F4F1 80%, transparent 80%, transparent 100%);
}
.wrap-list-benefits .contents-inner {
	margin-top: -100px;
}
.list-benefits {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.item-benefits {
	position: relative;
	width: 28.5%;
	margin: 0 0 60px;
}
.item-benefits img {
	margin: 0 0 20px;
	object-fit: cover;
}
.item-benefits h3 {
	margin: 0 0 20px;
}
.item-benefits h3 span {
	display: inline-block;
}
.item-benefits::before {
	position: absolute;
	top: -30px;
	left: 10px;
	content: "1";
	font-family: "EB Garamond", serif;
	font-size: 64px;
	color: #41CCFA;
	line-height: 1;
	z-index: 10;
}
.item-benefits:nth-child(2)::before {content:"2";}
.item-benefits:nth-child(3)::before {content:"3";}
.item-benefits:nth-child(4)::before {content:"4";}
.item-benefits:nth-child(5)::before {content:"5";}
.item-benefits:nth-child(6)::before {content:"6";}

@media screen and (max-width: 1040px) {
	.item-benefits {
		width: 48%;
	}
	.item-benefits img {
		width: 100%;
		height: 200px;
	}
}
@media screen and (max-width: 840px) {
	.wrap-benefits {
		background-size: 193px 380px;
		background-position: top -20px right -10px;
	}
}
@media screen and (max-width: 640px) {
	.wrap-benefits .contents-heading {
		width: auto;
		margin: 0 20px 20px;
		padding: 0;
	}
	.wrap-benefits h2 {
		font-size: 171%;
	}
	.ttl-benefits-sub {
		font-size: 67%;
		line-height: 2;
	}
	.ttl-benefits-xebec {
		padding: 0 15px;
	}
	.ttl-benefits-xebec::before,
	.ttl-benefits-xebec::after {
			width: 12px;
			height: 22px;
	}
	.ttl-benefits-xebec::before {
			border-left: solid 3px #41CCFA;
			border-top: solid 3px #41CCFA;
			top: 0;
			left: 6px;
	}
	.ttl-benefits-xebec::after {
			border-right: solid 3px #41CCFA;
			border-bottom: solid 3px #41CCFA;
			bottom: 0;
			right: 6px;
	}
	.wrap-list-benefits {
		margin: 140px 0 0;
		background: linear-gradient(90deg, #E6F4F1 0%, #E6F4F1 96%, transparent 96%, transparent 100%);
	}
	.item-benefits {
		width: calc(100% - 10px);
	}
	.item-benefits img {
		height: 140px;
		margin: 0 0 15px;
	}
	.item-benefits h3 {
		margin: 0 0 15px;
		font-size: 128.5%;
	}
}

/* japanese */
.wrap-japanese {
	position: relative;
	padding: 80px 0 200px;
	text-align: center;
	background:
	url("../images/bg-japanese02.png") no-repeat center 200px,
	url("../images/bg-japanese01.jpg") no-repeat top center;
	background-size: contain , cover;
	background-color: #FAFAE0;
}
.image-japanese-waka {
	position: absolute;
	max-width: 30%;
	top: -80px;
	right: 20px;
}
.wrap-japanese .contents-inner {
	width: 1020px;
}
.wrap-japanese .contents-inner h2 {
	font-size: 313%;
}
.ttl-japanese-sub {
	margin: 0 0 15px;
	padding: 0 20px;
	font-size: 60%;
	border: solid 1px #222;
}
.wrap-japanese .contents-sentence {
	max-width: 900px;
	font-weight: 600;
}
.wrap-japanese .contents-sentence p {
	margin: 0 0 1.5em;
}
.wrap-japanese .contents-sentence span {
	display: inline-block;
}
.example-japanese {
	margin: 0 0 60px;
	padding: 30px 60px;
	background-color: rgb(255 255 255 / .8);
}
.example-japanese h3 {
	margin: 0 0 1em;
	letter-spacing: 0.1em;
}
.example-japanese p {
	text-align: left;
	line-height: 1.8;
}
.example-japanese p:last-child {
	text-align: right;
}
.balloon-japanese {
	position: relative;
	padding: 30px 40px 40px;
	background: #8FD1D6;
}
.balloon-japanese::after {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	top: auto;
	right: 0;
	left: 0;
	margin: 0 auto;
	bottom: -70px;
	border-left: 40px solid transparent;
	border-right: 40px solid transparent;
	border-top: 40px solid #8FD1D6;
	border-bottom: none;
}
.balloon-japanese p {
	font-size: 180%;
	font-weight: 600;
	line-height: 1.5;
}
.balloon-japanese p span {
	display: inline-block;
}
.balloon-japanese-but {
	margin: 0 0 10px;
	padding: 0 20px;
	color: #FFF;
	background: #222;
	font-size: 77%;
}
.service-japanese {
	position: relative;
	margin: 0;
	padding: 1px 0 130px;
	background: #CCC;
	text-align: center;
	background: url(../images/bg-japanese03.jpg) no-repeat center center;
  background-size: cover;
}
.service-japanese p {
	width: 900px;
	max-width: 100%;
	margin: -100px auto 0;
	padding: 80px 0 100px;
	background: #FFF;
	font-size: 180%;
	font-weight: 600;
	box-sizing: border-box;
}
.service-japanese p img {
	margin: 20px 0 0;
}
@media screen and (max-width: 840px) {
	.image-japanese-waka {
		max-width: 32%;
	}
	.wrap-japanese .contents-inner h2 {
		font-size: 257%;
	}
	.ttl-japanese-sub {
		padding: 5px 30px;
		font-size: 50%;
	}
	.service-japanese p {
		padding: 60px 40px 80px;
	}
}
@media screen and (max-width: 640px) {
	.wrap-japanese {
		padding: 10px 0 160px;
		background:
		url("../images/bg-japanese02.png") no-repeat center 300px,
		url("../images/bg-japanese01.jpg") no-repeat top center;
		background-size: 1380px 913px , cover;
	}
	.image-japanese-waka {
		position: static;
		margin: -100px auto 30px;
		max-width: 40%;
	}
	.wrap-japanese .contents-sentence {
		margin: 0 auto 40px;
	}
	.example-japanese {
		margin: 0 0 40px;
    padding: 30px 20px;
	}
	.balloon-japanese {
		padding: 20px 20px 30px;
	}
	.balloon-japanese p {
		font-size: 128.5%;
	}
	.balloon-japanese-but {
		padding: 5px 25px;
		font-size: 88.5%;
	}
	.balloon-japanese::after {
		bottom: -40px;
		border-left: 20px solid transparent;
		border-right: 20px solid transparent;
		border-top: 20px solid #8FD1D6;
	}
	.service-japanese {
		padding: 1px 0 60px;
	}
	.service-japanese p {
		padding: 30px 20px;
		font-size: 128.5%;
	}
	.service-japanese p img {
		margin: 10px 0 0;
	}
}

/* xebec */
.wrap-xebec {
	padding: 100px 0;
	background: #F6F6F6;
}
.wrap-xebec .contents-inner {
	width: 1020px;
}
.logo-mark-xebec {
	display: block;
	margin: 0 auto 40px;
	padding: 0 10px 0 0;
	box-sizing: border-box;
}
.wrap-xebec .contents-sentence {
	font-size: 100%;
}
.comment-xebec {
	margin: 60px 0 0;
	padding: 40px 30px;
	border: solid 3px #8FD1D6;
	background: #FFF;
	text-align: center;
}
.comment-xebec p {
	font-size: 138%;
	font-weight: 600;
	line-height: 1.6;
}

.tab-area {
	width: 100%;
	max-width: 900px;
	margin: 40px auto 0;
}
.tab-btn {
	display:none;
}
.tab-list-wrap {
	padding:0;
	margin: 0;
	list-style-type:none;
	display:flex;
	justify-content:space-between;
}
.tab-list-wrap li {
	display:table;
	width: 50%;
}
.tab-list {
	position: relative;
	display:table-cell;
	width: 100%;
	height: 100%;
	padding: 30px 0;
	text-align:center;
	background: #222;
	color: #FFF;
	box-sizing:border-box;
	cursor:pointer;
	font-size: 150%;
	line-height: 1.4;
	vertical-align: middle;
}
.tab-list::before {
	content: "";
	position: absolute;
	left: 40px;
	top: 0;
  bottom: 0;
  margin: auto 0;
  vertical-align: middle;
  color: #FFF;
  line-height: 1;
  width: 1em;
  height: 1em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
}
#tab-btn1:checked ~ .tab-list-wrap #tab-list1,
#tab-btn2:checked ~ .tab-list-wrap #tab-list2{
	background:#FFF;
	color: #222;
}
#tab-btn1:checked ~ .tab-list-wrap #tab-list1::before ,
#tab-btn2:checked ~ .tab-list-wrap #tab-list2::before {
	color: #222;
}
.tab-content{
	padding: 60px;
	display: none;
}
#tab-btn1:checked ~ .tab-content-wrap #tab-content1,
#tab-btn2:checked ~ .tab-content-wrap #tab-content2{
	display: block;
	background: #FFF;
}
.tab-content-wrap th ,.tab-content-wrap td {
	padding: 20px 30px;
}
.tab-content-wrap th {
	width: 200px;
	text-align: left;
	background: #E3E3E3;
	border-bottom: solid 1px #FFF;
}
.tab-content-wrap td {
	border-bottom: solid 1px #DDD;
	border-top: solid 1px #DDD;
	border-right: solid 1px #DDD;
}
.tab-content-wrap td li {
	position: relative;
	margin: 1em 0;
	padding: 0 0 0 1.2em;
	list-style: none;
	line-height: 1.4;
}
.tab-content-wrap td li::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "■";
}
.tab-content-wrap td li li {
	margin: 0.5em 0;
}
.tab-content-wrap td li li::before {
	content: "◆";
}
.item-xebec-features {
	display: flex;
  align-items: flex-start;
	padding: 40px 0;
	border-bottom: solid 1px #CCC;
}
.item-xebec-features:first-child {
	padding: 0 0 40px;
}
.item-xebec-features:last-child {
	padding: 40px 0 0;
	border-bottom: none;
}
.item-xebec-features img {
	width: 240px;
	margin: 0 40px 0 0;
}
.item-xebec-features h3 {
	margin: 0 0 20px;
	font-size: 138%;
}
.item-xebec-features h3 span {
	display: inline-block;
}
@media screen and (max-width: 840px) {
	.tab-content {
		padding: 40px 30px;
	}
	.tab-content-wrap th, .tab-content-wrap td {
		padding: 20px;
	}
	.tab-content-wrap th {
		width: 120px;
	}
}
@media screen and (max-width: 640px) {
	.wrap-xebec {
		padding: 60px 0;
	}
	.logo-mark-xebec {
		max-width: 65%;
	}
	.tab-list-wrap {
		margin: 0 -20px;
	}
	.tab-list {
		position: relative;
		display:table-cell;
		padding: 20px 0 36px;
		font-size: 115%;
	}
	.tab-list::before {
		top: auto;
		bottom: 10px;
		right: 0;
		left: 0;
		margin: 0 auto;
	}
	.tab-content-wrap {
		margin: 0 -20px;
	}
	.tab-content {
		padding: 30px 20px;
	}
	.tab-content-wrap th ,.tab-content-wrap td {
		display: block;
		width: auto;
		border: none;
	}
	.tab-content-wrap th {
		padding: 10px;
	}
	.tab-content-wrap td {
		padding: 10px 0 20px;
	}
	.item-xebec-features {
		display: block;
		padding: 30px 0;
	}
	.item-xebec-features img {
		width: 100%;
		height: 140px;
		margin: 0 0 20px;
		object-fit: cover;
	}
	.comment-xebec {
		padding: 30px 20px;
	}
	.comment-xebec p {
    font-size: 128.5%;
}
	.comment-xebec p span {
		display: inline-block;
	}
}

/* flow */
.wrap-flow {
	padding: 80px 0;
	background: #FFF;
}
#wrap {
	padding: 50px 0;
	overflow: hidden;
}
#slider {
	width: 1080px;
	max-width: 85%;
	margin: 0 auto;
}
#slider .slick-track {
	display: flex;
}
#slider .slick-track::before ,#slider .slick-track::after {
	content: "";
}
#slider .slick-list {
	overflow: visible;
}
#slider .slick-slide {
	margin: 0 20px;
	background-color: #F6F6F6;
}
#slider .slick-slide > div {
	height: 100%;
}
#slider .item-slider {
	display: block;
	position: relative;
	padding: 50px;
}
#slider .item-slider::before {
	position: absolute;
	top: -40px;
	left: 10px;
	content: "1";
	font-family: "EB Garamond", serif;
	font-size: 80px;
	font-weight: 600;
	color: #41CCFA;
	line-height: 1;
}
#slider li:nth-child(2) .item-slider::before {content: "2";}
#slider li:nth-child(3) .item-slider::before {content: "3";}
#slider li:nth-child(4) .item-slider::before {content: "4";}
#slider li:nth-child(5) .item-slider::before {content: "5";}
#slider li:nth-child(6) .item-slider::before {content: "6";}
#slider li:nth-child(7) .item-slider::before {content: "7";}
#slider li:nth-child(8) .item-slider::before {content: "8";}
#slider span img {
	margin: 0 0 20px;
}
#slider .item-slider h3 {
	margin: 0 0 10px;
	line-height: 1.5;
	font-size: 150%;
}
#slider .item-slider h3 span {
	display: inline-block;
}
#slider .slick-arrow {
	z-index: 10;
	width: 60px;
	height: 60px;
}
#slider .slick-arrow:before {
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	opacity: 1;
}
#slider .slick-next {
	right: -60px;
}
#slider .slick-prev {
	left: -60px;
}
#slider .slick-next:before {
	background: url(../images/arrow-r.png);
	background-size: contain;
}
#slider .slick-prev:before {
	background: url(../images/arrow-l.png);
	background-size: contain;
}
#slider .slick-prev.slick-disabled:before, #slider .slick-next.slick-disabled:before {
	opacity: .5;
}
#slider .slick-dots {
	bottom: -50px;
}
#slider .slick-dots li button:before {
	font-size: 20px;
}
#slider .slick-dots li:hover button:before {
	opacity: .6;
}
#slider .slick-dots li.slick-active button:before {
	color: #41CCFA;
}
@media screen and (max-width: 1040px) {
	#slider .item-slider {
		padding: 40px 30px;
	}
	#slider .slick-slide {
		margin: 0 15px;
	}
}
@media screen and (max-width: 840px) {
	#slider {
		max-width: 80%;
	}
	#slider .item-slider h3 {
		font-size: 128.5%;
	}
}
@media screen and (max-width: 640px) {
	#slider {
		max-width: 90%;
	}
	.wrap-flow {
		padding: 60px 0;
	}
	#slider .item-slider img {
		width: 80px;
		height: 80px;
	}
	#slider .slick-arrow {
		width: 40px;
		height: 40px;
	}
	#slider .slick-prev {
		left: -10px;
	}
	#slider .slick-next {
		right: -10px;
	}
}

/* contact */
.wrap-contact {
	padding: 100px 0;
	background: #E6F4F1;
}
.wrap-contact .contents-inner {
	width: 920px;
}
.check_policy {
	padding: 40px;
	border: solid 3px #FFF;
	line-height: 1.5;
}
.check_policy h3 {
	margin: 0 0 20px;
	font-size: 113%;
	font-weight: 600;
}
.check_policy p {
	margin: 0 0 20px;
}

.check_box input[type="checkbox"] {
  position: relative;
  width: 24px;
  height: 24px;
	margin: 0 10px 0 0;
	background: #FFF;
  border: 2px solid #999999;
  vertical-align: -5px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.check_box input[type="checkbox"]:checked {
  border: 2px solid #41CCFA;
	background: #41CCFA;
}
.check_box input[type="checkbox"]:checked:before {
  position: absolute;
  top: 2px;
  left: 6px;
  transform: rotate(50deg);
  width: 6px;
  height: 10px;
  border-right: 3px solid #FFF;
  border-bottom: 3px solid #FFF;
  content: '';
}

.contact-form {
	margin: 60px 0 0;
}
.contact-form input,
.contact-form textarea {
	width: 100%;
	padding: 15px;
	font-size: 113%;
	border: solid 1px #999;
	font-family: 'Noto Serif JP', serif;
	box-sizing: border-box;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder {
	color: #999;
}
.contact-form h3 {
	margin: 25px 0 10px;
	font-size: 113%;
	font-weight: 600;
}
.contact-form-required {
	color: #BC2400;
	font-size: 88%;
}
.btn-form {
	text-align: center;
}
.btn-form input {
	width: 240px;
	margin: 20px 0;
	padding: 15px 20px;
	background: #222;
	color: #FFF;
	border: solid 1px #222;
	border-radius: 0;
	font-size: 113%;
	font-family: 'Noto Serif JP', serif;
	cursor: pointer;
	transition:all 0.3s ease;
}
.btn-form input:hover {
	background: #FFF;
	color: #222;
}
@media screen and (max-width: 640px) {
	.wrap-contact {
		padding: 60px 0;
	}
	.check_policy {
		padding: 30px 20px;
	}
	.contact-form {
		margin: 40px 0 0;
	}
}

/* -------
page
------- */
/* page common */
.wrap-page {
	padding: 160px 0 0;
	background: #FFF;
}
.page-heading {
	position: relative;
	height: 260px;
}
.page-title {
	width: 1320px;
	max-width: 100%;
	margin: 0 auto;
	padding: 0 60px;
	box-sizing: border-box;
}
.page-title h1 {
	max-width: 50%;
	padding: 50px 0 0;
	font-size: 250%;
}
.page-heading img {
	position: absolute;
	top: 0;
	right: 0;
	width: 45%;
	height: 260px;
	object-fit: cover;
}
.page-contents {
	margin: -100px 0 0;
	padding: 40px 0 100px;
	background: #E6F4F1;
}
.breadcrumbs {
	position: relative;
	width: 1320px;
	max-width: 100%;
	margin: 0 auto 100px;
	padding: 0 60px;
	z-index: 10;
	box-sizing: border-box;
}
.breadcrumbs ul {
	display: flex;
}
.breadcrumbs li {
	padding: 0 10px 0 0;
	list-style: none;
}
.breadcrumbs li a {
	display: inline-block;
	margin: 0 10px 0 0;
}
.breadcrumbs li::after {
	content: "\03e";
}
.breadcrumbs li:last-child::after {
	content: none;
}
@media screen and (max-width: 840px) {
	.wrap-page {
		padding: 120px 0 0;
	}
	.page-heading {
		height: 200px;
	}
	.page-title {
		padding: 0 30px;
	}
	.page-title h1 {
		padding: 30px 0 0;
		max-width: 55%;
	}
	.page-heading img {
		height: 200px;
		max-width: 40%;
	}
	.page-contents {
		margin: -60px 0 0;
    padding: 20px 0 100px;
	}
	.breadcrumbs {
		padding: 0 40px;
	}
}
@media screen and (max-width: 640px) {
	.page-title {
		width: 100%;
		padding: 0 20px;
	}
	.page-title h1 {
		max-width: 100%;
		padding: 0 0 20px;
		font-size: 171%;
	}
	.page-heading img {
		position: static;
		margin: 0 0 0 20px;
		width: calc(100% - 20px);
		max-width: 100%;
		height: 120px;
	}
	.page-heading {
		height: auto;
	}
	.page-contents {
		margin: -60px 0 0;
		padding: 70px 0 100px;
	}
	.breadcrumbs {
		width: 100%;
		margin: 0 auto 40px;
		padding: 0 20px;
	}
}
/* page page-contact */
.page-contact .contents-inner {
	width: 860px;
}
.note {
	margin: 0 0 40px;
	padding: 20px;
	border: solid 3px #83CCD2;
	background: #FFF;
	text-align: center;
	font-size: 113%;
	font-weight: 600;
}
.note-error {
	border: solid 3px #BC2400;
	background: #FFF;
	color: #BC2400;
}
.note-thanks {
	padding: 30px 40px;
	font-weight: 400;
	text-align: left;
	border: none;
}
.contact-form .form-error, .contact-form .form-error {
	background: #FEF1FA;
	border: solid 1px #BC2400;
}
.txt-error {
	color: #BC2400;
	font-weight: 600;
}
.btn-form .btn-back {
	vertical-align: bottom;
}
.btn-form .btn-back {
	display: inline-block;
	width: 240px;
	margin: 20px 20px 20px 0;
	padding: 15px 20px;
	background: #CCC;
	border: solid 1px #CCC;
	font-size: 113%;
	font-family: 'Noto Serif JP', serif;
	cursor: pointer;
	transition: all 0.3s ease;
}
.btn-form .btn-back:hover {
	background: #FFF;
	border: solid 1px #222;
}
@media screen and (max-width: 640px) {
	.note-thanks {
		padding: 20px 30px;
	}
}

/* page page-privacy-policy */
.wrap-section {
	margin: 0 0 40px;
	padding: 60px 60px 40px;
	background: #FFF;
}
.wrap-section h2 {
	padding: 0 0 1.5em;
	border-bottom: solid 1px #222;
	font-size: 200%;
}
.wrap-section h2 span {
	display: inline-block;
}
.wrap-section h3 {
	margin: 1.8em 0 0.8em;
}
.wrap-section p {
	margin: 0 0 1.4em;
}
.wrap-section .ta-right {
	text-align: right;
}
.border {
	width: 100%;
	max-width: 800px;
	margin: 40px auto;
	padding: 40px;
	border: solid 3px #E3E3E3;
	text-align: center;
	box-sizing: border-box;
}
.border h4 {
	margin: 0 0 0.6em;
	font-size: 113%;
}
.border p {
	margin: 0;
}
@media screen and (max-width: 840px) {
	.wrap-section {
		padding: 40px 30px 30px;
	}
}
@media screen and (max-width: 640px) {
	.wrap-section {
		margin: 0 0 20px;
		padding: 20px;
	}
	.wrap-section h2 {
		margin: 0 0 1em;
		padding: 0 0 1em;
		font-size: 150%;
	}
	.wrap-section h3 {
		font-size: 128.5%;
	}
	.border {
		padding: 20px;
	}
}
/* table */
.table_box {
	margin: 30px 0;
}
.page-contents table {
	min-width: 100%;
}
.page-contents th ,.page-contents td {
	padding: 20px 30px;
}
.page-contents th {
    text-align: left;
    background: #E3E3E3;
    border-bottom: solid 1px #FFF;
}
.page-contents thead th {
	padding: 15px 30px;
	background: #BBB;
	border: solid 1px #EEE;
	text-align: center;
	line-height: 1.2;
	vertical-align: middle;
}
.page-contents tr:last-child th {
	border-bottom: none;
}
.page-contents td {
		background: #FFF;
    border-bottom: solid 1px #DDD;
    border-top: solid 1px #DDD;
    border-right: solid 1px #DDD;
}
.page-contents td ul {
	margin-left: 1em;
}
.page-contents .table01 tbody .table01__header {
	width: 30px;
	text-align: center;
}
@media screen and (max-width: 840px) {
	.page-contents th ,.page-contents td {
		padding: 15px;
	}
}
@media screen and (max-width: 640px) {
	.table_box {
		overflow-x: auto;
	}
	.page-contents th ,.page-contents td {
		padding: 10px 15px;
	}
	.page-contents tbody th {
		min-width: 100px;
		padding: 10px;
	}
	.page-contents tbody td {
		min-width: 200px;
	}
	.page-contents thead th {
		padding: 10px;
	}
	.page-contents .table01 tbody .table01__header {
		min-width: 30px;
	}
}

/* -------
footer
------- */
.wrap-footer {
	padding: 100px 0 60px;
	background: #FFF;
	text-align: center;
}
.footer-logo-xebec {
	margin: 30px 0 0;
	font-size: 150%;
}
.footer-logo-xebec img {
	margin: 0 0 0 10px;
}
footer .copyright {
	margin: 60px 0 0;
}
@media screen and (max-width: 640px) {
	.footer-logo-xebec {
		font-size: 100%;
	}
	.footer-logo-xebec img {
		width: 140px;
	}
	footer .copyright {
		font-size: 86%;
	}
}