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


html{
  height: 100%;
  scroll-behavior: smooth;
	background: #fff;
}
body{
	*font-size: small;
	*font: x-small;
	font-size: 14px;
	line-height: 1.8;
	font-family: 'Noto Sans JP', sans-serif;
	text-align: center;
	margin: 0;
	padding: 0;
	background: #f2f2f2;
  color: #333;
  position: relative;
}
body *,
body *::before,
bory *::after{
  box-sizing: border-box;
}
h1,h2,h3,h4,h5,p,ul,ol,li,img,table,th,td,dl,dt,dd{
	margin: 0;
	padding: 0;
  font-size: 14px;
  line-height: 1.8;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
li{
	list-style-type:none;
}
a:link,a:visited{
	cursor: pointer;
	color: #333;
	text-decoration: none;
}
img{
	border: 0;
	max-width: 100%;
	height: auto;
  vertical-align: top;
  display: block;
}
input, textarea, select,button,label{
  outline:none;
  border: none;
  padding: 0;
  margin: 0;
  -webkit-appearance: none;
  appearance: none;
}
#wrap{
	position: relative;
	text-align: left;
	overflow: hidden;
  height: 100%;
}
br.tabOnly{
  display: none;
}
br.spOnly{
  display: none;
}
a{transition:opacity .2s cubic-bezier(.210, .60, .350, 1);}
a:hover{opacity:.7;}
@media only screen and (max-width:1023px) {
br.tabOnly{
  display: block;
}
}
@media only screen and (max-width:768px) {
br.pcOnly{
	display: none;
}
br.spOnly{
  display: block!important;
}
br.tabOnly{
  display: none;
}
}


.noClick{
  pointer-events: none;
  opacity: .15;
}


/* page_top
-----------------------------------------------*/
#page-top {
  bottom: 20px;
  position: fixed;
  right: 20px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  transition: transform .3s cubic-bezier(.210, .60, .350, 1);
  z-index: 2;
}
#page-top::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #2e3192, #29abe2);
  border-radius: 40px;
  transition: .3s cubic-bezier(.210, .60, .350, 1) all;
  transform: translateY(0) scaleX(1);
  opacity: 0.6;
}
#page-top:hover::before{
  filter: blur(6px);
  transform: translateY(0) scale(1.05,1.1);
}
#page-top a {
  position: relative;
  background: linear-gradient(to right, #2e3192, #29abe2);
  font-size: 0;
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 50%;
}
#page-top a::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 2px;
  height: 30px;
  background: #fff;
}
#page-top a::after {
  content: '';
  display: block;
  width: 18px;
  height: 18px;
  border: 2px solid #fff;
  border-left: 0;
  border-bottom: 0;
  position: absolute;
  top: 26px;
  left: 50%;
  transform: translate(-50%,0)rotate(-45deg);
  box-sizing: border-box;
}
@media only screen and (max-width: 767px){
#page-top {
  right: 10px;
  width: 50px;
  height: 50px;
}
#page-top a::before {
  height: 20px;
}
#page-top a::after {
  width: 15px;
  height: 15px;
  top: 15px;
}
}


