@charset "utf-8";


@media screen and (max-width: 767px) {
	
.pc-display{
display: none!important		
}


.sp-display{
display: block!important
}

.sp-none{
display: none!important	
}
	

/*=============================================
 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

〇 original-menu 〇

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □
=============================================*/


/*===========================
menu-trigger
===========================*/
section#original-menu{
width:100%;
display: block;
z-index:50;
position: relative;
}


.menu-trigger,
.menu-trigger span{
display: inline-block;
-webkit-transition: all 0.4s;
transition: all 0.4s;
box-sizing: border-box;
}

section#original-menu .menu-trigger {
position: absolute;
right: 20px;
top: 25px;
width: 50px;
height: 60px;
z-index:50;
text-align:center;
cursor:pointer;
}

.menu-trigger span {
position: absolute;
left: 0;
width: 100%;
}

.menu-trigger span.border01{
top: 0;
height: 3px;
background-color: #fff;
border-radius: 2px;
}

.menu-trigger span.border02{
top: 16px;
height: 3px;
background-color: #fff;
border-radius: 2px;	
}

.menu-trigger span.border03{
top: 30px;
height: 3px;
background-color: #fff;
border-radius: 2px;	
}

.menu-trigger span.text{
bottom: 0px;
font-size:13px;
}
.menu-trigger span.text:after{
content:"MENU";
color:#fff;
font-weight:500;
letter-spacing:2px;

}

.menu-trigger.active span.border01 {
-webkit-transform: translateY(15px) rotate(-315deg);
transform: translateY(15px) rotate(-315deg);
background-color:#423e3d;
}

.menu-trigger.active span.border02 {
opacity: 0;
}

.menu-trigger.active span.border03 {
-webkit-transform: translateY(-15px) rotate(315deg);
transform: translateY(-15px) rotate(315deg);
background-color:#423e3d;
}


.menu-trigger.active span.text:after {
content:"Close";
color:#423e3d;
}



/*===========================
.modalWrap
===========================*/

/*　ハンバーガーメニューの内部デザイン */

.modalWrap {
z-index:35;
visibility: hidden;
opacity: 0;
overflow: hidden;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-image: linear-gradient(120deg, rgba(253,251,251,0.95) 0%, rgba(235,237,238,0.95) 100%);
transition: 0.5s;
transform: translateZ(0);
-webkit-touch-callout: none;
user-select: none;
text-size-adjust: none;
}


/*===========================
.modalWrap nav
===========================*/



.modalWrap nav{
position:relative;
z-index:100000005;
}


/*　ハンバーガーメニューのリスト */

.modalWrap nav ul {
padding:0px 0 0px 0;

}

.modalWrap nav ul li.normal {
text-align: center;

}

.modalWrap nav ul li:nth-child(2n + 0) {

}

.modalWrap nav ul li:nth-child(2n + 1) {

}


.modalWrap nav ul li{
-webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
     -o-box-sizing: border-box;
	-ms-box-sizing: border-box;
        box-sizing: border-box;	 
display: block;
padding: 15px 5% 15px 5%;
text-decoration: none;
cursor: pointer;
line-height: 1.1;
font-style: normal;
text-align:left; 
}

.modalWrap nav ul li a{
text-decoration:none;
}

.modalWrap nav ul li a span.en{
font-family: upgrade, Aharoni,Arial,sans-serif;
font-weight: 500;
color:#423e3d;
display:block;
font-size:35px;
letter-spacing:2px;
}

.modalWrap nav ul li a span.jp{
font-weight: 700;
color:#818181;
display:block;
font-size:16px;
letter-spacing:1px;
}



/*===========================
.modalWrap ロゴ
===========================*/

.modalWrap nav .title{
width:90%;
margin:0 auto;
text-align:center;
padding:120px 0 50px 0;
}


.modalWrap nav .title img{
width:80%;
height:auto;
}




.modalWrap.active{
visibility: visible;
opacity: 1;
overflow-y: scroll;
-webkit-overflow-scrolling: touch;
}


.onModal {
position: absolute;
overflow-y: scroll;
}


