@charset "UTF-8";
/* reset */
@import url(reset.css);
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap');



/* common --------------------------------------------------------------- */
a, .fade {
	transition: all 0.5s;
	}

	a:hover, .fade:hover {
		opacity: 0.5;
		}
		
	h1 a:hover,
	.lttr:hover,
	.zoom:hover,
	.mono:hover,
	.none:hover {
		opacity: 1;
		}

.opc {
	opacity: 0.8;
	}
	
@media(max-width:768px){
	a:hover, .fade:hover {
		opacity: 1;
		}
	}
	
	
	
/* desktop / mobile --------------------------------------------------------------- */
.dsk {
	display: block !important;
	}

.mob {
	display: none !important;
	}
	
	
@media(max-width: 768px){
	.dsk {
		display: none !important;
		}
	
	.mob {
		display: block !important;
		}
	}



/* zoom --------------------------------------------------------------- */
.zoom {
	overflow: hidden;
	}
	
	.zoom img {
		transition: all 0.5s ease-out;
		}
		
	.zoom:hover img {
		transform: scale(1.03,1.03);
		}

@media(max-width:768px){
	.zoom:hover img {
		transform: none;
		}
	}



/* scrTop / scrLeft / scrRight --------------------------------------------------------------- */
.scrTop,
.scrLeft,
.scrRight {
	opacity: 0;
	transition : all 500ms;
	}

.scrTop {
	transform : translate(0, 50px);
	}

.scrLeft {
	transform : translate(-50px, 0);
	}

.scrRight {
	transform : translate(50px, 0);
	}
	
	.scrTop.scrin,
	.scrLeft.scrin,
	.scrRight.scrin {
		opacity: 1;
		transform : translate(0, 0);
		}



/* text-in --------------------------------------------------------------- */
.tinLeft,
.tinLeft2,
.tinRight,
.tinRight2 {
	opacity: 0;
	transition: all 1s ease;
	}

.tinLeft {
	-webkit-clip-path: inset(0 100% 0 0);
	clip-path: inset(0 100% 0 0);
	}

.tinLeft2 {
	-webkit-clip-path: inset(0 0 100% 0);
	clip-path: inset(0 0 100% 0);
	}

.tinRight {
	-webkit-clip-path: inset(0 0 0 100%);
	clip-path: inset(0 0 0 100%);
	}

.tinRight2 {
	-webkit-clip-path: inset(0 0 100% 0);
	clip-path: inset(0 0 100% 0);
	}

.tinLeft.move,
.tinRight.move {
	opacity: 1;
	transition-delay: .1s;
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
	}

.tinLeft2.move,
.tinRight2.move {
	opacity: 1;
	transition-delay: 1s;
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
	}



/* common --------------------------------------------------------------- */
a.detail {
	width: 100px;
	height: 100px;
	text-align: center;
	margin-top: 20px;
  background-image: url("../../img/common/link.png");
  background-size: 100% auto;
	}

@media(max-width: 768px){
  a.detail {
    margin: 30px auto 0 auto;
    }
  }



/* body --------------------------------------------------------------- */
body {
	word-wrap: break-word;
	-webkit-text-size-adjust: 100%;
	}

body,
div,
dl, dt, dd,
ul, ol, li,
p, a,
input,
select,
textarea,
submit {
	color: #333333;
	font-size: 18px;
	line-height: 1.7;
	}

body,
div,
h1,h2,h3,h4,h5,h6,
dl, dt, dd,
ul, ol, li,
p, a, span,
input,
select,
textarea,
submit {
  /*font-family: 'Manrope', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;*/
  font-family: 'Manrope', 'Yu Gothic', '游ゴシック', YuGothic, '游ゴシック体', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
	}
	
input,
select,
textarea,
submit {
	border: 0;
	box-sizing: border-box;
	}

@media(max-width: 768px){
  body,
  div,
  dl, dt, dd,
  ul, ol, li,
  p, a,
  input,
  select,
  textarea,
  submit {
    font-size: 14px;
    }
  }