/* header
-----------------------------------------------*/
header{
  position: fixed;
  left: 0;
  top: 0;
  z-index: 200;
  display: flex;
  justify-content: space-between;
	height: 80px;
  width: 100%;
  padding: 0 40px;
	transition: background .2s cubic-bezier(.210, .60, .350, 1);
}
header.scroll{
	background: #fff;
}
header h1,
header p{
  margin-top: 20px;
}
header h1 a,
header p a{
  font-size: 0;
  display: block;
  width: 202px;
  height: 46px;
  background: url("/img/common/logo.svg") no-repeat;
  background-size: 100%;
}
header #navi{
  display: flex;
  align-items: center;
	height: 80px;
}
header #navi ul{
  font-size: 0;
}
header #navi ul li{
  display: inline-block;
  vertical-align: middle;
  font-size: 13px;
  margin-left: 20px;
  line-height: 1.5;
  text-align: center;
}
header #navi ul li.home{
  margin-left: 0;
}
header #navi ul li.loginBtn{
  display: none;
}
header #navi ul li a{
  position: relative;
}
header #navi ul li.home a{
  font-size: 0;
}
header #navi ul li.home a::after{
  content: "";
  position: relative;
  top: 2px;
  display: inline-block;
  width: 16px;
  height: 18px;
  background-image: url("/img/common/icon_home.svg");
}
header.wht #navi ul li.home a::after{
  background-image: url("/img/common/icon_home_wht.svg");
}
header #navi ul li.current a::before{
  content: "";
  position: absolute;
  left: 0;
  top: calc(100% + 5px);
  height: 2px;
  width: 100%;
  background: #333;
}
header #navi .btn{
  display: block;
  width: 110px;
  height: 40px;
  text-align: center;
  line-height: 40px;
  color: #fff;
  font-size: 13px;
  font-weight: bold;
  border-radius: 40px;
  margin-left: 20px;
  background: linear-gradient(to right, #2e3192, #29abe2);
  position: relative;
  transition: transform .3s cubic-bezier(.210, .60, .350, 1);
  opacity: 1;
}
header #navi .btn + .btn{
  margin-left: 8px;
}
header #navi .btn::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #2e3192, #29abe2);
  border-radius: 40px;
  transition: .3s cubic-bezier(.210, .60, .350, 1) all;
  transform: translateY(0) scaleX(1);
  opacity: 0.6;
}
header #navi .btn:hover::before{
  filter: blur(6px);
  transform: translateY(0) scale(1.05,1.1);
}
header #menuBtn{
	display: none;
}
@media only screen and (max-width:1023px) {
header{
  padding: 0 20px;
}
header h1, header p {
  margin-top: 26px;
}
header h1 a,
header p a{
  width: 160px;
  height: 30px;
}
header #navi ul li{
  margin-left: 10px;
  font-size: 12px;
}
header #navi .btn{
  width: 80px;
  margin-left: 10px;
}
header #navi .btn + .btn {
  margin-left: 5px;
}
}
@media only screen and (min-width:768px) {
header #navi ul{
  display: block !important;
}
}
@media only screen and (max-width:767px) {
header{
	height: 60px;
  padding: 0 60px 0 20px;
}
header h1,
header p{
  position: relative;
  z-index: 2;
  margin-top: 15px;
}
header h1 a,
header p a{
  width: 160px;
  height: 38px;
}
header #navi{
  height: 60px;
}
header #navi ul li a br{
  display: none;
}
header #menuBtn{
	display: block;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
	width: 60px;
	height: 60px;
	cursor: pointer;
	font-size: 0;
}
header #menuBtn span,
header #menuBtn::before,
header #menuBtn::after{
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 22px;
  height: 2px;
  margin: auto;
  background: #333;
}
header #menuBtn::before{
  transform: translate(-50%, -8px);
  content:"";
}
header #menuBtn::after{
  transform: translate(-50%, 6px);
  content:"";
}
header #menuBtn span{
  transform: translate(-50%, -50%);
  transition: opacity 150ms 50ms;
}
header #menuBtn::before,
header #menuBtn::after{
  transition: transform 200ms;
}
header #menuBtn.active span{
  opacity: 0;
  transition: opacity 150ms;
}
header #menuBtn.active::before{
  transform: translate(-50%, -50%) rotate(45deg);
}
header #menuBtn.active::after{
  transform: translate(-50%, -50%) rotate(-45deg);
}
header #menuBtn.active::before,
header #menuBtn.active::after{
	width: 25px;
}
header.wht #menuBtn span,
header.wht #menuBtn::before,
header.wht #menuBtn::after{
	background: #fff;
}
header #navi ul{
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100vh;
  display: none;
  box-sizing: border-box;
  padding: 70px 20px 120px;
  -webkit-backdrop-filter: blur(73px);
  backdrop-filter: blur(73px);
}
@-moz-document url-prefix() {
header #navi ul{
  background: url("/img/index/bgi.jpg") center;
  background-size: cover;
}
}
header #navi ul li {
  display: block;
  margin-left: 0;
  padding: 8px 0;
  text-align: center;
  font-size: 18px;
}
header #navi ul li{
  transform: translateY(35px);
  opacity: 0;
}
header #navi ul li{
  transition: var(--time) transform 0s,var(--time) opacity 0s;
}
header #navi ul.active li:nth-child(2){
  transition: var(--time) transform .05s,var(--time) opacity .05s;
}
header #navi ul.active li:nth-child(3){
  transition: var(--time) transform .1s,var(--time) opacity .1s;
}
header #navi ul.active li:nth-child(4){
  transition: var(--time) transform .15s,var(--time) opacity .15s;
}
header #navi ul.active li:nth-child(5){
  transition: var(--time) transform .2s,var(--time) opacity .2s;
}
header #navi ul.active li:nth-child(6){
  transition: var(--time) transform .25s,var(--time) opacity .25s;
}
header #navi ul.active li:nth-child(7){
  transition: var(--time) transform .3s,var(--time) opacity .3s;
}
header #navi ul.active li:nth-child(8){
  transition: var(--time) transform .35s,var(--time) opacity .35s;
}
header #navi ul.active li:nth-child(9){
  transition: var(--time) transform .4s,var(--time) opacity .4s;
}
header #navi ul.active li:nth-child(10){
  transition: var(--time) transform .45s,var(--time) opacity .45s;
}
header #navi ul.active li{
  transform: translateY(0);
  opacity: 1;
}
header #navi ul li.loginBtn{
  display: block;
}
header #navi ul li.loginBtn a{
  display: block;
  text-align: center;
  color: #fff;
  font-weight: bold;
  border-radius: 40px;
  margin-left: 20px;
  background: linear-gradient(to right, #2e3192, #29abe2);
  position: relative;
  transition: transform .3s cubic-bezier(.210, .60, .350, 1);
  opacity: 1;
  width: 90px;
  height: 36px;
  line-height: 36px;
  font-size: 12px;
  margin: 0 auto;
}
header #navi .btn{
  position: relative;
  z-index: 2;
  width: 90px;
  height: 36px;
  line-height: 36px;
  font-size: 12px;
  border-radius: 40px;
  margin-left: 0;
}
header #navi #loginBtn{
  display: none;
}
}


