@charset "utf-8";
/* common
-----------------------------------------------------*/
body{
	font-size: 1.4rem;
}
br.sp{
	display: inline;
}
br.pc{
	display: none;
}
br.sphide{
	display: none;
}
/* header
-----------------------------------------------------*/
#site-header{
	position: fixed;
	top: 5px;
	left: 5px;
	width: calc(100% - 10px);
	z-index: 10;
	transition: all 0.5s ease;
	display: flex;
	align-items: center;
	height: 56px;
	padding-left: 25px;
	background: #fff;
	border-radius: 100px;
}
#site-header.hide{
	top: -65px;
}
#headerbtn{
	display: flex;
}
#site-header .logo{
	width: 100px;
	height: auto;
}
#globalnav{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #00D6C1;
	display: flex;
	align-items: center;
	justify-content: center;
	visibility: hidden;
	opacity: 0;
	transform: scale(0.9);
	transition: all 0.3s ease;
}
#globalnav.active{
	visibility: visible;
	opacity: 1;
	transform: scale(1);
}
#globalnav ul li + li{
	margin-top: 2em;
}
#globalnav ul li a{
	color: #fff;
	font-size: 1.8rem;
}
.menubtn{
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 3px;
	right: 4px;
	z-index: 30;
	width: 50px;
	height: 50px;
	border-radius: 50px;
	background: #161616;
}
.hamburger{
  display: inline-block;
  cursor: pointer;
	width: 25px;
}
.bar1, .bar2, .bar3 {
	display: block;
  width: 25px;
  height: 1px;
  background-color: #fff;
  transition: 0.4s;
	border-radius: 10px;
}
.hamburger:hover .bar1,
.hamburger:hover .bar2,
.hamburger:hover .bar3{
	background-color: #fff;
}
.bar2{
  margin: 6px 0;
}
.active .bar1 {
  transform: rotate(-45deg) translate(-5px, 5px);
	background: #fff !important;
}
.active .bar2 {
  opacity: 0;
}
.active .bar3 {
  transform: rotate(45deg) translate(-5px, -5px);
	background: #fff !important;
}
/* footer
-----------------------------------------------------*/
#pagetop{
	bottom: 0;
}
#footer-contact{
	padding: 40px 20px;
	margin-top: 60px;
}
#footer-contact-bg #circle{
	width: 110vw;
	height: 110vw;
	top: calc(50% - 55vw);
	left: calc(50% - 55vw);
}
#footer-contact-bg #circle02{
	width: 114vw;
	height: 114vw;
	top: calc(50% - 57vw);
	left: calc(50% - 57vw);
}
#footer-contact p:first-child{
	font-size: 4rem;
	margin-bottom: 20px;
}
#footer-contact .title{
	font-size: 2rem;
	margin-bottom: 25px;
}
#footer-contact .btnbox{
	display: flex;
	flex-wrap: wrap;
}
#footer-contact .btnbox a.btn + a.btn{
	margin-left: 0;
	margin-top: 20px;
}
#footer-contact .btnbox a.btn{
	width:  calc(100vw - 80px);
}
#site-footer{
	padding-top: 40px;
}
#site-footer .columns{
	display: flex;
	flex-wrap: wrap;
	padding: 0 20px;
}
#site-footer .columns .col:first-child{
	width: 100%;
	order: 3;
	margin-top: 20px;
}
#site-footer .columns .col:first-child img{
	width: 140px;
}
#site-footer nav{
	display: block;
}
#site-footer nav > ul + ul{
	margin-left: 0;
}
#site-footer address{
	margin-top: 1em;
}
#site-footer .row{
	display: block;
	padding: 20px 20px 60px 20px;
	margin-top: 20px;
}
#site-footer .row nav{
	margin-bottom: 20px;
}
#fixed{
	right: 10px;
}
#fixed a{
	width: 152px;
	height: 40px;
	padding-top: 9px;
	transition-property: none;
}
#fixed a:hover{
	height: 40px;
}
#fixed a img{
	width: 120px;
}

