@charset "utf-8";

/* 共通 */
html{
	scroll-behavior: smooth;
}
* {
	margin: 0;
	padding: 0;
	vertical-align:baseline;
	background:transparent;
	text-decoration: none;
	font-family: ften-mincho-text, serif;
	font-family: feffra, noto-sans-cjk-jp, "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "sans-serif";
	list-style: none;
}
body {
	min-width: 320px;
	transition: width 1s ease-in-out 0.01s;
}
h1{
	font-size: 4em;
	font-weight: 400;
	color:#333;
}
h2{
	font-family: ten-mincho-text, serif;
	font-size: 2.2em;
	font-weight: 400;
	color:#333;
}
h3{
	font-size: 1.8em;
	font-weight: 200;
	color:#333;
}
h4{
	font-size: 1.3em;
	font-weight: 200;
	color:#333;
}
h5{
	font-size: 1em;
	font-weight: 200;
	color:#333;
}
p{
	font-size: 1em;	
	font-weight: 200;
	color:#333;
}
.mini{
	font-size:0.8em;
}
@media screen and (max-width: 1024px) {
	h1{
		font-size: 2.6em;
	}
	h2{
		font-family: ten-mincho-text, serif;
		font-size:1.6em
	}
	h3{
		font-size:1.5em
	}
	h4{
		font-size:1.3em
	}
}
@media screen and (max-width: 767px) {
	h1{
		font-size: 1.5em;
	}
	h2{
		font-family: ten-mincho-text, serif;
		font-size:1.3em
	}
	h3{
		font-size:1.15em
	}
	h4{
		font-size:1em
	}
}
@media screen and (max-width: 414px) {
	br{
		display: none;
	}
}
/* カラー */
.pbBlue{
	color:#0050c8;
}
.pbLightBlue{
	color:#09a9ff;
}
.pbRed{
	color:#ff3214;
}
.pbGlay{
	color:#ebebf5;
}
.pbWhite{
	color:#fff;
}
/*アンダーライン*/
.underline {
  display: inline-block;
  padding-bottom: 4px;
  position: relative;
}
.underline::after {
  background-color: #0050c8;
  bottom: 0;
  content: '';
  display: block;
  height: 2px;
  left: 0;
  position: absolute;
  transition: .5s all;
  width: 0;
}
.underline:hover::after {
  width: 100%;
}
#underline-point{
	color: #0050c8;
	padding-bottom: 4px;
	border-bottom:solid;
	border-color:#0050c8;
	border-width:2px;
}
.textLemon{
	background-color: #FFF450;
}
.textRed{
	background-color: #ff3214;
	color: #fff;
}
/* ズーム*/
.zoom{
	overflow: hidden;
	background-color:#0050c8;
}
.zoom:hover .zoomText {
	z-index: 1;	
}
.zoom:hover .image{
	transform: scale(1.2,1.2);
	transition:0.5s all;
	opacity: 0.6;
	z-index: -10;
}
.zoom:hover .imageBottom{
	transform: scale(1.1,1.1);
	transition:0.5s all;
	transform-origin: bottom;
	z-index: -10;
}
/* ヘッダーここから */
.pagetop {
	width: 100%;
	height: 75px;
	position: fixed;
	top: 0;
	left: 0;
	background-color: #fff;
	z-index:99;
}
.top-logo {
	float: left;
	margin: 25px 0;
	margin-left: 40px;
}
.top-logo::after {
	clear: both;
}
.rightMenu :hover{
	opacity: 0.5;
}
.top-logo img {
	width: 250px;
 	margin-right: 20px;
}
.leftMenu {
	float: right;
	text-align: center;
	margin-right: 130px;
}
.leftMenu li {
	display: inline-block;
	font-size:16px;
	font-weight: bold;
	margin: 25px 0 25px 25px;
	letter-spacing: 0em;
}
.leftMenu li :hover  {
	color: #0050c8;
	transition: .5s all;
}
.leftMenu li a {
	display: block;
	font-weight: 400;
	color:#333;
	text-decoration: none;
}
.rightMenu li i{
	font-size:35px;
	padding: 0 0 5px 0 ;
	display: block;
}
#headerTel{
	display: inline-block;
	font-size: 16px;
	line-height: 16px;
	font-weight: 400;
	color:#333;
	vertical-align: middle;
	margin: 0 0 0 20px;
}
#headerTel span{
	font-size: 9px;
	font-weight: 400;
	color:#333;
}
#demo {	
	width: 90px;
	height: 50px;
	background: #09a9ff;
	border: none;
	font-size:13px;
	padding: 12.5px;
	text-align: center;
	position: absolute;
	top: 0px;
	right: 115px;
}
#demo a {
	padding: 0;
	color: #fff;
}
#inquiry {	
	width: 90px;
	height: 50px;
	background: #0050c8;
	border: none;
	font-size:13px;
	padding: 12.5px;
	text-align: center;
	position: absolute;
	top: 0px;
	right: 0px;
}
#inquiry a {
	padding: 0;
	color: #fff;
}
@media screen and (max-width: 1469px) {
	.leftMenu li {
		font-size: 12px;
		margin: 30px 0 30px 5px;
	}
	.leftMenu {
		margin-right: 130px;
	}
	#headerTel{
		font-size: 12px;
		line-height: 12px;
	}
	#headerTel span{
		font-size: 7px;
	}
}
@media screen and (min-width: 1113px) {
	#navArea{
		display: none;
	}
	nav {
		display: none;
	}
}
@media screen and (max-width: 1112px) {
	#topMenu{
		display: none;
	}
	nav .inner #headerTel {
	  display: block;
	  color: #fff;
	  font-size: 17px;
	  padding: 1.5em;
	  text-decoration: none;
	  transition-duration: 0.2s;
	  text-align: center;
	  line-height: 20px;
	}
	nav {
	  display: block;
	  position: fixed;
	  top: 0;
	  left: -9999px;
	  bottom: 0;
	  width: 60vw;
	  background: #0050c8;
	  overflow-x: hidden;
	  overflow-y: auto;
	  -webkit-overflow-scrolling: touch;
	  transition: all .5s;
	  z-index: 3;
	  opacity: 0;
	}
	.open nav {
	  left: 0;
	  opacity: 1;
	}
	nav .inner {
	  padding: 25px;
	}
	nav .inner ul {
	  list-style: none;
	  margin: 0;
	  padding: 0;
	}
	nav .inner ul li {
	  position: relative;
	  margin: 0;
	  border-bottom: 1px solid #fff;
	}
	nav .inner ul li a {
	  display: block;
	  color: #fff;
	  font-size: 17px;
	  padding: 1.5em;
	  text-decoration: none;
	  transition-duration: 0.2s;
	}
	nav .inner ul li a:hover {
	  background: #ff3214;
	}
	.toggle_btn {
	  display: block;
	  position: fixed;
	  top: 22.5px;
	  right: 30px;
	  width: 30px;
	  height: 30px;
	  transition: all .5s;
	  cursor: pointer;
	  z-index: 3;
	}
	.toggle_btn span {
	  display: block;
	  position: absolute;
	  left: 0;
	  width: 30px;
	  height: 2px;
	  background-color: #000;
	  border-radius: 4px;
	  transition: all .5s;
	}
	.toggle_btn span:nth-child(1) {
	  top: 4px;
	}
	.toggle_btn span:nth-child(2) {
	  top: 14px;
	}
	.toggle_btn span:nth-child(3) {
	  bottom: 4px;
	}
	.open .toggle_btn span {
	  background-color: #fff;
	}
	.open .toggle_btn span:nth-child(1) {
	  -webkit-transform: translateY(10px) rotate(-315deg);
	  transform: translateY(10px) rotate(-315deg);
	}
	.open .toggle_btn span:nth-child(2) {
	  opacity: 0;
	}
	.open .toggle_btn span:nth-child(3) {
	  -webkit-transform: translateY(-10px) rotate(315deg);
	  transform: translateY(-10px) rotate(315deg);
	}
	#mask {
	  display: none;
	  transition: all .5s;
	}
	.open #mask {
	  display: block;
	  position: fixed;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100%;
	  background: #000;
	  opacity: .8;
	  z-index: 2;
	  cursor: pointer;
	}
	main {
	  padding: 50px;
	}
}
@media screen and (max-width: 767px) {
	nav {
	  width: 100vw;
	}

}
/* ヘッダーここまで */
/* 共通キャッチ */
.catchContainer{
	position: relative;
	padding: 250px 0 100px 0 ;
	margin: 0 auto;
	width: 1024px;
}
.catchCopy{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
}
.catchCopy p {
	font-size:4.5em;
	letter-spacing: 0.1em;
	font-weight: 500;
}
.catchContainer h1 {
	font-family: ten-mincho-text, serif;
	padding: 10px 0 60px 0;
	font-size:2.5em;
	letter-spacing: 0.2em;
}
.catchContainer2{
	position: relative;
	padding-top: 150px;
	margin: 0 auto;
	width: 1024px;
}
.supportIcon{
	position: absolute;
	top:150px;
	right: 0;
	width: 175px;
	filter: drop-shadow(10px 10px 10px rgba(0,0,0,0.4));
}
.catchContainer2 h1 {
	padding: 10px 0 60px 0;
	text-align: left;
	letter-spacing: 0.2em;
}
.catchContainer2 h2 {
	font-size: 2em;
	letter-spacing: 0.5em;
}
.catchContainer2 p {
	line-height: 2em;
	letter-spacing: 0.1em;
	padding-bottom: 100px;
}
@media screen and (max-width: 1024px) {
	.catchContainer{
		margin: 0 auto;
		width: 90vw;
	}
	.catchContainer2{
		margin: 0 auto;
		width: 90vw;
	}
	.supportIcon{
		width: 125px;		
	}
}
@media screen and (max-width: 768px) {
	.catchContainer{
		padding: 150px 0 50px 0 ;
	}
	.catchCopy p {
		font-size:2.5em;
		letter-spacing: 0.1em;
		font-weight: 500;
	}
	.catchContainer h1 {
		padding: 10px 0 60px 0;
		font-size:1.5em;
		letter-spacing: 0.1em;
	}
	.catchContainer2{
		padding-top: 130px;
	}
	.catchContainer2 h1 {
		text-align: center;
		letter-spacing: 0.1em;
		font-size:2.5em;
	}
	.catchContainer2 h2 {
		text-align: center;
		font-size: 1em;
		letter-spacing: 0.5em;
	}
	.supportIcon{
		display: none;
	}
	.catchContainer2 p {
		width: 90vw;
		letter-spacing: 0.2em;
		line-height: 1.5em;
		padding-bottom: 50px;
	}
}
/* フッター上部分 */
#tree{
	padding: 100px 0 0 0;
}
#treeMenu{
	padding: 50px 0 0 0;
	margin: 0 auto;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	 -ms-flex-wrap: wrap;
  	flex-wrap: wrap;
	justify-content:center;
}
.menuBox{
	position: relative;
	width: 25%;
	height: auto;
}
.menuBox img{
	width: 100%;
}
.borderTop{
	position: absolute;
	border: solid 1px #fff;
	width: 90%;
	top:5%;
	left: 5%;
}
.menuBox p{
	position: absolute;
	letter-spacing: 0.3em;
	top: 35%;
	right: 0;
	left:0;
	margin: auto;
	width: 100%;
	text-align: center;
}
.menuBox h3{
	position: absolute;
	letter-spacing: 0.1em;
	top: 45%;
	right: 0;
	left:0;
	margin: auto;
	width: 100%;
	text-align: center;
	font-size: 2em;
}
@media screen and (min-width:1324px) {
	.menuBox{
		position: relative;
		width: 25%;
		height: 200px;
	}
}
@media screen and (max-width: 1024px) {
	.menuBox h3{
		font-size: 1.5em;
	}
}
@media screen and (max-width: 768px) {
	.menuBox{
		width: 50%;
	}
}
@media screen and (max-width: 414px) {
	.menuBox p{
		top: 30%;
		letter-spacing: 0.1em;
	}
	.menuBox h3{
		font-size: 1.2em;
		letter-spacing: 0em;
	}
}