/* container
-----------------------------------------------*/
#container{
  position: relative;
}
#container #content {
  padding: 0 0 0 400px;
}
#container #side {
  position: absolute;
  left: 0;
  top: 0;
  width: 300px;
}
@media only screen and (max-width: 1200px){
#container #content {
  padding: 0 0 0 200px;
}
#container #side {
  width: 200px;
}
}
@media only screen and (max-width: 767px){
#container #content {
  padding: 0;
}
#container #side {
  width: 100%;
  position: static;
  margin-top: 0!important;
  margin-bottom: 10px;
}
}


/* breadcrumb
-----------------------------------------------*/
.breadcrumb{
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding: 15px 40px;
  z-index: 100;
  position: relative;
}
.breadcrumb li{
  display: inline-block;
  color: #666666;
  font-weight: bold;
  padding-right: 30px;
  position: relative;
  font-size: 12px;
}
.breadcrumb li:last-child{
  padding-right: 0;
}
.breadcrumb li::after{
  position: absolute;
  content: ">";
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}
.breadcrumb li:last-child::after{
  display: none;
}
.breadcrumb li a{
  color: #666666;
  font-weight: normal;
  text-decoration: underline;
}
@media only screen and (max-width: 767px){
.breadcrumb{
  width: 100%;
  padding: 15px 0;
  margin: 0;
}
}


/* contents
-----------------------------------------------*/
#contents{
  padding: 80px 40px 120px;
  max-width: 1280px;
  margin: 0 auto;
}
@media only screen and (max-width:819px) {
#contents{
  padding: 60px 20px 80px;
}
}


/* side
-----------------------------------------------*/
#side a{
  font-size: 16px;
  font-weight: bold;
  line-height: 3;
}
@media only screen and (max-width: 1200px){
#side a{
  font-size: 14px;
}
}
@media only screen and (max-width: 767px){
#side ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#side li{
  padding: 0 5px;
}
#side a{
  font-size: 12px;
}
}


