@charset "utf-8";
/* CSS Document */

/* =====================
  Base
===================== */
body {
	font-family: "游ゴシック", "Yu Gothic", "YuGothic","Yu Gothic Medium", "游ゴシック Medium", Yu Gothic, "游ゴシック体", 'Oswald',"ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-size: 1.6rem;
	color: #222;
	font-weight: 500;
	background-color: #fff;
}
body, a, dd, div, dt, h1, h2, h3, h4, h5, h6, html, label, li, p, span, td, th {
	line-height: 1.6;
	font-weight: 500;
}
a {
	display: inline-block;
	text-decoration:none;
	transition: 0.3s ease-in-out;
	color: #222;
}
a:hover {
	text-decoration:none;
	transition: 0.3s ease-in-out;
	opacity: 0.8;
	color: #222;
}
img {
	max-width: 100%;
}

.container {
	margin: 0 auto;
    max-width: 1120px;	
}
.container-inner {
	margin: 0 auto;
	max-width: 800px;	
}
/* scroll bar */
::-webkit-scrollbar {
	width: 10px;
	height: 10px;
	background-color: #fff;
}
::-webkit-scrollbar-thumb {
	cursor: pointer;
	background: #1eb9ee;
}
::-moz-selection {
  background-color: #1eb9ee;
  text-shadow: none;
}
::selection {
  background-color: #1eb9ee;
  text-shadow: none;
}