/*=============================================
 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

〇 トップイメージ 〇

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □
=============================================*/

/*===========================
#main-top
===========================*/

#main-top{
height:600px;
margin:0 0 60px 0;
}

/*===========================
h1.logo p.logo
===========================*/

#main-top .logo{
position:absolute;
top:20px;
left:20px;
z-index:6;
}

#main-top .logo img{
width:150px;
height:auto;
}


/*===========================
#hoge
===========================*/

.hoge-title {
  box-sizing: border-box;
  position: relative;
  z-index: 4;
  width: 100%;
  margin: -600px auto;
  padding: 140px 20px 15px;
}

.hoge-title h2 {
  padding-bottom: 15px;
  font-size: 50px;
}

.hoge-title h3 {
  font-size: 20px;
  line-height: 1.5;
}

.hoge-title h3 br {
  display: block;
}

.hoge-title p {
  font-size: 18px;
  line-height: 1.5;
}

/*=============================================
 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

〇 .#about-us 〇

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □
=============================================*/

#about-us .to-page{
padding:50px 0 0 0;
width: 90%;
margin:0 auto;
font-size:20px;
font-weight:700;
}

#about-us .left{
float:none;
width:90%;
padding: 0 0 0 0%;
margin:0 auto 0;
}

#about-us p.en {
font-size: 25px;
}

#about-us h2{
font-size:37px;
}

#about-us .inner img.gene-bg {
width:90%;
height: auto;
float:none;
display:block;
margin:0 auto 0;
padding: 0 0 0 0%;
position:static;
}

#about-us .move-grade{
width:90%;
margin:20px auto 0px;
font-size:18px;
padding:20px 30px 20px 30px;
-webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
     -o-box-sizing: border-box;
	-ms-box-sizing: border-box;
        box-sizing: border-box;	
}

#about-us .sentence{
width:90%;
margin:0 auto 0;
}

#about-us .sentence p {
font-size: 1.1em;
padding: 10px 0px 10px 0;
line-height: 1.75;
letter-spacing: 2px;
}

/*=============================================
 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

〇 #product 〇

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □
=============================================*/

#product{
background: linear-gradient(to left, rgba(24,125,221,1) 0%,rgba(0,195,193,1) 100%);
position:relative;
height:auto;
min-height:540px;
padding:50px 0 50px 0;
margin:70px 0 70px 0;
overflow: hidden;
}

#product .inner .right{
padding:0 0% 0 0%;
width:90%;
margin:0 auto 0;
text-align:left;
float:none;
}

#product .inner .product-slider{
padding:0 0% 0 0%;
width:80%;
float:none;
margin:0 auto 0;
}



#product .inner  h2.title{
font-weight: 700;
color:#fff;
text-shadow:0px 0px 4px #1175aa;
letter-spacing:2px;
font-size:1.1em;
line-height:1.5;
width:80%;
padding:30px 0 0 0;
margin:0 auto 0;
text-align:right;
}


#product .to-link{
padding:30px 0 0 0;
}
#product .to-link .drawbtn{
-webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
     -o-box-sizing: border-box;
	-ms-box-sizing: border-box;
        box-sizing: border-box;	 
display: block;
padding:15px 30px;
box-shadow: inset 0 0 0 2px #fff;
color:#fff;
font-weight: 700;
position: relative;
z-index:20;
vertical-align: middle;
width:80%;
margin:0 auto 0;
text-align:center;
font-size:1.1em;
text-decoration:none;
letter-spacing:1px;
}

#product .sp-display{
position: relative;
z-index:20;
}

#product .to-link .drawbtn:hover{
color:#8adbe7;
}

#product .to-link .drawbtn span.small{
font-size:0.9em;
position:relative;
top:-3px;
left:-2px;
}


/*===========================
背景エフェクト
===========================*/


#product .circle{
position: absolute;
border-radius: 50%;
background: #8adbe7;
animation: ripple 15s infinite;
box-shadow: 0px 0px 1px 0px #508fb9;
}



#product .large{
width: 200px;
height: 200px;
right: -100px;
bottom: -100px;
}