/* main
-----------------------------------------------*/
#contents #main{
  margin: 55px auto 0;
}
#contents #main .ttl p{
  font-size: 60px;
  font-weight: bold;
  line-height: 1.3;
  font-family: 'Oswald', sans-serif;
  display: inline-block;
  background: linear-gradient(135deg, #2a9acb 0%, #e3007f 100%);
  background: -webkit-linear-gradient(-45deg, #2a9acb 0%, #e3007f 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
#contents #main .ttl h1{
  font-size: 20px;
  margin-top: 15px;
  font-weight: normal;
}
#contents #main .txt{
  margin-top: 50px;
}
#contents #main .txt p:first-child{
  font-size: 18px;
  font-weight: bold;
}
#contents #main .txt h2{
  font-size: 28px;
  margin-top: 10px;
}
#contents #main .txt h2 + p{
  font-size: 15px;
  line-height: 2;
  margin-top: 30px;
}
/* fade */
#contents #main .ttl p:first-child,
#contents #main .ttl h1{
  transform: translateY(40px);
  opacity: 0;
  transition: transform .7s, opacity .7s;
}
#contents #main .ttl h1{
  transition-delay: .1s;
}
#contents #main .txt p:first-child{
  transition-delay: .2s;
}
/*#contents #main .txt h2{
  transition-delay: .2s;
}
#contents #main .txt h2 + p{
  transition-delay: .3s;
}*/
#contents #main.fade .ttl p:first-child,
#contents #main.fade .ttl h1{
  transform: translateY(0);
  opacity: 1;
}
/*#contents #main.fade .ttl p,
#contents #main.fade .txt > *{
  transform: translateY(0);
  opacity: 1;
}*/
@media only screen and (max-width:767px) {
#contents #main{
  margin: 30px auto 0;
}
#contents #main .ttl p{
  font-size: 38px;
}
#contents #main .ttl h1{
  font-size: 14px;
  margin-top: 10px;
}
#contents #main .txt{
  margin-top: 40px;
}
#contents #main .txt p:first-child{
  font-size: 16px;
}
#contents #main .txt h2{
  font-size: 20px;
}
#contents #main .txt h2 + p{
  font-size: 14px;
  margin-top: 15px;
}
}


/* trialArea
-----------------------------------------------*/
#trialArea{
	padding-top: 40px;
  margin-top: -40px;
}
#trialArea .inner{
	background-color: #fff;
	width: 100%;
	border-radius: 22px;
  box-shadow: 0 0 6px 0 rgb(0 0 0 / 5%);
  padding: 40px 47px 60px;
  max-width: 1194px;
  margin: 60px auto 0;
}
#trialArea h2{
  font-size: 32px;
  line-height: 1.5;
  text-align: center;
}
#trialArea h2 + p {
  text-align: center;
  transition-delay: 1.0s;
  margin-top: 10px;
  font-size: 15px;
}
#trialArea .release{
  padding: 195px 0 145px;
}
#trialArea .release p{
  font-size: 20px;
  font-weight: bold;
  line-height: 2.8;
  text-align: center;
}
#trialArea .list{
  display: flex;
  margin-top: 35px;
}
#trialArea .list p {
  font-size: 15px;
}
#trialArea .list .col{
  position: relative;
  padding-bottom: 0;
  width: 18%;
}
#trialArea .list .col:first-child {
  width: 28%;
}
#trialArea .list .col:first-child>div {
  display: flex;
  align-items: center;
}
#trialArea .list .col .subTtl p{
  font-size: 20px;
  line-height: 1.2;
  font-family: 'Oswald', sans-serif;
}
#trialArea .list .col .subTtl h3{
  font-size: 14px;
  font-weight: normal;
}
#trialArea .list .col ul{
  margin-top: 40px;
}
#trialArea .list .col ul li{
  font-size: 14px;
  padding-left: 1em;
  line-height: 2.286;
}
#trialArea .list .col ul li.no-indent{
  padding-left: 0;
}
#trialArea .list .col ul li:first-child,
#trialArea .list .col ul li:nth-child(2){
  padding-left: 0;
}
#trialArea .list .col ul li:first-child{
  margin-top: 0;
}
#trialArea .list .col:first-child>div h3,
#trialArea .list .col:first-child>div p {
  padding-left: 90px;
  font-weight: bold;
}
#trialArea .list .col:first-child>div p {
  font-weight: bold;
}
#trialArea .list .col p.note {
  font-weight: 300!important;
}
#trialArea .list .col>div {
  font-feature-settings: "palt";
  padding: 15px 0;
  border-bottom: #b3b3b3 1px solid;
}
#trialArea .list .col .monthly, 
#trialArea .list .col .threeMonths, 
#trialArea .list .col .halfYear, 
#trialArea .list .col .year {
  padding: 10px 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