#contact {
	padding: 50px 0 75px 0;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	text-align: center;
	background-color: #0050c8;
}
#contact h4{
	margin: 30px 0 70px 0;
}
#contactBtn{
	font-size:1.5em;
	font-weight: bold;
	text-align: center;
	padding: 30px 50px;
	color: #0050c8;
	background-color: #fff;
}
#contactBtn:hover{
	transition: .5s;
	filter: drop-shadow(10px 10px 20px rgba(0,0,0,0.3));
	border:none;

}
#footerTel{
	padding: 70px 0 0 0;
	font-size:25px;
	text-align: center;
	color: #fff;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 768px) {
	#footerTel{
		padding: 50px 0 0 0;
		font-size:18px;
	}
}
@media screen and (max-width: 600px) {
	#contactBtn{
		font-size:1.2em;
		font-weight: bold;
		text-align: center;
		padding: 20px 30px;
		color: #0050c8;
		background-color: #fff;
	}
}
/* フッター */
footer {
	position: relative;
	background:#ebebf5;
	height: 300px;
}
footer div {
	max-width: 1300px;
	margin: 0 auto;
	position: relative;
}
#footer-logo-pb {
	position: absolute;
	top: 50px;
	right: 60px;
}
#footer-btn {
	position: absolute;
	top: 50px;
	left: 0;
}
#footer-btn-demo {	
	padding-left: 50px;
	padding-right: 10px;
	width: 200px;
	height: 78px;
	line-height: 78px;
	background: #09a9ff;
	border: none;
	border-radius: 10px;
	text-align: left;
	font-size: 27px;
}
#footer-btn-demo a {
	display: inline-block;
	padding: 0;
	color: #fff;
}
#footer-btn-demo span {
	position: relative;
	display: inline-block;
}
#footer-btn-demo span:before {
	content: '';
	width: 30px;
	height: 30px;
	background: #fff;
	border-radius: 50%;
	position: absolute;
	top: -10px;
	left: 22px;
	margin-top: -15px;
}
#footer-btn-demo span:after {
	content: '';
	width: 8px;
	height: 8px;
	border: 0px;
	border-top: solid 4px #09a9ff;
	border-right: solid 4px #09a9ff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: -9px;
	left: 29px;
	margin-top: -8px;
}
#footer-btn-inquiry {
	margin-top: 20px;
	padding-left: 40px;
	padding-right: 20px;
	width: 200px;
	height: 78px;
	line-height: 78px;
	background: #ff3113;
	border: none;
	border-radius: 10px;
	text-align: left;
	font-size: 27px;
}
#footer-btn-inquiry a {
	display: inline-block;
	padding: 0;
	color: #fff;
}
#footer-btn-inquiry span {
	position: relative;
	display: inline-block;
}
#footer-btn-inquiry span:before {
	content: '';
	width: 30px;
	height: 30px;
	background: #fff;
	border-radius: 50%;
	position: absolute;
	top: -10px;
	left: 5px;
	margin-top: -15px;
}
#footer-btn-inquiry span:after {
	content: '';
	width: 8px;
	height: 8px;
	border: 0px;
	border-top: solid 4px #ff3113;
	border-right: solid 4px #ff3113;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: -8px;
	left: 12px;
	margin-top: -8px;
}
#footer-list01 {
	position: absolute;
	top: 40px;
	left: 100px;
	font-size: 16px;
	line-height: 250%;
}
#footer-list02 {
	position: absolute;
	top: 40px;
	left: 300px;
	font-size: 16px;
	line-height: 250%;
}
#footer-logo-cybernet {
	position: absolute;
	top: 130px;
	right: 60px;
}
#footer-copyright {
	position: absolute;
	top: 210px;
	right: 60px;
	font-size: 12px;	
}
@media screen and (max-width: 1024px) {
footer {
	background:#ebebf5;
	height: 500px;
}
footer div {
	max-width: 749px;
	margin: 0 auto;
	position: relative;
}
#footer-logo-pb {
	position: absolute;
	top: 50px;
	left: 0;
	right: 0;
	margin: auto;
}
#footer-btn {
	position: absolute;
	top: 150px;
	left: 0;
}
#footer-list01 {
	position: absolute;
	top: 120px;
	left: 200px;
	right: 0;
	font-size: 16px;
	line-height: 250%;
}
#footer-list02 {
	position: absolute;
	top: 120px;
	left: 400px;
	font-size: 16px;
	line-height: 250%;
}
#footer-logo-cybernet {
	position: absolute;
	top: 360px;
	left: 0;
	right: 0;
	margin: auto;
}
#footer-copyright {
	position: absolute;
	top: 420px;
	font-size: 12px;
	left: 0;
	right: 0;
	margin: auto;
	text-align: center;
}
}
@media screen and (max-width: 767px) {
footer {
	background:#ebebf5;
	height: 470px;
}
footer div {
	max-width: 320px;
	margin: 0 auto;
	position: relative;
}
#footer-logo-pb {
	position: absolute;
	top: 50px;
	left: 0;
	right: 0;
	margin: auto;
	width: 100%;
}
#footer-btn {
	position: absolute;
	top: 110px;
	left: 0;
	right: 0;
	margin: auto;
}
#footer-list01 {
	position: absolute;
	top: 120px;
	left: 0px;
	font-size: 14px;
	line-height: 250%;
}
#footer-list02 {
	position: absolute;
	top: 120px;
	left:160px;
	font-size: 14px;
	line-height: 250%;
}
#footer-logo-cybernet {
	position: absolute;
	top: 320px;
	right: 0;
	left: 0;
	margin: auto;
}
#footer-copyright {
	position: absolute;
	top: 380px;
	font-size: 12px;
	right: 0;
}
#footer-btn-demo {	
	padding-left: 0px;
	padding-right: 0px;
	width: 100%;
	height: 78px;
	line-height: 78px;
	background: #09a9ff;
	border: none;
	border-radius: 10px;
	text-align: center;
	font-size: 27px;
}
#footer-btn-inquiry {
	margin-top: 20px;
	padding-left: 0px;
	padding-right: 0px;
	width: 100%;
	height: 78px;
	line-height: 78px;
	background: #ff3113;
	border: none;
	border-radius: 10px;
	text-align: center;
	font-size: 27px;
}
}