#product .xlarge{
width: 320px;
height: 320px;
right: -160px;
bottom: -160px;
}


/*=============================================
 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

〇 #company 〇

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □
=============================================*/

#company{
width:100%;
padding:0px 0 10px 0;
margin:0 0 70px 0;
}



#company .left{
width:90%;
float:none;
margin:0 auto;
padding:0 0 0 0%;
position:relative;
z-index:2;
}



#company h2{
font-size:34px;
padding:10px 0 10px 0;
}

#company p.en{
font-size:27px;
padding:20px 0 0 0;
}

#company .move-grade{
width:90%;
margin:20px auto 0px;
font-size:18px;
padding:20px 30px 20px 30px;
-webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
     -o-box-sizing: border-box;
	-ms-box-sizing: border-box;
        box-sizing: border-box;	
}

#company .sentence{
width:90%;
margin:0 auto 0;
}

#company .sentence p {
font-size: 1.1em;
padding: 10px 0px 10px 0;
line-height: 1.75;
letter-spacing: 2px;
}

/*===========================
右側サムネイル画像
===========================*/


#company .inner .right{
width:90%;
height:auto;
float:none;
position:relative;
padding:0 0% 0 0;
margin:20px auto 0px;
webkit-font-smoothing: subpixel-antialiased;
}

/*=============================================
 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

〇 #community 〇

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □
=============================================*/
#community{
padding:50px 0 70px 0px;
margin:0 0 60px 0;
}

#community .inner{
position:relative;
z-index:20;
}



/*===========================
タイトル
===========================*/

#community p.en {
font-size: 16px;
width:80%;
padding: 10px 0 10px 0;
color:#fff;
text-align:center;
letter-spacing:1px;
transform: skew(-15deg);
border: solid 2px #fff;
}

#community p.semi {
font-size: 18px;
font-style: normal;
padding:20px 0 0 0;
letter-spacing:1px;
}

#community h2{
font-size:60px;
line-height:1.25;
padding:0px 0 20px 0;
text-align:center;
}

#community p.sentence {
font-size: 0.95em;
font-style: normal;
padding:30px 0 10px 0;
color:#fff;
text-align:center;
letter-spacing:1px;
line-height:1.3;
margin:0 auto;
width:90%;
}

/*===========================
ボタン
===========================*/

#community .to-link{
padding:40px 0 0 0;
}

#community .to-link a{
width:80%;

}

#community .to-link a:hover:after {
  left: -10%;
  width: 120%;
}

/*=============================================
 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

〇 .contact-space 〇

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □
=============================================*/

.contact-space{
width:90%;
padding:25px 25px 25px 25px; 
}


.contact-space .effect3{
width:100%;
padding:10px 0 10px 0;
}

.contact-space .effect3 span.small{
font-size:0.9em;
position:relative;
top:-3px;
left:-2px;
}

/*=============================================
 □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

〇 footer 〇

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □
=============================================*/

footer{
margin:60px auto 0;
}
footer nav ul{
display:block;
justify-content: center; /* 子要素をflexboxにより中央に配置する */
list-style-type:none;
padding:50px 0 20px 0;

}

footer nav li{

}

footer nav li a{
padding:10px 20px 10px 20px;
color:#fff;
display:block;
text-decoration:none;
text-align:center;
border-top:solid 1px #aaa;
}
footer nav li:last-child a{
border-bottom:solid 1px #aaa;
}

/*===========================
copyright
===========================*/

footer .copyright{
position:staic;
left: 0px;
bottom:0px;
font-size:11px;
letter-spacing: 3px;
writing-mode: vertical-rl;
transform: rotate(0deg);
z-index:12;
color:#aaa;
}


}/* responsive-closed */




@media screen and (min-width:767px) and ( max-width:1024px) {

html,body{
    width: 100%;
}
}


/* 960px〜1279px：小型PC
------------------------------ */
@media screen and (min-width:960px) and (max-width:2980px) {

}

/* 1280px〜：大型PC
------------------------------ */
@media screen and (min-width:2980px) {

}



	
	