#trialArea .list .col .monthly p, 
#trialArea .list .col .threeMonths p, 
#trialArea .list .col .halfYear p, 
#trialArea .list .col .year p {
  font-weight: bold;
  font-size: 20px;
  position: relative;
  font-family: 'Oswald', sans-serif;
}
#trialArea .list .col:nth-child(2) .monthly p, 
#trialArea .list .col:nth-child(2) .threeMonths p, 
#trialArea .list .col:nth-child(2) .halfYear p, 
#trialArea .list .col:nth-child(2) .year p {
  font-weight: normal;
	font-family: 'Noto Sans JP', sans-serif;
  font-size: 14px;
}
#trialArea .list .col>div p span {
  display: inline-block;
  color: #fff;
  background: #333333;
  border-radius: 4px;
  font-size: 14px;
  padding: 0 5px;
  line-height: 22px;
  margin-left: 5px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
#trialArea .list .col ul {
  margin-top: 0;
}
#trialArea .list .col ul li:first-child, 
#trialArea .list .col ul li:nth-child(2),
#trialArea .list .col .itemMax p{
  font-weight: bold;
}
#trialArea .list .col:nth-child(1) {
  transition: transform .7s .5s, opacity .7s .5s;
}
#trialArea .list .col:nth-child(2) {
  transition: transform .7s .6s, opacity .7s .6s;
}
#trialArea .list .col:nth-child(3) {
  transition: transform .7s .7s, opacity .7s .7s;
}
#trialArea .list .col:nth-child(4) {
  transition: transform .7s .8s, opacity .7s .8s;
}
#trialArea .list .col:nth-child(5) {
  transition: transform .7s .9s, opacity .7s .9s;
}
#trialArea .btn{
  max-width: 400px;
  margin: 50px auto 0;
}
#trialArea .btn a{
  display: block;
  color: #fff;
  font-size: 20px;
  margin: 0 auto;
  height: 80px;
  line-height: 80px;
  text-align: center;
  font-weight: bold;
  border-radius: 48px;
  background: linear-gradient(to right, #2e3192, #29abe2);
  position: relative;
  transition: transform .3s cubic-bezier(.210, .60, .350, 1);
  opacity: 1;
}
#trialArea .btn a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #2e3192, #29abe2);
  border-radius: 40px;
  transition: .3s cubic-bezier(.210, .60, .350, 1) all;
  transform: translateY(0) scaleX(1);
  opacity: 0.6;
}
#trialArea .btn a:hover::before{
  filter: blur(6px);
  transform: translateY(0) scale(1.05,1.1);
}
#trialArea .release + .btn{
  max-width: 400px;
}
#trialArea .release + .btn a{
  height: 80px;
  line-height: 80px;
}
/* fade */
/*#trialArea {
  transform: translateY(70px);
  opacity: 0;
  transition: transform .7s, opacity .7s;
}
#trialArea.fade {
  transform: translateY(0);
  opacity: 1;
}
#trialArea h2,
#trialArea h2 + p,
#trialArea .release p,
#trialArea .btn{
  transform: translateY(40px);
  opacity: 0;
  transition: transform .7s, opacity .7s;
}
#trialArea h2{
  transition-delay: .2s;
}

#trialArea .release p{
  transform: translateY(10px);
  transition-delay: 1.2s;
}
#trialArea .btn{
  transform: translateY(20px);
  transition-delay: 1.4s;
}
#trialArea.fade h2,
#trialArea.fade h2 + p,
#trialArea.fade .release p,
#trialArea.fade .btn{
  transform: translateY(0);
  opacity: 1;
}
#trialArea .list .col{
  transform: translateX(70px);
  opacity: 0;
}
#trialArea .list .col:nth-child(1){
  transition: transform .7s .6s, opacity .7s .6s;
}
#trialArea .list .col:nth-child(2){
  transition: transform .7s .7s, opacity .7s .7s;
}
#trialArea .list .col:nth-child(3){
  transition: transform .7s .8s, opacity .7s .8s;
}
#trialArea .list .col:nth-child(4){
  transition: transform .7s .9s, opacity .7s .9s;
}
#trialArea.fade .list .col{
  transform: translateX(0);
  opacity: 1;
}*/
#trialArea h2:not(:first-child){
  margin-top: 110px;
}
@media only screen and (max-width: 1200px) {
#trialArea .listOver .listArea {
  overflow-x: scroll;
  position: relative;
  left: 0;
  width: 100%;
  padding: 0 0 20px;
}
#trialArea .list {
  margin-top: 0;
  padding: 20px 0;
  width: 996px;
}
#trialArea .list .col:first-child>div h3, #trialArea .list .col:first-child>div p {
  padding-left: 60px;
}
#trialArea .release{
  padding: 145px 0 95px;
}
}
@media only screen and (max-width: 767px) {
#trialArea .inner {
  padding: 20px;
  margin: 40px auto 0;
  border-radius: 10px;
}
#trialArea h2{
  font-size: 24px;
}
#trialArea h2 + p {
  font-size: 14px;
}
#trialArea h2:not(:first-child){
  margin-top: 60px;
}
#trialArea .listOver .listArea {
  padding: 0 0 20px;
}
#trialArea .list {
  margin-top: 0;
  padding: 20px 0;
  width: 720px;
}
#trialArea .list p {
  font-size: 14px;
}
#trialArea .list .col {
  padding: 0;
  margin-top: 0!important;
  width: 19.5%;
}
#trialArea .list .col:first-child {
  width: 22%;
}
#trialArea .list .col .subTtl p {
  font-size: 24px;
}
#trialArea .list .col:first-child>div h3, #trialArea .list .col:first-child>div p {
  padding-left: 10px;
  font-size: 14px;
}
#trialArea .list .col .subTtl h3, 
#trialArea .list .col ul li, 
#trialArea .list .col>div p span {
  font-size: 12px;
}
#trialArea .list .col .itemMax p{
  display: inline-block;
  vertical-align: middle;
  font-size: 12px;
}
#trialArea .list .col .monthly p, 
#trialArea .list .col .threeMonths p, 
#trialArea .list .col .halfYear p, 
#trialArea .list .col .year p {
  font-size: 16px;
}
#trialArea .btn {
  margin: 0 auto 40px;
}
#trialArea .list .col:first-child>div {
  padding-left: 5px;
}
#trialArea .btn a {
  font-size: 16px;
  height: 65px;
  line-height: 65px;
}
#trialArea .release{
  padding: 100px 0;
}
#trialArea .release p{
font-size: 18px;
    line-height: 1.8;
}
}