/* =====================
  汎用クラス
===================== */
/* btn */
a.btn {
	width: 100%;
	max-width: 360px;
	height: 80px;
	vertical-align: top;
	transition: 0.3s ease-in-out;
	border: 1px solid #fff;
	box-sizing: border-box;
	color: #fff;
	position: relative;
}
a.btn span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%, -50%);
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: 0.2em;
}
a.btn span.en {
	font-family: 'Montserrat', sans-serif;
}
a.btn:hover {
	width: 100%;
	border: 1px solid transparent;
	border-left: 1px solid #00b5b7;
	border-right: 1px solid #0049b7;
	transition: 0.3s ease-in-out;
}
a.btn:before,
a.btn:after {
	content: "";
	position: absolute;
	left: 0;
	display: block;
	height: 1px;
	width: 100%;
	background: -webkit-gradient(linear, left top, right bottom, from(#00b5b7), to(#0049b7));
	background: -moz-linear-gradient(left , #00b5b7, #0049b7);
	background: linear-gradient(to right, #00b5b7, #0049b7);
	transition: 0.3s ease-in-out;
	opacity: 0;
}
a.btn:before {
	top: 0;
}
a.btn:after {
	bottom: 0;
}
a.btn:hover:before,
a.btn:hover:after {
	opacity: 1;
}
a.blank:after {
	position: relative;
	content: url(../images/common/icon_blank.png);
	right: -10px;
	top: 0;
}
.left {
	float: left;
}
.right {
	float: right;
}
.bold {
	font-weight: bold;
}
.text-link {
	text-decoration: underline;
    word-break: break-word;
}
.text-link:hover {
	text-decoration: none;
}


/* =====================
  link-box gra
===================== */
.link-box {
	text-align: center;
}
.link-box  li.box {
	width: 30%;
	display: inline-block;
	position: relative;
	vertical-align: top;
	transition: 0.3s ease-in-out;
	border: 1px solid #fff;
	box-sizing: border-box;
}
.link-box  li.box:hover {
	width: 30%;
	display: inline-block;
	position: relative;
	vertical-align: top;
	background: rgba(255,255,255,0.20);
}
.link-box  li.box:before,
.link-box  li.box:after {
	content: "";
	display: block;
	height: 1px;
	width: 100%;
	transition: 0.3s ease-in-out;
	opacity: 0;
}
.link-box  li.box:hover:before,
.link-box  li.box:hover:after {
	opacity: 1;
}
.link-box  li.box:after {
    content: "";
    display: block;
    margin-top: 100%;
}
.link-box  li.box div {
	display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.link-box  li.box a {
	height: 100%;
	width: 100%;
	position: relative;
	font-weight: 100;
}
.link-box  li.box a:after {
	content: "";
	background-image: url(../images/common/icon_arrow_w.png);
	background-repeat: no-repeat;
	background-size: cover;
	width: 70px;
    height: 13px;
	position: absolute;
	bottom: 20%;
	left: 50%;
	transform: translate(-50%,0);
	-webkit-transform: translate(-50%,0);
	transition: 0.3s ease-in-out;
}
.link-box  li.box a:hover:after {
	transition: 0.3s ease-in-out;
	left: 53%;
}
.link-box  li.box a:hover {
	color: #fff;
	opacity: 1;
}
.link-box  li.box a span.middle {
	font-size: 4.2rem;
	font-family: 'Montserrat', sans-serif;
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%, -50%);
	width: 100%;
	padding: 0 30px;
	line-height: 0.8;
	letter-spacing: 0.6rem;
}
.link-box  li.box a span.jp {
	font-family: "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ ゴシック", sans-serif;
	font-size: 1.6rem;
	width: 100%;
	display: inline-block;
}


/* =====================
  .block-revealer
===================== */
.block-revealer__element {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    pointer-events: none;
    opacity: 0;
	z-index: 10;
}

/* =====================
  pankuzu
===================== */

.bread-crumb ul {
  /*width: 95%;*/
  max-width: 1120px;
  margin: 5px auto;
  text-align: right;
}
.bread-crumb ul li {
  font-size: 1.4rem;
  display: inline-block;
}
.bread-crumb ul li::after {
  content: "|";
  padding: 0 15px;
}
.bread-crumb ul li:last-child::after {
  display: none;
}
.bread-crumb ul li a {
  color: rgba(30,185,238,1.00);
  text-decoration: underline;
}
.bread-crumb ul li a:hover {
  text-decoration: none;
}


/* =====================
  pegeTop
===================== */
.pagetop {
	display: none;
}
.pagetop a {
    position: fixed;
    bottom: 60px;
    right: 5%;
	z-index: 100;
	width: 67px;
	height: 67px;
	background-color: #fff;
	text-align: center;
	border: 1px solid rgba(30,185,238,1.00);
}
.pagetop a:hover {
	background-color: rgba(30,185,238,1.00);
}
.pagetop a span {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-top: 3px solid rgba(30,185,238,1.00);
    border-right: 3px solid rgba(30,185,238,1.00);
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg);
    margin-top: 30px;
    transition: 0.3s ease-in-out;
}
.pagetop a:hover span {
    border-top: 3px solid #fff;
    border-right: 3px solid #eee;
	transition: 0.3s ease-in-out;
}
.pagetop a:hover {
	opacity: inherit;
}


/* =====================
  footer
===================== */
footer {
  background-color: #222323;
  color: #fff;
}
footer a {
  color: #fff;
}
footer a:hover {
  color: inherit;
}
footer .footer-content {
  width: 90%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 30px 0;
  font-family: 'Montserrat', sans-serif;;
}
footer .link {
  width: 50%;
  float: left;
  text-align: left;
}
footer .link a::after {
  content: "";
  display: inline-block;
  width: 15px;
  height: 14px;
  background: url(../images/icon_footer-link.png);
  background-size: contain;
  margin-left: 10px;
}
footer .link a::after:hover {
  opacity: 0.8;
}
footer .copy {
  width: 50%;
  float: left;
  text-align: right;
}



/* ====================================================================================
         SP時
  ==================================================================================== */
@media screen and (max-width: 768px) {
	
/* =====================
  Base
===================== */
	main {
		overflow: hidden;
	}
	body {
		font-size: 1.4rem;
	}
	body, a, dd, div, dt, h1, h2, h3, h4, h5, h6, html, label, li, p, span, td, th {
		line-height: 1.4;
	}
	
	
/* =====================
  汎用クラス
===================== */
/* btn */
	a.btn {
		max-width: 260px;
		height: 60px;
	}
	a.btn span {
		font-size: 1.6rem;
	}
	.inner-responsive {
		overflow-x: scroll;
		display: block;
		-webkit-overflow-scrolling: touch;
	}
	.left,
	.right {
		float: none;
	}
	
	
/* =====================
  link-box gra
===================== */
	.link-box  li.box {
		width: 100%;
		margin: 0!important;
		margin-bottom: 20px!important;
	}
	.link-box  li.box:hover {
		width: 100%;
	}
	.link-box  li.box a:after {
		width: 60px;
		height: 11px;
		background-size: contain;
		bottom: 15%;
	}
	.link-box  li.box a span.middle {
		font-size: 4rem;
		padding: 0 20px;
		line-height: 1;
		letter-spacing: 0.4rem;
	}
	.link-box  li.box a span.jp {
		font-size: 1.4rem;
		letter-spacing: 0.1rem;
	}

/* =====================
  .block-revealer
===================== */
.block-revealer__element {
    background: transparent;
    opacity: 1;
	z-index: 0;
}
	
	
	
/* =====================
  pankuzu
===================== */
	.pankuzu {
		padding: 10px 0 30px 0;
		float: left;
	}
	.pankuzu li {
		font-size: 1rem;	
	}

	
/* =====================
  pegeTop
===================== */
	.pagetop a {
		width: 40px;
		height: 40px;
		right: 20px ;
		bottom: 20px;
	}
	.pagetop a span {
		width: 10px;
		height: 10px;
		margin-top: 16px;
	}
	

/* =====================
  footer
===================== */
	footer .entry-area {
		padding: 40px 20px;
	}
	footer .entry-area p.ttl {
		display: none;
	}
	footer .entry-area p.ttl-sp {
		display: block;
		font-family: 'Montserrat', sans-serif;
		font-size: 3.4rem;
		font-weight: 300;
		margin-bottom: 20px;
		line-height: 1.4;
		background: -webkit-linear-gradient(90deg, #00b5b7 0% ,#0049b7 100%);
		-webkit-text-fill-color: transparent;
		-webkit-background-clip: text;
		text-align: center;
	}
	footer .entry-area p.text {
		font-size: 1.4rem;
		margin-bottom: 40px;
		line-height: 1.6;
	}
	footer .entry-area ul {
		margin-bottom: 40px;
	}
	footer .entry-area ul li {
		width: 50%;
		padding-bottom: 10px;
	}
	footer .entry-area ul li .en {
		font-size: 3.6rem;
	}
	footer .entry-area ul li .jp {
		font-size: 1.2rem;
	}
	footer .entry-area a:first-child {
		margin-right: 0;
		margin-bottom: 20px;
	}
	footer .copy-area {
		height: auto;
		padding: 10px 20px!important;
	}
	footer .copy-area a {
		width: 100%;
		margin-bottom: 10px;
	}
	footer .copy-area a,
	footer .copy-area p {
		display: block;
		text-align: center!important;
	}
	footer .copy-area p {
		font-size: 1.2rem;
		margin-top: 10px;
	}
	footer .footer-content {
	  width: 100%;
	  padding: 30px 20px;
	}

	
	
}



/* =====================
  調整
===================== */
@media screen and (max-width: 1140px) {
	.container {
		padding: 0 20px!important;
		max-width: 100%;
	}
	.container-inner {
		padding: 0 20px;
		max-width: 100%;
	}
}