/* header --------------------------------------------------------------- */
#header {
	width: 100%;
	min-width: 1300px;
	padding: 5px 0;
	z-index: 99999;
	background-image: url("../../img/header/bg.png");
	background-repeat: repeat;
	position: fixed;
	left: 0;
	top: 0;
	}
		
	#header #headerInner {
		width: 90%;
		margin: 0 auto;
		overflow: hidden;
		}
			
		#header #headerInner p {
			float: left;
			width: 200px;
      padding-top: 15px;
			}
	
			#header #headerInner p a,
			#header #headerInner p a img {
				width: 100%;
				}
	
		#header #headerInner ul {
			float: right;
			clear: none;
      height: 60px;
			}
		
			#header #headerInner ul li {
				float: left;
				margin-left: 30px;
        padding-top: 22px;
				}
      #header #headerInner ul li.en {
        padding-top: 0;
				}
        #header #headerInner ul li.en a {
          width: 60px;
          height: 60px;
          }
          #header #headerInner ul li.en a img {
            width: 100%;
            }
				
				#header #headerInner ul li a {
          line-height: 1;
					}

@media(max-width: 768px){
	#header {
		display: none;
		}
	}



/* hamburger --------------------------------------------------------------- */
#hamburger {
	display: none;
	}
		
@media(max-width: 768px){
	#hamburger {
		display: block;
		width: 100%;
		height: 50px;
		padding-left: 5%;
		box-sizing: border-box;
		z-index: 999999;
		background-color: #ffffff;
		position: fixed;
		left: 0;
		top: 0;
		}
	
		#hamburger h1 {
			float: left;
			width: 170px;
			padding-top: 12px;
			}
		
			#hamburger h1 a,
			#hamburger h1 img {
				width: 100%;
				}
  
  #hamburger .en {
    width: 40px;
    height: 40px;
    position: fixed;
    right: 70px;
    top: 5px;
			}
  
      #hamburger .en a,
        #hamburger .en a img {
          width: 100%;
          }
				
		#hamburger .menu {
			width: 50px;
			height: 50px;
			cursor: pointer;
			background-image: url(../../img/header/navOn.jpg);
			position: absolute;
			right: 5%;
			top: 0;
			}	
		
		#hamburger ul {
			width: 100%;
			background-color: #ffffff;
			border-top: solid 1px;
			border-color: #edeeef !important;
			position: absolute;
			right: -100%;
			top: 50px;
			}
			
			#hamburger ul li {
				width: 100%;
				border-bottom: solid 1px;
				border-color: #edeeef !important;
				}
				
				#hamburger ul li a {
					padding: 15px 0;
          font-size: 16px;
          font-weight: bold;
					text-align: center;
					}
	}
	
	
	
/* wrapper --------------------------------------------------------------- */
#wrapper {
	margin: 0 auto;
	padding-top: 70px;
	position: relative;
	overflow: hidden;
	min-width: 1300px;
	}

@media(max-width: 768px){
  #wrapper {
    min-width: inherit;
    padding-top: 50px;
    }
	}



/* pagetop --------------------------------------------------------------- */
#pagetop {
	width: 90%;
	margin: 0 auto 80px auto;
	}
		
	#pagetop a {
		width: 95px;
		margin: 0 0 0 auto;
		}
		
		#pagetop a img {
			width: 100%;
			}
@media(max-width: 768px){
  #pagetop {
    margin: 0 auto 50px auto;
    }
    #pagetop a {
      margin: 0 auto;
      }
	}
		
