@charset "utf-8";
/* ==================================================
		
		ページ全般の共通 PC・SP

================================================== */
/* --------------------------------------------------
		フェードイン
-------------------------------------------------- */
.fadeIn{
animation-name:fadeInAnime;
animation-duration:2s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.fadeIn02{
animation-name:fadeInAnime02;
animation-duration:6s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime02{
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* --------------------------------------------------
		scroll-anim
-------------------------------------------------- */
.delighter {
 transition-property: opacity, transform;
 transition-duration: 2s;
 transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1), cubic-bezier(0.25, 1, 0.5, 1);
 transform: translateY(80px);
 opacity: 0;
}
.delighter.started {
 opacity: 1;
 transform: translate3d(0,0,0);
 filter: blur(0px);
}

/* --------------------------------------------------
		html, body
-------------------------------------------------- */
html, body {
	height: 100%;
}
body {
	word-wrap: break-word;
	overflow-wrap: break-word;
}

/* --------------------------------------------------
		.clearfix
-------------------------------------------------- */
.clearfix:after {
	height: 0;
	clear: both;
	visibility: hidden;
	display: block;
	content: ".";
}

/* --------------------------------------------------
		link
-------------------------------------------------- */
.ldeco01 a:link, 
.ldeco01 a:visited {
 color: #000000;
 text-decoration: none;
}
.ldeco02 a:link, 
.ldeco02 a:visited, 
.ldeco03 a:link, 
.ldeco03 a:visited {
 color: #ffffff;
 text-decoration: none;
}
.ldeco05 a:link, 
.ldeco05 a:visited {
 color: #595858;
 text-decoration: none;
}
.ldeco01 a:hover, 
.ldeco02 li:hover, 
.ldeco03 a:hover, 
.ldeco04:hover, 
.ldeco05 a:hover {
 transition: opacity 0.5s;
 opacity: 0.7;
}

/* --------------------------------------------------
		txt
-------------------------------------------------- */
/*	横位置
-------------------------------------------------- */ 
.centered {
 text-align: center;
}
.leftjustified {
 text-align: left;
}
.rightjustified {
 text-align: right;
}

/* --------------------------------------------------
		flex
-------------------------------------------------- */
.col01 {
 display: -webkit-flex;
 display: -moz-flex;
 display: -ms-flex;
 display: -o-flex;
 display: flex;
 justify-content: space-between;
} 
.col02 {
 display: -webkit-flex;
 display: -moz-flex;
 display: -ms-flex;
 display: -o-flex;
 display: flex;
 justify-content: center;
} 
.col03 {
 display: -webkit-flex;
 display: -moz-flex;
 display: -ms-flex;
 display: -o-flex;
 display: flex;
 justify-content: flex-start;
} 
.col04 {
 display: -webkit-flex;
 display: -moz-flex;
 display: -ms-flex;
 display: -o-flex;
 display: flex;
 justify-content: flex-end;
} 
.colwrap {
 flex-wrap: wrap;
}
.colai01 {
 align-items: center;
}
.colai02 {
 align-items: start;
}
.colai03 {
 align-items: end;
}
.colfd01 {
 flex-direction: row-reverse;
}

/* --------------------------------------------------
		float
-------------------------------------------------- */
.fl {
 float: left;
}
.fr {
 float: right;
}

/* --------------------------------------------------
		角丸対応
-------------------------------------------------- */
input[type="button"],
input[type="text"],
input[type="submit"],
input[type="image"],
textarea　{
 -webkit-appearance: none;
 border-radius: 0;
}


/* ==================================================
		
		ページ全般の共通 PC

================================================== */
@media screen and (min-width:751px) {
 
/* --------------------------------------------------
		SPの要素を非表示
-------------------------------------------------- */
.spDisp {
	display: none !important;
}

/* --------------------------------------------------
		body
-------------------------------------------------- */
body {
	font-size: 15px;
 min-width: 1080px;
 position: relative;
}

/* --------------------------------------------------
		クリア
-------------------------------------------------- */
.pccolcl {
 display: block;
}
.pcflcl {
 float: none;
}
 
/* --------------------------------------------------
		header
-------------------------------------------------- */
header {
 width: 100%;
 height: 158px;
 position: relative;
 top: 0;
 z-index: 9999;
 overflow: hidden;
}
h1 {
 width: 100%;
 position: absolute;
 top: 0;
 left: 50%;
 transform: translateX(-50%);
 -webkit-transform: translateX(-50%);
 -ms-transform: translateX(-50%);
 background: #ffffff;
 overflow: hidden;
 opacity: 0;
}
h1 svg {
 width: 1528px;
}
header ul {
 position: relative;
 width: 1080px;
 margin: 0 auto;
 opacity: 0;
 animation-delay: 2.5s;
}
header ul li {
 font-size: 23px;
 font-family: "Lexend Peta", sans-serif;
 font-optical-sizing: auto;
 font-weight: 500;
 font-style: normal;
 padding: 0 29px;
}
 
/* --------------------------------------------------
		#contents
-------------------------------------------------- */
#contents {
 width: 1080px;
 margin: 0 auto 0;
 position: relative;
 opacity: 0;
 animation-delay: 1.5s;
 background: #ffffff;
}
 
/* --------------------------------------------------
		.btn-contact
-------------------------------------------------- */
.btn-contact {
 position: fixed;
 right: 55px;
 bottom: 55px;
 transition: 0.6s;
 opacity: 0;
 visibility: hidden;
 z-index: 1;
 width: 143px;
 height: 143px;
 background: #ffffff;
 border-radius: 50%;
}
.btn-contact.active {
 opacity: 1;
 visibility: visible;
}
.btn-contact a {
 display: block;
 width: 143px;
 height: 143px;
 border-radius: 50%;
 background: #000000;
}
.btn-contact a span {
 font-size: 17px;
 color: #ffffff;
 font-family: "Lexend Peta", sans-serif;
 font-optical-sizing: auto;
 font-weight: 600;
 font-style: normal;
 letter-spacing: -1.5px;
 display: block;
 border-radius: 50%;
 padding-top: 58px;
}
 
/* --------------------------------------------------
		.btn-return
-------------------------------------------------- */
.btn-return #pagetop {
 display: inline-block;
}
.btn-return p a {
 display: block;
 width: 34px;
 height: 34px;
}
 
/* --------------------------------------------------
		footer
-------------------------------------------------- */
footer {
} 
footer .footer-icon li {
 padding: 0 22px;
} 
footer .footer-icon li a {
 display: block;
} 
footer .copyright {
 color: #000000;
 background: #faf9f9;
} 
footer .copyright span {
 font-size: 16px;
 font-family: "Lexend Peta", sans-serif;
 font-optical-sizing: auto;
 font-weight: 500;
 font-style: normal;
 letter-spacing: 1.8px;
 display: block;
 padding: 10px 0 7px;
} 
footer .copyright span::before {
 content: '';
 display: inline-block;
 width: 15px;
 height: 15px;
 background: url(/common/img/copyright.png) no-repeat left top / contain;
 position: relative;
 top: 3px;
 padding-left: 8px;
} 
 
/* --------------------------------------------------
		スペース
-------------------------------------------------- */
.mt05 { margin-top: 5px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt25 { margin-top: 25px !important; }
.mt30 { margin-top: 30px !important; }
.mt35 { margin-top: 35px !important; }
.mt40 { margin-top: 40px !important; }
.mt45 { margin-top: 45px !important; }
.mt50 { margin-top: 50px !important; }
.mt55 { margin-top: 55px !important; }
.mt60 { margin-top: 60px !important; }
.mt65 { margin-top: 65px !important; }
.mt70 { margin-top: 70px !important; }
.mt75 { margin-top: 75px !important; }
.mt80 { margin-top: 80px !important; }
.mt85 { margin-top: 85px !important; }
.mt90 { margin-top: 90px !important; }
.mt95 { margin-top: 95px !important; }
.mt100 { margin-top: 100px !important; }
.mt105 { margin-top: 105px !important; }
.mt110 { margin-top: 110px !important; }
.mt115 { margin-top: 115px !important; }
.mt120 { margin-top: 120px !important; }
.mt125 { margin-top: 125px !important; }
.mt130 { margin-top: 130px !important; }

.mb05 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb35 { margin-bottom: 35px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb45 { margin-bottom: 45px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb55 { margin-bottom: 55px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb65 { margin-bottom: 65px !important; }
.mb70 { margin-bottom: 70px !important; }
.mb75 { margin-bottom: 75px !important; }
.mb80 { margin-bottom: 80px !important; }
.mb85 { margin-bottom: 85px !important; }
.mb90 { margin-bottom: 90px !important; }
.mb95 { margin-bottom: 95px !important; }
.mb100 { margin-bottom: 100px !important; }
.mb105 { margin-bottom: 105px !important; }
.mb110 { margin-bottom: 110px !important; }
.mb115 { margin-bottom: 115px !important; }
.mb120 { margin-bottom: 120px !important; }
.mb125 { margin-bottom: 125px !important; }
.mb130 { margin-bottom: 130px !important; }
 
.pt05 { padding-top: 5px !important; }
.pt10 { padding-top: 10px !important; }
.pt15 { padding-top: 15px !important; }
.pt20 { padding-top: 20px !important; }
.pt25 { padding-top: 25px !important; }
.pt30 { padding-top: 30px !important; }
.pt35 { padding-top: 35px !important; }
.pt40 { padding-top: 40px !important; }
.pt45 { padding-top: 45px !important; }
.pt50 { padding-top: 50px !important; }
.pt55 { padding-top: 55px !important; }
.pt60 { padding-top: 60px !important; }
.pt65 { padding-top: 65px !important; }
.pt70 { padding-top: 70px !important; }
.pt75 { padding-top: 75px !important; }
.pt80 { padding-top: 80px !important; }
.pt85 { padding-top: 85px !important; }
.pt90 { padding-top: 90px !important; }
.pt95 { padding-top: 95px !important; }
.pt100 { padding-top: 100px !important; }
.pt105 { padding-top: 105px !important; }
.pt110 { padding-top: 110px !important; }
.pt115 { padding-top: 115px !important; }
.pt120 { padding-top: 120px !important; }
.pt125 { padding-top: 125px !important; }
.pt130 { padding-top: 130px !important; }

.pb05 { padding-bottom: 5px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb15 { padding-bottom: 15px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb25 { padding-bottom: 25px !important; }
.pb30 { padding-bottom: 30px !important; }
.pb35 { padding-bottom: 35px !important; }
.pb40 { padding-bottom: 40px !important; }
.pb45 { padding-bottom: 45px !important; }
.pb50 { padding-bottom: 50px !important; }
.pb55 { padding-bottom: 55px !important; }
.pb60 { padding-bottom: 60px !important; }
.pb65 { padding-bottom: 65px !important; }
.pb70 { padding-bottom: 70px !important; }
.pb75 { padding-bottom: 75px !important; }
.pb80 { padding-bottom: 80px !important; }
.pb85 { padding-bottom: 85px !important; }
.pb90 { padding-bottom: 90px !important; }
.pb95 { padding-bottom: 95px !important; }
.pb100 { padding-bottom: 100px !important; }
.pb105 { padding-bottom: 105px !important; }
.pb110 { padding-bottom: 110px !important; }
.pb115 { padding-bottom: 115px !important; }
.pb120 { padding-bottom: 120px !important; }
.pb125 { padding-bottom: 125px !important; }
.pb130 { padding-bottom: 130px !important; }


}


/* ==================================================
		
		ページ全般の共通 SP

================================================== */
@media screen and (max-width:750px) {
 
/* --------------------------------------------------
		PCの要素を非表示
-------------------------------------------------- */
.pcDisp {
	display: none !important;
}
 
/* --------------------------------------------------
		文字サイズの制御
-------------------------------------------------- */
body {
 width: 100%;
 font-size: 12px;
 -webkit-text-size-adjust: 100%;
}
 
/* --------------------------------------------------
		img
-------------------------------------------------- */
img {
 width: 100%;
	max-width: 100%;
	height: auto;
}

/* --------------------------------------------------
		クリア
-------------------------------------------------- */
.spcolcl {
 display: block;
}
.spflcl {
 float: none;
}
 
/* --------------------------------------------------
		header
-------------------------------------------------- */
header {
 width: 100%;
 height: 45px;
 position: fixed;
 top: 0;
 z-index: 9999;
 overflow: hidden;
}
header h1 {
 width: 100%;
 height: 45px;
 position: fixed;
 top: 0;
 left: 50%;
 transform: translateX(-50%);
 -webkit-transform: translateX(-50%);
 -ms-transform: translateX(-50%);
 background: #ffffff;
 overflow: hidden;
 opacity: 0;
}
header h1 svg {
 width: 90%;
 height: 45px;
}
 
/*	.menubtn
-------------------------------------------------- */ 
.menubtn {
 position: relative;
 width: 100%;
 height: 45px;
 z-index: 10000;
 opacity: 0;
 animation-delay: 1.2s;
}
.menubtn .menubtn-inner {
 width: 58px;
 height: 60px;
 position: absolute;
 top: -5px;
 right: 0;
 padding-left: 10px;
 cursor: pointer;
}
.menubtn .menubtn-inner span {
 display: block;
 width: 32px;
 height: 3px;
 background: #251e1c;
 position: absolute;
 transition: all 0.5s ease;
}
.menubtn .menubtn-inner .bar1 {
 top: 15px;
}
.menubtn .menubtn-inner .bar2 {
 top: 25px;
}
.menubtn .menubtn-inner .bar3 {
 bottom: 22px;
}
.menubtn .menubtn-inner .bar1.open {
 width: 36px;
 top: 24px;
 transform: rotate(45deg);
 margin-left: -2px;
}
.menubtn .menubtn-inner .bar2.open { 
 opacity: 0;
}
.menubtn .menubtn-inner .bar3.open {
 width: 36px;
 bottom: 33px;
 transform: rotate(-45deg);
 margin-left: -2px;
}
 
/*	.nav-menu
-------------------------------------------------- */ 
.nav-menu {
 width: 100%;
 height: 100vh;
 overflow: scroll;
 position: fixed;
 top: -120%;
 right: 0;
 -webkit-transition: .4s;
 transition: .4;
 background: #c7c7c8;
 z-index: 9998;
}
.nav-menu.open {
 top: 45px;
 scrollbar-width: none;
}
.nav-menu .nav-menu-inner {
 width: 100%;
}
.nav-menu .nav-menu-inner li {
 font-size: 16px;
 font-family: "Lexend Peta", sans-serif;
 font-optical-sizing: auto;
 font-weight: 500;
 font-style: normal;
 letter-spacing: 2.3px;
 border-top: 1px solid #f2f2f4;
}
.nav-menu .nav-menu-inner li:first-of-type {
 border: none;
}
.nav-menu .nav-menu-inner li a {
 display: block;
 padding-left: 28px;
}
.nav-menu .nav-menu-inner li a img {
 width: 20px;
 padding-left: 15px;
}
 
/* --------------------------------------------------
		#contents
-------------------------------------------------- */
#contents {
 margin-top: 45px;
 width: 100%;
 background: #ffffff;
 opacity: 0;
 animation-delay: 0.5s;
}
 
/* --------------------------------------------------
		.btn-contact
-------------------------------------------------- */
.btn-contact {
 position: fixed;
 right: 10px;
 bottom: 40px;
 transition: 0.6s;
 opacity: 0;
 visibility: hidden;
 z-index: 1;
 width: 85px;
 height: 85px;
 background: #ffffff;
 border-radius: 50%;
}
.btn-contact.active {
 opacity: 1;
 visibility: visible;
}
.btn-contact a {
 display: block;
 width: 85px;
 height: 85px;
 border-radius: 50%;
 background: #000000;
}
.btn-contact a span {
 font-size: 12px;
 color: #ffffff;
 font-family: "Lexend Peta", sans-serif;
 font-optical-sizing: auto;
 font-weight: 600;
 font-style: normal;
 letter-spacing: -1.5px; 
 display: block;
 border-radius: 50%;
 padding-top: 33px;
}
 
/* --------------------------------------------------
		footer
-------------------------------------------------- */
footer .copyright {
 color: #000000;
 background: #faf9f9;
} 
footer .copyright span {
 font-size: 11px;
 font-family: "Lexend Peta", sans-serif;
 font-optical-sizing: auto;
 font-weight: 500;
 font-style: normal;
 letter-spacing: 1px;
 display: block;
 padding: 8px 0 7px;
} 
footer .copyright span::before {
 content: '';
 display: inline-block;
 width: 11px;
 height: 11px;
 background: url(/common/img/copyright.png) no-repeat left top / contain;
 position: relative;
 top: 2px;
 padding-left: 5px;
} 
 
/* --------------------------------------------------
		スペース
-------------------------------------------------- */
.spmt05 { margin-top: 5px !important; }
.spmt10 { margin-top: 10px !important; }
.spmt15 { margin-top: 15px !important; }
.spmt20 { margin-top: 20px !important; }
.spmt25 { margin-top: 25px !important; }
.spmt30 { margin-top: 30px !important; }
.spmt35 { margin-top: 35px !important; }
.spmt40 { margin-top: 40px !important; }
.spmt45 { margin-top: 45px !important; }
.spmt50 { margin-top: 50px !important; }
.spmt55 { margin-top: 55px !important; }
.spmt60 { margin-top: 60px !important; }
.spmt65 { margin-top: 65px !important; }
.spmt70 { margin-top: 70px !important; }
.spmt75 { margin-top: 75px !important; }
.spmt80 { margin-top: 80px !important; }
.spmt85 { margin-top: 85px !important; }
.spmt90 { margin-top: 90px !important; }
.spmt95 { margin-top: 95px !important; }
.spmt100 { margin-top: 100px !important; }
.spmt105 { margin-top: 105px !important; }
.spmt110 { margin-top: 110px !important; }
.spmt115 { margin-top: 115px !important; }
.spmt120 { margin-top: 120px !important; }
.spmt125 { margin-top: 125px !important; }
.spmt130 { margin-top: 130px !important; }

.spmb05 { margin-bottom: 5px !important; }
.spmb10 { margin-bottom: 10px !important; }
.spmb15 { margin-bottom: 15px !important; }
.spmb20 { margin-bottom: 20px !important; }
.spmb25 { margin-bottom: 25px !important; }
.spmb30 { margin-bottom: 30px !important; }
.spmb35 { margin-bottom: 35px !important; }
.spmb40 { margin-bottom: 40px !important; }
.spmb45 { margin-bottom: 45px !important; }
.spmb50 { margin-bottom: 50px !important; }
.spmb55 { margin-bottom: 55px !important; }
.spmb60 { margin-bottom: 60px !important; }
.spmb65 { margin-bottom: 65px !important; }
.spmb70 { margin-bottom: 70px !important; }
.spmb75 { margin-bottom: 75px !important; }
.spmb80 { margin-bottom: 80px !important; }
.spmb85 { margin-bottom: 85px !important; }
.spmb90 { margin-bottom: 90px !important; }
.spmb95 { margin-bottom: 95px !important; }
.spmb100 { margin-bottom: 100px !important; }
.spmb105 { margin-bottom: 105px !important; }
.spmb110 { margin-bottom: 110px !important; }
.spmb115 { margin-bottom: 115px !important; }
.spmb120 { margin-bottom: 120px !important; }
.spmb125 { margin-bottom: 125px !important; }
.spmb130 { margin-bottom: 130px !important; }
 
.sppt05 { padding-top: 5px !important; }
.sppt10 { padding-top: 10px !important; }
.sppt15 { padding-top: 15px !important; }
.sppt20 { padding-top: 20px !important; }
.sppt25 { padding-top: 25px !important; }
.sppt30 { padding-top: 30px !important; }
.sppt35 { padding-top: 35px !important; }
.sppt40 { padding-top: 40px !important; }
.sppt45 { padding-top: 45px !important; }
.sppt50 { padding-top: 50px !important; }
.sppt55 { padding-top: 55px !important; }
.sppt60 { padding-top: 60px !important; }
.sppt65 { padding-top: 65px !important; }
.sppt70 { padding-top: 70px !important; }
.sppt75 { padding-top: 75px !important; }
.sppt80 { padding-top: 80px !important; }
.sppt85 { padding-top: 85px !important; }
.sppt90 { padding-top: 90px !important; }
.sppt95 { padding-top: 95px !important; }
.sppt100 { padding-top: 100px !important; }
.sppt105 { padding-top: 105px !important; }
.sppt110 { padding-top: 110px !important; }
.sppt115 { padding-top: 115px !important; }
.sppt120 { padding-top: 120px !important; }
.sppt125 { padding-top: 125px !important; }
.sppt130 { padding-top: 130px !important; }

.sppb05 { padding-bottom: 5px !important; }
.sppb10 { padding-bottom: 10px !important; }
.sppb15 { padding-bottom: 15px !important; }
.sppb20 { padding-bottom: 20px !important; }
.sppb25 { padding-bottom: 25px !important; }
.sppb30 { padding-bottom: 30px !important; }
.sppb35 { padding-bottom: 35px !important; }
.sppb40 { padding-bottom: 40px !important; }
.sppb45 { padding-bottom: 45px !important; }
.sppb50 { padding-bottom: 50px !important; }
.sppb55 { padding-bottom: 55px !important; }
.sppb60 { padding-bottom: 60px !important; }
.sppb65 { padding-bottom: 65px !important; }
.sppb70 { padding-bottom: 70px !important; }
.sppb75 { padding-bottom: 75px !important; }
.sppb80 { padding-bottom: 80px !important; }
.sppb85 { padding-bottom: 85px !important; }
.sppb90 { padding-bottom: 90px !important; }
.sppb95 { padding-bottom: 95px !important; }
.sppb100 { padding-bottom: 100px !important; }
.sppb105 { padding-bottom: 105px !important; }
.sppb110 { padding-bottom: 110px !important; }
.sppb115 { padding-bottom: 115px !important; }
.sppb120 { padding-bottom: 120px !important; }
.sppb125 { padding-bottom: 125px !important; }
.sppb130 { padding-bottom: 130px !important; }

 
}