/* notfound
-----------------------------------------------*/
.notfound #main .ttl{
  text-align: center;
}
.notfound #main .ttl{
  text-align: center;
}
.notfound #main .ttl a{
  position: relative;
  z-index: 1;
  display: block;
  max-width: 150px;
  width: 100%;
  height: 36px;
  line-height: 36px;
  text-align: center;
  color: #fff;
  font-weight: bold;
  background: linear-gradient(to right, #2e3192, #29abe2);
  border-radius: 36px;
  font-size: 12px;
  opacity: 1;
  margin: 35px auto 0;
}
.notfound #main .ttl a::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #2e3192, #29abe2);
  border-radius: 36px;
  transition: .3s cubic-bezier(.210, .60, .350, 1) all;
  transform: translateY(0) scaleX(1);
  opacity: 0.6;
}
.notfound #main .ttl a:hover::before{
  filter: blur(6px);
  transform: translateY(0) scale(1.05,1.1);
}
/* fade */
/*.notfound #main .ttl a{
  transform: translateY(40px);
  opacity: 0;
  transition: transform .7s, opacity .7s;
}
.notfound #main.fade .ttl a{
  transform: translateY(0);
  opacity: 1;
  transition-delay: .3s;
}*/
@media only screen and (max-width: 767px){
.notfound #main .ttl a{
  margin: 20px auto 0;
}
}