/* footer --------------------------------------------------------------- */
#footer {
	min-width: 1300px;
	margin: 0 auto;
	padding-top: 200px;
	/*background-color: #F4F4ED;*/
	background-image: url(../../img/footer/bg.png);
	background-position: center top;
	background-size: 100% auto;
	}
	
	#footer #footer_top {
		width: 650px;
		margin: 0 auto 80px auto;
		position: relative;
		}
		
		#footer #footer_top ul {
			overflow: hidden;
			}
			
			#footer #footer_top ul li {
				float: left;
				width: 33.3%;
				box-sizing: border-box;
				border-right: solid 1px;
				box-sizing: border-box;
				}
			
			#footer #footer_top ul li:nth-of-type(1) {
				padding-left: 100px;
				}
				
			#footer #footer_top ul li:nth-of-type(2) {
				padding-left: 60px;
				}
				
			#footer #footer_top ul li:nth-of-type(3) {
				padding-left: 50px;
				border-right: 0;
				}
				
				#footer #footer_top ul li a {
          text-align: left;
					margin-bottom: 15px;
					}
				
				#footer #footer_top ul li a.end {
					margin-bottom: 0;
					}
					
		#footer #footer_middle {
			width: 450px;
			margin: 0 auto 70px auto;
			position: relative;
			}
			
			#footer #footer_middle ul {
				overflow: hidden;
				}
				
				#footer #footer_middle ul li {
					float: left;
					width: 50%;
					}
				
				#footer #footer_middle ul li:nth-of-type(2) {
					text-align: center;
					}
					
					#footer #footer_middle ul li a {
						display: inline-block;
						margin-bottom: 15px;
						}
					
					#footer #footer_middle ul li:nth-of-type(2) a {
						margin-left: 20px;
						}
					
						#footer #footer_middle ul li a img {
							width: 30px;
							}
		
		#footer #footer_bottom {
			width: 100%;
			margin: 0 auto;
			padding: 20px 0;
			background-color: #969696;
			position: relative;
			}
			
			#footer #footer_bottom ul {
				width: 90%;
				margin: 0 auto;
				overflow: hidden;
				}
				
				#footer #footer_bottom ul li {
					float: left;
					margin-right: 50px;
					}
				
				#footer #footer_bottom ul li:nth-of-type(1) {
					margin-right: 80px;
					}
				
					#footer #footer_bottom ul li:nth-of-type(1) img {
						width: 60px;
						}
				
				#footer #footer_bottom ul li,
				#footer #footer_bottom ul li a {
					color: #ffffff;
					font-size: 90%;
					}
					
@media(max-width: 768px){
  #footer {
    min-width: inherit;
    padding-top: 120px;
    background-image: url(../../img/footer/mob_bg.png);
    }
  
    #footer #footer_top {
      width: 90%;
      margin: 0 auto 50px auto;
      text-align: center;
      }
				#footer #footer_top ul li:nth-of-type(1) {
					width: 28%;
					padding-left: 0;
					}
				#footer #footer_top ul li:nth-of-type(2) {
					width: 46%;
					padding-left: 10%;
					}
				#footer #footer_top ul li:nth-of-type(3) {
					width: 26%;
					padding-left: 2em;
					}
					#footer #footer_top ul li a {
						margin-bottom: 15px;
						}
  
	
	
      #footer #footer_middle {
        width: 60%;
        margin: 0 auto 20px auto;
        position: relative;
        }
        #footer #footer_middle ul {
          overflow: hidden;
          }
  
          #footer #footer_middle ul li:nth-of-type(1) {
            float: left;
            width: 70%;
            }
          #footer #footer_middle ul li:nth-of-type(2) {
            float: right;
            width: 30%;
            text-align: right;
            }
            #footer #footer_middle ul li a {
              margin-bottom: 10px;
              }
            #footer #footer_middle ul li:nth-of-type(2) a {
              margin: 0 0 25px 0;
              }
  
          #footer #footer_bottom ul li {
            margin-right: 20px;
            }
          #footer #footer_bottom ul li:nth-of-type(1) {
            margin-right: 20px;
            }
            #footer #footer_bottom ul li:nth-of-type(1) img {
              width: 40px;
              }
          #footer #footer_bottom ul li,
          #footer #footer_bottom ul li a {
            font-size: 11px;
            }
	}



/* loading --------------------------------------------------------------- */
#loading {
	width: 100%;
	height: 100vh;
	z-index: 9999999;
	background-color: #ffffff;
	background-image: url(../../img/common/loader.gif);
	background-position: center center;
	background-size: 100px auto;
	position: fixed;
	left: 0;
	top: 0;
	}