/* common
-----------------------------------------------------*/
.btnbox .btn{
	height: 60px;
	line-height: 60px;
}
.btnbox .btn span{
	height: 60px;
	font-size: 1.6rem;
}
.btnbox .btn.medium{
	max-width: calc(100vw - 80px);
}
.btnbox02 a.btn{
	font-size: 1.1rem;
}
.btnbox02 a.btn:after{
	width: 6px;
	height: 6px;
}
#pagetitle{
	margin: 100px 0 0 0;
}
#pagetitle .phenomena{
	font-size: 4.5rem;
	margin-bottom: 20px;
}
#pagetitle h1,
#pagetitle h2{
	font-size: 2rem;
}
h2.section-title{
	font-size: 2.5rem;
	margin-bottom: 30px;
}
#tabs{
	margin-bottom: 30px;
}
#tabs ul li a{
	height: 54px;
	font-size: 1.3rem;
	line-height: 1.25;
}

/* top
-----------------------------------------------------*/
#visual:after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.load #visual p.copy{
	font-size: 7rem;
}
#visual p.copy02{
	font-size: 2rem;
}
#visual p.copy03{
	font-size: 1.8rem;
}
#intro {
	padding: 60px 20px;
}
#intro h1{
	font-size: 3rem;
}
#intro p{
	font-size: 1.6rem;
	text-align: left;
}
.margin-lr{
	margin: 60px 20px;
}
#worry h2{
	font-size: 7vw;
	text-align: center;
	line-height: 1.5;
}
@media only screen and (min-width: 480px) {
	#worry h2{
		font-size: 3.5rem;
	}
}
#worry ul.circles{
	padding: 0 10px;
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
}
#worry .bg-white{
	margin-top: 126px;
	padding-bottom: 60px;
}
ul.circles li span.circle{
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	font-size: 3vw;
}
@media only screen and (min-width: 480px) {
	ul.circles li span.circle{
		font-size: 1.6rem;
	}
}
ul.circles li{
	width: 33.3%;
}
ul.circles li + li{
	margin-left: 10px;
}
#worry h3{
	font-size: 2rem;
	margin-top: 20px;
}
.line-after:after{
	margin: 25px auto 35px auto;
	width: 80px;
	height: 4px;
}
#worry ul.reason{
	padding: 0 20px;
	display: block;
}
#worry ul.reason li + li{
	margin-top: 20px;
}
#worry ul.reason li h4{
	font-size: 1.8rem;
}
h2.en span:first-child{
	font-size: 4.5rem;
}
.section-title{
	display: block;
}
.section-title p{
	line-height: 1.5;
	margin-top: 1em;
	font-weight: 400;
}
#top-service .bg-white{
	padding: 0;
}
.pannels-wrap{
	display: block;
	padding: 0 5px;
}
.pannels-wrap:after{
	display: none;
}
.flip-card{
	padding: 17px 20px;
}
.flip-card + .flip-card{
	border-top: 1px solid #dddddd;
}
.flip-card .corner{
	display: none;
}
.flip-card-inner{
	display: flex;
}
.flip-card-inner .btn{
	display: none;
}
.flip-card-inner .front{
	width: 80px;
	flex-shrink: 0;
	margin-right: 15px;
}
.flip-card-inner .front img{
	width: 100%;
	max-width: none;
}
.flip-card-inner .front h3{
	display: none;
}
.flip-card-inner .rear h3{
	font-weight: 600;
	margin-bottom: 10px;
	font-size: 1.6rem;
}
.flip-card-inner .rear p{
	line-height: 1.5;
}
#top-service{
	margin-bottom: 60px;
}
.section-title,
.section-title.margin-lr{
	margin-bottom: 30px;
}
#top-case .slick-prev{
	right: auto;
	left: 5px;
}
#top-case .slick-next{
	left: auto;
	right: 5px;
}
#top-case .case-slide{
	overflow: hidden;
	width: calc(100vw - 80px);
}
#top-case .case-slide .txt{
	padding: 20px;
}
#top-case .case-slide .txt h3{
	font-weight: 600;
	font-size: 1.6rem;
}
#top-case .case-slide .link,
#top-case .case-slide .client{
	line-height: 1.5;
}
#top-case .case-slide .link{
	margin-top: 5px;
}
#top-case .case-slide .client{
	margin-top: 5px;
	margin-bottom: 10px;
}
.case-block .txt .content{
	margin-bottom: 20px;
}
.case-block{
	display: block;
}
.case-block .img{
	width: 100%;
}
#top-repeat{
	margin: 60px 20px;
}
#top-repeat h2{
	font-size: 2.6rem;
	line-height: 1.5;
	margin-bottom: 30px;
}
#top-repeat ul{
	display: block;
}
#top-repeat ul li{
	padding: 20px;
	align-items: flex-start;
}
#top-repeat ul li + li{
	margin-top: 10px;
}
#top-repeat ul li .avatar{
	width: 28%;
	max-width: 100px;
}
/* vision
-----------------------------------------------------*/
#vision{
	padding: 130px 0;
}
#vision h2{
	font-size: 4.5rem;
	padding: 0 15px;
}
#vision p{
	font-size: 2rem;
}
#feature{
	display: block;
}
#feature .img{
	width: 100%;
	aspect-ratio: 6/4;
}
#feature .txt{
	padding: 30px 20px;
}
#feature .txt h2{
	font-size: 2.5rem;
}
#feature .txt p{
	font-size: 1.4rem;
}
.bg-padding{
	padding: 30px 20px;
}
#cooporate .col{
	display: block;
}
#cooporate .col .logo{
	width: auto;
	padding: 30px 0;
}
#cooporate .col .logo img{
	width: 110px;
}
#cooporate .col .txt{
	padding: 30px 20px;
}
.table01{
	font-size: 1.4rem;
}
.table01 th,
.table01 td{
	padding: 10px 0;
}
.table01 th{
	white-space: nowrap;
	padding-right: 20px;
}
/* contact
-----------------------------------------------------*/
p.sectionlead{
	text-align: left;
	margin-bottom: 30px;
}
form table th,
form table td{
	display: block;
	padding-left: 0;
	padding-right: 0;
}
form table th{
	padding-bottom: 0;
	font-weight: 600;
}
#chatwork .chatworklogo img{
	width: 180px;
}
#chatwork .sectionlead{
	font-size: 1.6rem;
}
/* case
-----------------------------------------------------*/
#case .case-block .txt{
	padding: 20px;
}
#case .bg-white{
	overflow: hidden;
}
#case .case-block .txt h3{
	font-size: 1.6rem;
}
#case .margin-lr + .margin-lr{
	margin-top: 30px;
}
#case-detail section{
	width: auto;
}
#case-detail .case-block .txt{
	padding: 20px;
}
#case-detail .case-block.case-intro .right{
	padding: 20px;
	padding-top: 0;
}
#case-detail .case-block .txt .content{
	margin: 0;
}
#case-detail .case-block .txt h3{
	font-size: 1.5rem;
}
#case-detail section + section{
	margin-top: 20px;
	margin-bottom: 20px;
}
#case-detail section{
	margin-bottom: 20px;
}
/* service
-----------------------------------------------------*/
#navcol section + section{
	margin-top: 50px;
}	
#tabs.sptworows ul{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 1px;
}
#tabs.sptworows ul li{
}
#tabs.sptworows ul li + li{
	margin-left: 0;
}
#service .ico{
	top: 10px;
	right: 10px;
}
#service .ico img{
	width: 90px;
}
h1.tab-title, h2.tab-title{
	font-size: 2.2rem;
}
#service p.lead{
	font-size: 1.6rem;
}
#service section h3.bg{
	font-size: 1.6rem;
}
.grid2{
	grid-template-columns: 1fr;
}
#service h3{
	font-size: 1.4rem;
}
.grid2 > div, .grid1 > div{
	padding: 20px;
}
.check:before{
	vertical-align: -5px;
}
h1.tab-title:before,
h2.tab-title:before{
	left: -30px;
	width: 20px;
	top: 0;
}
h1.tab-title:after,
h2.tab-title:after{
	left: -20px;
	top: 20px;
	border-width: 6px;
	margin-left: -6px;
}