/* footer
-----------------------------------------------*/
footer {
  padding: 40px;
  text-align: left;
  background: #fff;
}
footer .inner {
  display: flex;
  justify-content: space-between;
  max-width: 1440px;
  margin: 0 auto 55px;
}
footer .info {
  max-width: 1440px;
  margin: 0 auto;
}
footer .menu, 
footer .sns ul, 
footer .info ul {
  display: flex;
}
footer .menu .col+.col {
  margin-left: 40px;
}
footer .menu .col a {
  font-size: 12px;
  line-height: 1.833;
  position: relative;
}
footer .menu .col a span {
  font-weight: bold;
  font-size: 13px;
}
footer .menu .col li {
  line-height: 1.5;
}
footer .menu .col li.home a {
  font-size: 0;
}
footer .menu .col li.home a::after {
  content: "";
  position: relative;
  top: 2px;
  display: inline-block;
  width: 16px;
  height: 18px;
  background-image: url(/img/common/icon_home.svg);
}
footer .sns li+li {
  margin-left: 25px;
}
footer .logo a {
  display: block;
  width: 216px;
  height: 25px;
  background-image: url("/img/common/foot_logo.svg");
  background-repeat: no-repeat;
  background-size: 100%;
  text-indent: -999999px;
  margin-bottom: 5px;
}
footer .info li, 
footer .info p {
  font-size: 12px;
  line-height: 1.833;
}
@media only screen and (max-width:1024px) {
footer .menu .col + .col {
  margin-left: 20px;
}
}
@media only screen and (max-width:767px) {
footer {
  padding: 20px;
}
footer .inner{
  flex-wrap: wrap;
  margin-bottom: 30px;
}
footer .menu,
footer .sns,
footer .info ul{
  display: flex;
  width: 100%;
  flex-wrap: wrap;
}
footer .menu .col {
  width: 50%;
}
footer .menu .col:nth-child(odd) {
  padding-left: 20px;
}
footer .menu .col:first-child {
  width: 100%;
  padding-left: 0;
}
footer .menu .col + .col {
  margin-left: 0;
  margin-top: 10px;
}
footer .sns{
  margin-top: 20px;
}
}


/* notfound
-----------------------------------------------*/
#notfound {
  background: #fff;
}
#notfound .inner {
  max-width: 1200px;
  width: 100%;
  padding: 160px 40px 80px;
  margin: 0 auto;
  text-align: center;
}
#notfound .inner h2 {
  font-size: 38px;
  line-height: 1.342;
  font-feature-settings: "palt";
}
#notfound .inner p {
  text-align: center;
  line-height: 2;
  margin-top: 20px;
}
#notfound .inner .btn {
  max-width: 350px;
  width: 100%;
  margin: 30px auto;
}
#notfound .inner .btn a {
  background: #333333;
  width: 100%;
  border-radius: 35px;
  line-height: 70px;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  display: block;
  text-align: center;
}
@media only screen and (max-width:767px) {
#notfound .inner {
  max-width: 100%;
  padding: 100px 40px 40px;
}
#notfound .inner h2 {
  font-size: 28px;
}
#notfound .inner .btn {
  max-width: 250px;
}
#notfound .inner .btn a {
  line-height: 48px;
  font-size: 14px;
}
}


/* itSupport
-----------------------------------------------*/
.itSupport {
  position: absolute;
  z-index: 1;
  max-width: 294px;
  width: 100%;
}
.itSupport .inner {
  max-width: 294px!important;
  width: 100%!important;
  border-radius: 10px!important;
  text-align: center!important;
  background: #F15A24!important;
  padding: 10px 20px!important;
  position: relative!important;
}
.itSupport .inner::before {
  position: absolute;
  display: block;
  content: "";
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #F15A24;
}
.itSupport h3 {
  font-size: 18px;
  line-height: 1.5;
  color: #fff;
}
.itSupport h3 span {
  font-size: 26px;
  display: block;
}
@media only screen and (max-width: 1023px) {
.itSupport {
  max-width: 245px;
}
}
@media only screen and (max-width: 767px) {
.itSupport {
  position: relative;
  max-width: 100%;
}
#main .itSupport {
  right: 0;
  top: 0;
  margin-bottom: 30px;
}
.itSupport .inner {
  margin: 0 auto!important;
  max-width: 245px!important;
}
.itSupport .inner::before {
  margin-left: -10px;
  border: 10px solid transparent;
  border-top: 10px solid #F15A24;
}
.itSupport h3 {
  font-size: 16px;
}
.itSupport h3 span {
  font-size: 24px;
}
}