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

@font-face {
	font-family: "YuGothic M";
	src: local("Yu Gothic Medium");
}

/* ----------------------------------------------------------------------
inner
---------------------------------------------------------------------- */
.inner{
	width:calc(100% - 60px);
	max-width:1200px;
	margin-left: auto;
	margin-right: auto;
}
.inner960{
	max-width:960px;
	width:calc(100% - 60px);
	margin-left: auto;
	margin-right: auto;
}
.inner768{
	max-width:768px;
	width:calc(100% - 60px);
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 1260px) {
	.inner{
		margin-left: 37.5px;
		margin-right: auto;
	}
}
@media screen and (max-width: 1020px) {
	.inner960{
		margin-left: 37.5px;
		margin-right: auto;
	}
}
@media screen and (max-width: 828px) {
	.inner768{
		margin-left: 37.5px;
		margin-right: auto;
	}
}

/* ----------------------------------------------------------------------
フォント（%）
---------------------------------------------------------------------- */
.font50 {
	font-size: 50% ;
}
.font60 {
	font-size: 60% ;
}
.font70 {
	font-size: 70% ;
}
.font80 {
	font-size: 80% ;
}
.font90 {
	font-size: 90% ;
}
.font100 {
	font-size: 100% ;
}
.font110 {
	font-size: 110% ;
}
.font120 {
	font-size: 120% ;
}
.font130 {
	font-size: 130% ;
}
.font150 {
	font-size: 150% ;
}
.font180 {
	font-size: 180% ;
}
.font200 {
	font-size: 200% ;
}
.font230 {
	font-size: 230% ;
}
.font250 {
	font-size: 250% ;
}

/* ----------------------------------------------------------------------
フォント（px）
---------------------------------------------------------------------- */
.font10px{
	font-size: 10px ;
}
.font12px{
	font-size: 12px ;
}
.font14px{
	font-size: 14px ;
}
.font16px{
	font-size: 16px ;
}
.font18px{
	font-size: 18px ;
}
.font20px{
	font-size: 20px ;
}
.font25px{
	font-size: 25px ;
}
.font30px{
	font-size: 30px ;
}
.font35px{
	font-size: 35px ;
}
.font40px{
	font-size: 40px ;
}
.font45px{
	font-size: 45px ;
}
@media screen and (min-width: 768px) {
	.font12-14px{
		font-size: 14px ;
	}
	.font14-16px{
		font-size: 16px ;
	}
	.font15-20px{
		font-size: 20px ;
	}
	.font15-18px{
		font-size: 18px ;
	}
	.font16-18px{
		font-size: 18px ;
	}
	.font16-20px{
		font-size: 20px ;
	}
	.font18-20px{
		font-size: 20px ;
	}
	.font18-25px{
		font-size: 25px ;
	}
	.font20-22px{
		font-size: 22px ;
	}
	.font20-25px{
		font-size: 25px ;
	}
	.font22-25px{
		font-size: 25px ;
	}
	.font20-30px{
		font-size: 30px ;
	}
	.font22-30px{
		font-size: 30px ;
	}
	.font25-30px{
		font-size: 30px ;
	}
	.font28-32px{
		font-size: 32px ;
	}
	.font30-35px{
		font-size: 35px ;
	}
}
@media screen and (max-width: 767px) {
	.font12-14px{
		font-size: 12px ;
	}
	.font14-16px{
		font-size: 14px ;
	}
	.font15-20px{
		font-size: 15px ;
	}
	.font15-18px{
		font-size: 15px ;
	}
	.font16-18px{
		font-size: 16px ;
	}
	.font16-20px{
		font-size: 16px ;
	}
	.font18-20px{
		font-size: 18px ;
	}
	.font18-25px{
		font-size: 18px ;
	}
	.font20-22px{
		font-size: 20px ;
	}
	.font20-25px{
		font-size: 20px ;
	}
	.font22-25px{
		font-size: 22px ;
	}
	.font20-30px{
		font-size: 20px ;
	}
	.font22-30px{
		font-size: 22px ;
	}
	.font25-30px{
		font-size: 25px ;
	}
	.font28-32px{
		font-size: 28px ;
	}
	.font30-35px{
		font-size: 30px ;
	}
}

/* ----------------------------------------------------------------------
フォントファミリー
---------------------------------------------------------------------- */

.yu_font{
	font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
}
.yugo_font{
	font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
}

/* ---------------------------------------------
 Adobe Font 
--------------------------------------------- */
.heeboL{
	font-family: "heebo", sans-serif;
	font-weight: 300;
	font-style: normal;
}
.heeboR{
	font-family: "heebo", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.heeboM{
	font-family: "heebo", sans-serif;
	font-weight: 500;
	font-style: normal;
}
.heeboB{
	font-family: "heebo", sans-serif;
	font-weight: 700;
	font-style: normal;
}
.heeboEB{
	font-family: "heebo", sans-serif;
	font-weight: 800;
	font-style: normal;
}

/* ----------------------------------------------------------------------
行間調整
---------------------------------------------------------------------- */
.lh10{
	line-height:1.0em;
}
.lh12{
	line-height:1.2em;
}
.lh15{
	line-height:1.5em;
}
.lh18{
	line-height:1.8em;
}
.lh20{
	line-height:2em;
}
.lh24{
	line-height:2.4em;
}

/* ----------------------------------------------------------------------
文字揃え
---------------------------------------------------------------------- */
.txtCenter{
	text-align:center;
}
.txtLeft{
	text-align:left;
}
.txtRight{
	text-align:right;
}

/* ----------------------------------------------------------------------
文字色
---------------------------------------------------------------------- */
.white{
	color:#fff;
}
.blk{
	color:#333;
}
.tiffany{
	color:#00a199;
}

/* ----------------------------------------------------------------------
文字スタイル（ウエイト）
---------------------------------------------------------------------- */
.bold{
	font-weight: bold;
}
.normal{
	font-weight: normal;
}

/* ----------------------------------------------------------------------
文字間
---------------------------------------------------------------------- */
.ls01{
	letter-spacing: 0.1em;
}
.ls02{
	letter-spacing: 0.2em;
}

/* ----------------------------------------------------------------------
PC・スマホ・タブレットのみ改行
---------------------------------------------------------------------- */

@media print, screen and (min-width: 768px) {
	.kaigyouSp {
		display: none;
	}
}
@media screen and (max-width: 767px){
	.kaigyouPc {
		display: none;
	}
}

/* ----------------------------------------------------------------------
文字間
---------------------------------------------------------------------- */
.palt{
	font-feature-settings: "palt";
}

/* ----------------------------------------------------------------------
margin・padding
---------------------------------------------------------------------- */
/*margin top*/
.mt00 {
	margin-top: 0px;
}
.mt05 {
	margin-top: 5px;
}
.mt10 {
	margin-top: 10px;
}
.mt15 {
	margin-top: 15px;
}
.mt20 {
	margin-top: 20px;
}
.mt25 {
	margin-top: 25px;
}
.mt30 {
	margin-top: 30px;
}
.mt35 {
	margin-top: 35px;
}
.mt40 {
	margin-top: 40px;
}
.mt45 {
	margin-top: 45px;
}
.mt50 {
	margin-top: 50px;
}
.mt80 {
	margin-top: 80px;
}
.mt100 {
	margin-top: 100px;
}
/*margin bottom*/
.mb00 {
	margin-bottom: 0px;
}
.mb05 {
	margin-bottom: 5px;
}
.mb10 {
	margin-bottom: 10px;
}
.mb15 {
	margin-bottom: 15px;
}
.mb20 {
	margin-bottom: 20px;
}
.mb25 {
	margin-bottom: 25px;
}
.mb30 {
	margin-bottom: 30px;
}
.mb35 {
	margin-bottom: 35px;
}
.mb40 {
	margin-bottom: 40px;
}
.mb45 {
	margin-bottom: 45px;
}
.mb50 {
	margin-bottom: 50px;
}
.mb60 {
	margin-bottom: 60px;
}
.mb70 {
	margin-bottom: 70px;
}
.mb80 {
	margin-bottom: 80px;
}
.mb100 {
	margin-bottom: 100px;
}
/*margin left*/
.ml05{
	margin-left: 5px;
}
.ml10 {
	margin-left: 10px;
}
.ml15 {
	margin-left: 15px;
}
/*margin right*/
.mr30 {
	margin-right: 30px;
}
/*padding top*/
.pt05 {
	padding-top: 5px;
}
.pt10 {
	padding-top: 10px;
}
.pt15 {
	padding-top: 15px;
}
.pt20 {
	padding-top: 20px;
}
.pt25 {
	padding-top: 25px;
}
.pt30 {
	padding-top: 30px;
}
.pt35 {
	padding-top: 35px;
}
.pt40 {
	padding-top: 40px;
}
.pt45 {
	padding-top: 45px;
}
.pt50 {
	padding-top: 50px;
}
.pt80 {
	padding-top: 80px;
}
.pt100 {
	padding-top: 100px;
}
/*padding bottom*/
.pb05 {
	padding-bottom: 5px;
}
.pb10 {
	padding-bottom: 10px;
}
.pb15 {
	padding-bottom: 15px;
}
.pb20 {
	padding-bottom: 20px;
}
.pb25 {
	padding-bottom: 25px;
}
.pb30 {
	padding-bottom: 30px;
}
.pb35 {
	padding-bottom: 35px;
}
.pb40 {
	padding-bottom: 40px;
}
.pb45 {
	padding-bottom: 45px;
}
.pb50 {
	padding-bottom: 50px;
}
.pb80 {
	padding-bottom: 80px;
}
.pb100 {
	padding-bottom: 100px;
}
.pd10{
	padding: 10px;
}
.pd15{
	padding: 15px;
}
.pd20{
	padding: 20px;
}
.pd25{
	padding: 25px;
}
.pd30{
	padding: 30px;
}

/* ----------------------------------------------------------------------
画像
---------------------------------------------------------------------- */
img.img100{
	width:100%;
	display:block;
}
img.imgCenter{
	max-width: 100%;
	display:block;
	margin-left:auto;
	margin-right:auto;
}
img.imgLeft{
	max-width: 100%;
	display:block;
	margin-right:auto;
}
img.imgRight{
	max-width: 100%;
	display:block;
	margin-left:auto;
}

/* ----------------------------------------------------------------------
背景色
---------------------------------------------------------------------- */
.bgWhite{
	background:#fff;
}
.bgGray{
	background:#fafafa;
}

/* ----------------------------------------------------------------------
 スクロールフェード
---------------------------------------------------------------------- */
.fade {
	opacity: 0;
	transform: translateY(50px);
}
.fade01 {
	transition: opacity 1.5s, transform 1s;	
}
.fade02 {
	transition: opacity 1.5s, transform 1s;
	transition-delay: 0.1s;
}
.fade03 {
	transition: opacity 1.5s, transform 1s;	
	transition-delay: 0.2s;
}
.fade04 {
	transition: opacity 1.5s, transform 1s;		
	transition-delay: 0.3s;
}
.fade.active {
	opacity: 1;
	transform: translateY(0px);
}

/* ----------------------------------------------------------------------
 デバイスによる表示分け
---------------------------------------------------------------------- */
@media screen and (min-width: 768px){
	.sp_only{
		display:none;
	}
}
@media screen and (max-width: 767px){
	.pc_only{
		display:none;
	}
}

/* ----------------------------------------------------------------------
 蛍光マーカー
---------------------------------------------------------------------- */
.marker-animation.active{
    background-position: -100% .5em;
}
.marker-animation {
	background-repeat: repeat-x;
	background-size: 200% .8em;
	background-position: 0 .5em;
	transition: all 2s ease;
	font-weight:bold;
}
.marker-animation01{
    background-image: -webkit-linear-gradient(left, transparent 50%, rgb(239,255,33) 50%);
    background-image: -moz-linear-gradient(left, transparent 50%, rgb(239,255,33) 50%);
    background-image: -ms-linear-gradient(left, transparent 50%, rgb(239,255,33) 50%);
    background-image: -o-linear-gradient(left, transparent 50%, rgb(239,255,33) 50%);
    background-image: linear-gradient(left, transparent 50%, rgb(239,255,33) 50%);
}

/* ----------------------------------------------------------------------
 アンダーライン
---------------------------------------------------------------------- */
.UlText {
  position: relative;
  z-index: 1;
}
.UlText:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -14px;
  width: 0%;
  height: 4px;
  z-index: -1;
  transition: all 0.8s;
}
.UlText.ulActive:after {
  width: 100%;
}

.UlText01:after{
	background: #29abe2;
}
.UlText02:after{
	background: #d46a9f;
}
.UlText03:after{
	background: #d6904c;
}
.UlText04:after{
	background: #d9e021;
}

/* ----------------------------------------------------------------------
 ページ内リンク
---------------------------------------------------------------------- */
@media screen and (min-width: 1001px){
	a.scroll_point {
	 height: 1px;
	 display: block;
	}
}
@media screen and (max-width: 1000px){
	 a.scroll_point {
	 height: 1px;
	 display: block;
	}
}



/* ----------------------------------------------------------------------
 伸びるボタン
---------------------------------------------------------------------- */
.btnUb a {
	position: relative;
	display:inline-block;
	border: none;
	border-bottom: 1px solid #000;
	width: 250px;
	max-width: 90%;
	text-align:left;
	padding-bottom:10px;
	transition : all 0.5s ease 0s;
}
.btnUb a::before {
	content: "";
	display: block;
	width: 30px;
	height: 1px;
	background: #000;
	rotate: 40deg;
	position: absolute;
	right: -3px;
	bottom: 9px;
}
.btnUb a{
	text-decoration:none;
	background: linear-gradient(90deg, #00a199 0%, #000 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.btnUb a:hover{
	width: 270px;
	max-width: 100%;
}
.btnCenter{
	margin-left:auto;
	margin-right:auto;
}


/* ----------------------------------------------------------------------
 タイトル
---------------------------------------------------------------------- */
.title p{
	font-size:60px;
	line-height:1.2em;
}
.title p:first-letter{
	color:#00a199;
}
@media screen and (max-width: 767px){
	.title p{
		font-size:50px;
	}
}


/* ---------------------------------------------
 ページ全体
--------------------------------------------- */
html{
	scroll-padding-top: 70px;
}
@media screen and (max-width: 520px){
	html{
		scroll-padding-top: 58px;
	}
}
.homeWrap,
.pageWrap{
	margin: 3rem 0;
}
.pageWrap{
	margin-bottom:140px;
}
.contents{
	margin-bottom:100px;
}
@media screen and (max-width: 767px){
	.contents{
		margin-bottom:70px;
	}
}

/* ---------------------------------------------
 ヘッダーロゴ
--------------------------------------------- */
.l-header__logo{
	padding:17.5px 0;
}
img.headLogo{
	display:block;
	width:250px;
}
@media screen and (max-width: 520px){
	img.headLogo{
		width:150px;
	}
}

/* ---------------------------------------------
 グローバルメニュー
--------------------------------------------- */
.c-gnav .__mainText, .c-gnav .__subText{
	letter-spacing:0.2em;
}

/* ---------------------------------------------
 signage
--------------------------------------------- */
.p-topArea{
	text-align:left;
	min-height: 200px;
}
.p-topArea.-noimg{
	background:#fff;
}
.p-topArea__body{
	text-shadow:none;
}
.p-topArea__body h1{
	color:#000;
}
p.signageTitEn{
	font-size:80px;
	color:#000;
	letter-spacing:0.1em;
}
p.signageTitEn span:first-child{
	color:#00a199;
}
p.signageTitEn span{
	display: inline-block;
}

@media screen and (max-width: 960px){
	p.signageTitEn{
		font-size:60px;
	}
}
@media screen and (max-width: 767px){
	.p-topArea{
		min-height: 150px;
	}
	p.signageTitEn{
		font-size:50px;
		padding-left:15px;
	}
	h1.c-pageTitle__main{
		padding-left:15px;
	}
}
@media screen and (max-width: 480px){
	.p-topArea{
		min-height: 120px;
	}
	p.signageTitEn{
		font-size:35px;
	}
}

/* ---------------------------------------------
 パンくずリスト
--------------------------------------------- */
.p-breadcrumb{
	padding: 10px 0;
	border-top:1px #000 solid;
	border-bottom:1px #000 solid;
}
.p-breadcrumb__list{
	justify-content:end;
}

/* ---------------------------------------------
 SideTitle（トップ・固定ページのみ）
--------------------------------------------- */
.sideTitle{
	position:absolute;
	z-index:9999;
	height:100%;
	width:20px;
	background:#000;
	text-align:center;
}
.sideTitle p{
	font-size:10px;
	letter-spacing:0.4em;
	color:#fff;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	display: inline-block;
	box-sizing:border-box;
	position: sticky;
	top:10px;
}
.sideTitle p:first-letter,
.sideTitle p i{
	color:#00a199;
}
@media screen and (max-width: 1260px){
	.sideTitle{
		width:15px;
	}
	.sideTitle p{
		font-size:8px;
	}
}

/* ---------------------------------------------
 トップページ
--------------------------------------------- */
/*ページ全体*/
.homeWrap{
	margin-top:0;
}
.homeWrap main.l-article{
	max-width:100%;
}
/*共通タイトル*/
.topTit p{
	font-size:60px;
	line-height:1.2;
}
.topTit p::first-letter{
	color:#00a199;
}


/*メインビジュアル*/
.mv{
	border-bottom:1px #000 solid;
}
.mvInner{
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-direction:row-reverse;
}
.mvImg{
	width:50%;
	overflow:hidden;
}
.mvImg img{
	display:block;
	max-width:1280px;
	object-fit:cover;
	height: calc(100svh - 70px);
	object-position: 0 50%;
}
.mvTXt{
	width: calc(50% - 20px);
    margin-left: 20px;
}
.mvTXtInner {
    max-width: 600px;
    width: calc(100% - 25px);
    margin-left: auto;
    padding: 0 50px 0 0;
    box-sizing: border-box;
}
p.mvEn01{
	font-size:60px;
}
p.mvEn01 span{
	color:#00a199;
}
p.mvEn02{
	font-size:45px;
}
p.mvEn01 small,
p.mvEn02 small{
	font-size:80%;
	color:#000;
}
@media screen and (max-width: 1200px){
	p.mvEn01 {
		font-size: 48px;
	}
	p.mvEn02{
		font-size:30px;
	}
}
@media screen and (max-width: 767px){
	.mvInner{
		display:block;
	}
	.mvImg{
		width:100%;
	}
	.mvTXt{
		width: calc(100% - 60px);
        max-width: 1200px;
        margin-left: 37.5px;
        margin-right: auto;
	}
	.mvTXtInner {
        max-width: 100%;
        width: 100%;
        padding:30px 0 60px;
    }
	.mvImg img{
		width:100%;
		max-width:100%;
		height:500px;
		object-position:center top;
	}
}
@media screen and (max-width: 480px){
	.mvImg img{
		height:300px;
	}
	p.mvEn01 {
		font-size: 40px;
	}
	p.mvEn02{
		font-size:25px;
	}
}

/*お知らせ*/
.topNews{
	background:#fafafa;
	padding:80px 0;
	border-bottom:1px #000 solid;
}
@media screen and (max-width: 767px){
	.topNews{
		padding:60px 0;
	}
}
.topNewsWrap{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
}
.topNewsTit{
	width:330px;
}
.topNewsArch{
	width:calc(100% - 330px);
}
ul.topNewsList{
	list-style:none;
	padding-left:0;
}
ul.topNewsList li{
	margin-bottom:10px;
}
ul.topNewsList li:last-child{
	margin-bottom:0;
}
ul.topNewsList li a{
	position:relative;
	display:flex;
	justify-content:space-between;
	align-items:center;
	background:#fff;
	line-height:65px;
	height:65px;
	border-radius:100px;
	padding:0 35px 0 25px;
	box-sizing:border-box;
	border:2px #4d4d4d solid;
	text-decoration:none;
	transition : all 0.5s ease 0s;
}
ul.topNewsList li a:hover{
	background:#f2f2f2;
}
ul.topNewsList li a::after{
	position:absolute;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f061";
	right:20px;
	top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	color:#00a199;
	transition : all 0.5s ease 0s;
}
ul.topNewsList li a:hover::after{
	right:10px;
}
ul.topNewsList li time{
	display:block;
	margin-right:1.0em;
	color:#000;
}
ul.topNewsList li span{
	display:block;
	width:100%;
	color:#000;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
@media screen and (min-width: 961px){
	.topNewsTit .topTit{
		margin-bottom:50px;
	}
	.topNews .btnUbSp{
		display:none;
	}
}
@media screen and (max-width: 960px){
	.topNewsWrap{
		display:block;
	}
	.topNewsTit,.topNewsArch{
		width:100%;
	}
	ul.topNewsList li a{
		line-height:55px;
		height:55px;
	}
	.topNewsTit .topTit{
		margin-bottom:20px;
	}
	.topNews .btnUbPc{
		display:none;
	}
	.topNews .btnUbSp{
		margin-top:40px;
	}
}

/*Think Linkならではのサポート*/
.topAbout{
	padding:80px 0;
	border-bottom:1px #000 solid;
}
@media screen and (max-width: 767px){
	.topAbout{
		padding:60px 0;
	}
}
.topAboutWrap{
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.topAboutTit,
.topAboutTxt{
	width:calc((100% - 40px) / 2);
}
.topAboutTit .topTit{
	margin-bottom:50px;
}
.topAboutTit h3{
	font-size:45px;
	margin-bottom:25px;
}
img.topAboutImg{
	display:block;
	max-width:400px;
	width:100%;
	border-radius:50%;
}
.topAboutTxt ul{
	padding-left:0;
	list-style:disc;
	margin-left:1.3em;
}
@media screen and (max-width: 1200px){
	.topAboutTit h3{
		font-size:40px;
		margin-bottom:25px;
	}
}
@media screen and (max-width: 960px){
	.topAboutWrap{
		display:block;
	}
	.topAboutTit,
	.topAboutTxt{
		width:100%;
	}
	.topAboutTit{
		margin-bottom:40px;
	}
}
@media screen and (max-width: 480px){
	.topAboutTit{
		margin-bottom:25px;
	}
	.topAboutTit h3{
		font-size:30px;
		margin-bottom: 15px;
	}
}

/*業務内容*/
.topWorks{
	padding:80px 0;
	border-bottom:1px #000 solid;
}
@media screen and (max-width: 767px){
	.topWorks{
		padding:60px 0;
	}
}
.topWorksBox{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-bottom:50px;
}
.topWorksBox:nth-child(even){
	flex-direction:row-reverse;
}
.topWorksImg{
	width:50%;
	overflow:hidden;
}
.topWorksImg img{
	display: block;
    max-width: 100%;
    object-fit: cover;
	height:500px;
}
.topWorksBox:nth-child(odd) .topWorksImg img{
	object-position:bottom right;
}
.topWorksBox:nth-child(even) .topWorksImg img{
	object-position:bottom left;
}
.topWorksBox .topWorksTxt{
	width: calc(50% - 20px);
}
.topWorksBox:nth-child(odd) .topWorksTxt{
    margin-right: 20px;
}
.topWorksBox:nth-child(even) .topWorksTxt{
    margin-left: 20px;
}
.topWorksTxtInner{
	max-width: 600px;
    width: calc(100% - 25px);
    box-sizing: border-box;
}
.topWorksBox:nth-child(odd) .topWorksTxtInner{
	padding: 0 0 0 50px;
	 margin-right: auto;
}
.topWorksBox:nth-child(even) .topWorksTxtInner{
	 margin-left: auto;
	padding: 0 50px 0 0;
}
p.topWorksNo{
	font-size:70px;
	transform: skewX(-10deg);
	line-height:1;
}
p.topWorksNo span{
	color:#00a199;
}
.topWorksTxtInner h3{
	font-size:32px;
}
p.topWorksEn{
	color:#b3b3b3;
	margin-bottom:1.3em;
}
@media screen and (max-width: 960px){
	.topWorksBox{
		display:block;
	}
	.topWorksImg{
		width:100%;
	}
	.topWorksImg img{
		height:400px;
		margin-left:auto;
		margin-right:auto;
	}
	.topWorksBox:nth-child(odd) .topWorksImg img{
		object-position:bottom center;
	}
	.topWorksBox:nth-child(even) .topWorksImg img{
		object-position:bottom center;
	}
	.topWorksBox .topWorksTxt{
		width: calc(100% - 60px);
        max-width: 1200px;
        margin-left: 37.5px !important;
        margin-right: auto;
	}
	.topWorksTxtInner{
		max-width: 100%;
        width: 100%;
        padding: 30px 0 0 !important;
	}
}
@media screen and (max-width: 480px){
	.topWorksImg img{
		height:250px;
	}	
	p.topWorksNo{
		font-size:55px;
	}
}

/* ---------------------------------------------
 Think Linkならではのサポート
--------------------------------------------- */
/*イントロ*/
.aboutIntro{
	padding-bottom:80px;
	border-bottom:1px #000 solid;
}
@media screen and (max-width: 767px){
	.aboutIntro{
		padding-bottom:60px;
	}
}
.aboutIntro .inner{
	margin-bottom:4em;
}
.aboutIntro h2{
	font-size:40px;
}
@media screen and (max-width: 960px){
	.aboutIntro h2{
		font-size:35px;
	}
}
@media screen and (max-width: 480px){
	.aboutIntro h2{
		font-size:27px;
	}
}
.aboutIntroContents{
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
	flex-direction:row-reverse;
}
.aboutIntroImg{
	width:50%;
	border-radius:20px 0 0 20px;
	overflow:hidden;
}
.aboutIntroTxt{
	width:calc(50% - 20px);
	margin-left:20px;
}
.aboutIntroTxtInner{
	max-width: 600px;
	width: calc(100% - 25px);
	margin-left: auto;
	padding:0 50px 0 0;
	box-sizing: border-box;
}
.aboutIntroTxtInner h3{
	font-size:50px;
	margin-bottom:0.8em;
}
.aboutIntroImg img{
	display:block;
	width:100%;
	object-fit:cover;
	height:600px;
}
@media screen and (max-width: 1260px){
	.aboutIntroTxtInner{
		padding:0 40px 0 0;
	}
	.aboutIntroTxtInner h3{
		font-size:43px;
	}
}
@media screen and (max-width: 1020px){
	.aboutIntroContents{
		display:block;
	}
	.aboutIntroImg{
		width:calc(100% - 40px);
		margin-left:auto;
		margin-bottom:40px;
	}
	.aboutIntroImg img{
		height:450px;
	}
	.aboutIntroTxt{
		width: calc(100% - 60px);
		max-width: 1200px;
		margin-left: 37.5px;
        margin-right: auto;
	}
	.aboutIntroTxtInner{
		max-width: 100%;
		width:100%;
		padding:0 0 0 0;
	}
}
@media screen and (max-width: 600px){
	.aboutIntroTxtInner h3{
		font-size:32px;
	}
	.aboutIntroImg img{
		height:350px;
	}
}

/*Think Linkが選ばれる3つの理由*/
.aboutReasonContents{
	margin-bottom:60px;
}
.aboutReason{
	padding:80px 0;
	border-bottom:1px #000 solid;
}
@media screen and (max-width: 767px){
	.aboutReasonContents{
		margin-bottom:50px;
	}
	.aboutReason{
		padding:80px 0;
	}
}
.aboutReasonBox{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	margin-bottom:40px;
}
.aboutReasonBox:nth-child(even){
	flex-direction:row-reverse;
}
.aboutReasonImg{
	width:200px;
}
.aboutReasonTxt{
	width:calc(100% - 250px);
	padding-left:10px;
	box-sizing:border-box;
}
.aboutReasonTxt h3{
	position:relative;
	padding-top:15px;
}
.aboutReasonTxt h3 span{
	position:relative;
	display:inline-block;
	z-index:2;
}
.aboutReasonTxt h3::before{
	position:absolute;
	font-family: "heebo", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size:100px;
	color:#f2f2f2;
	left:-10px;
	top:0;
	transform: skewX(-10deg);
}
.aboutReasonBox:nth-child(1) h3::before{
	content:"01";
}
.aboutReasonBox:nth-child(2) h3::before{
	content:"02";
}
.aboutReasonBox:nth-child(3) h3::before{
	content:"03";
}
@media screen and (max-width: 960px){
	.aboutReasonBox{
		display:block;
	}
	.aboutReasonImg{
		width:200px;
		margin:0 auto 20px;
	}
	.aboutReasonTxt{
		width:100%;
	}
	.aboutReasonTxt h3,
	.aboutReasonTxt h4{
		text-align:center;
	}
	.aboutReasonTxt h3::before{
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		font-style: italic;
	}
}
@media screen and (max-width: 767px){
	.aboutReasonTxt h3{
		padding-top:10x;
	}
	.aboutReasonTxt h3::before{
		font-size:70px;
	}
}
.aboutReasonTechImg{
	width:100%;
	height:400px;
	overflow:hidden;
	border-radius:20px;
	display:flex;
	align-items:center;
	margin-bottom:40px;
}
.aboutReasonTechImg img{
	display:block;
	width:100%;
	object-fit:cover;
	height:100%;
}
@media screen and (max-width: 767px){
	.aboutReasonTechImg{
		height:250px;
	}
}
.aboutReasonTechContents{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
}
.aboutReasonTechTit{
	width:400px;
}
.aboutReasonTechTxt{
	width:calc(100% - 400px);
}
@media screen and (max-width: 960px){
	.aboutReasonTechContents{
		display:block;
	}
	.aboutReasonTechTit,
	.aboutReasonTechTxt{
		width:100%;
	}
	.aboutReasonTechTit{
		margin-bottom:20px;
	}
}

/*私たちの「答え」は、これまでの実績にあります。*/
.aboutResults{
	padding:80px 0;
	background:#fafafa;
}
@media screen and (max-width: 767px){
	.aboutResults{
		padding:60px 0;
	}
}
.aboutResultsContents{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
}
.aboutResultsBox{
	position:relative;
	width:calc((100% - 80px) / 3);
	padding-bottom:80px;
}
.aboutResultsBox .btnUb {
	position:absolute;
	bottom:0;
	left:0;
}
@media screen and (max-width: 960px){
	.aboutResultsContents{
		display:block;
	}
	.aboutResultsBox{
		width:100%;
		max-width:600px;
		margin:0 auto 40px;
	}
	.aboutResultsBox p.tiffany,
	.aboutResultsBox h4{
		text-align:center;
	}
	.aboutResultsBox .btnUb{
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}
}

/* ---------------------------------------------
 事業内容
--------------------------------------------- */
.worksIntro h2{
	font-size:40px;
	line-height:2em;
	letter-spacing:0.1em;
	margin-bottom:1em;
}
.worksTit h3{
	position:relative;
	font-size:40px;
}
img.icoTitDots{
	display:block;
	width:65px;
	margin:15px auto 0;
}
img.icoTitDotsLeft{
	margin:15px auto 0 0;
}
@media screen and (max-width: 960px){
	.worksIntro h2{
		font-size:35px;
	}
	.worksTit h3{
		font-size:35px;
	}
	img.icoTitDots{
		width:60px;
	}
}
@media screen and (max-width: 767px){
	.worksIntro h2{
		font-size:30px;
	}
	.worksTit h3{
		font-size:28px;
	}
	img.icoTitDots{
		width:50px;
		margin:10px auto 0;
	}
}
@media screen and (max-width: 600px){
	.worksIntro h2{
		font-size:27px;
	}
	.worksTit h3{
		font-size:22px;
	}
	img.icoTitDots{
		width:40px;
		margin:10px auto 0;
	}
}

/*お悩みありませんか*/
.worksProblem{
	padding:80px 0 40px;
}
@media screen and (max-width: 767px){
	.worksProblem{
		padding:60px 0 30px;
	}
}
.webProblem{
	background-image: linear-gradient(90deg, #29abe2, #000000);
}
.printProblem{
	background-image: linear-gradient(90deg, #d46a9f, #000000);
}
.movieProblem{
	background-image: linear-gradient(90deg, #d6904c, #000000);
}
.worksProblemTit h2{
	font-size:40px;
	margin-bottom:1em;
}
.worksProblemEn p{
	font-size:120px;
	color:rgba(255,255,255,0.7);
	line-height:1;
}
ul.worksProblemList{
	list-style:none;
	padding-left:0;
}
ul.worksProblemList li{
	background:#fff;
	border-radius:10px;
	padding:20px 20px;
	margin-bottom:15px;
}
ul.worksProblemList li span{
	display:inline-block;
	padding-left:1.3em;
	text-indent:-1.3em;
}
ul.worksProblemList li span::before{
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f00c";
	margin-right:0.3em;
}
.webProblem ul.worksProblemList li span::before{
	color:#29abe2;
}
.printProblem ul.worksProblemList li span::before{
	color:#d46a9f;
}
.movieProblem ul.worksProblemList li span::before{
	color:#d6904c;
}
@media screen and (max-width: 767px){
	.worksProblemTit h2{
		font-size:30px;
	}
	.worksProblemEn p{
		font-size:80px;
	}
}
@media screen and (max-width: 480px){
	.worksProblemTit h2{
		font-size:22px;
	}
	ul.worksProblemList li{
		padding:15px 15px;
	}
	.worksProblemEn p{
		font-size:65px;
	}
}

/*特徴*/
.worksFeatureFlex{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
}
.worksFeatureBox{
	width:calc((100% - 80px) / 3);
}
.featureCap{
	font-size:14px;
	letter-spacing:0.1em;
}
.featureNo{
	font-size:60px;
	line-height:1;
}
.featureNo span{
    display: inline-block;
    color: rgba(255, 255, 255, 0);
    -webkit-text-stroke-color: #333;
    -webkit-text-stroke-width: 1px;
}
@media screen and (max-width: 960px){
	.worksFeatureFlex{
		display:block;
	}
	.worksFeatureBox{
		width:100%;
		margin-bottom:40px;
	}
}

/*制作の流れ*/
.worksFlow{
	border-top:1px #000 solid;
	padding:80px 0;
}
@media screen and (max-width: 767px){
	.worksFlow{
		padding:60px 0;
	}
}
.worksFlow ol{
	list-style:none;
	padding-left:0;
}
.worksFlow ol li{
	display:flex;
	align-items:stretch;
	border:3px #000 solid;
	border-radius:20px;
	overflow:hidden;
	margin-bottom:20px;
}
.flowNo,.flowTxt{
	display:flex;
	align-items:center;
}
.flowNo{
	width:100px;
	background:#000;
	padding:20px 0;
	justify-content:center;
}
.flowNo p{
	font-size:60px;
	line-height:1;
}
.flowTxt{
	width:calc(100% - 100px);
	background:#fafafa;
}
.flowTxt h4{
	margin-bottom:0.5em;
}
.flowTxtInner{
	padding:15px 20px;
}
@media screen and (max-width: 767px){
	.worksFlow ol li{
		border-radius:15px;
		display:block;
	}
	.flowNo,.flowTxt{
		width:100%;
	}
	.flowNo{
		padding:8px 0;
	}
	.flowNo p{
		font-size:35px;
		letter-spacing:0.1em;
		line-height:1;
	}
}

/*料金プランの目安*/
.worksCost{
	border-top:1px #000 solid;
	padding:80px 0;
	background:#fafafa;
}
@media screen and (max-width: 767px){
	.worksCost{
		padding:60px 0;
	}
}
.worksCostFlex{
	display:flex;
	align-items:stretch;
	justify-content:space-between;
}
.worksCostBox{
	width:calc((100% - 80px) / 3);
	background:#fff;
	padding:30px 0;
	box-sizing:border-box;
	border-radius:15px;
}
.worksCostBox h4{
	background:#000;
	padding:5px 10px;
	box-sizing:border-box;
	line-height:1.5em;
}
.worksCostTxt{
	padding:15px 20px 0;
	box-sizing:border-box;
}
@media screen and (max-width: 960px){
	.worksCostFlex{
		display:block;
	}
	.worksCostBox{
		width:100%;
		max-width:600px;
		margin:0 auto 20px;
	}
}

/*よくある質問*/
.worksFaq{
	border-top:1px #000 solid;
	padding:80px 0;
}
@media screen and (max-width: 767px){
	.worksFaq{
		padding:60px 0;
	}
}
.faqDL{
	border-bottom: 1px #e8546b solid;
	border-image: linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,161,153,1) 100%);
	border-image-slice: 1;
	padding-bottom:0.5em;
	margin-bottom:1em;
}
.faqDL dt,.faqDL dd{
	box-sizing: border-box;
	line-height:1.8em;
}
.faqDL dt {
	position: relative;
	padding:0.5em 30px 0.5em 1.8em;
	text-indent: -1.8em;
}
.faqDL dd {
	display: none;
	padding:0 0 0.5em 1.8em;
	text-indent: -1.8em;
}
dl.faqDL dt::before{
	content:"Q";
	color:#00a199;
}
dl.faqDL dd::before{
	content:"A";
}
dl.faqDL dt::before,
dl.faqDL dd::before{
	font-family: "heebo", sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size:35px;
	line-height:1;
	position: relative;
	top:2px;
	margin-right: 0.3em;
}
dl.faqDL dt span::before,
dl.faqDL dt span::after {
	content: '';
	display: block;
	width: 15px;
	height: 1px;
	border-radius: 5px;
	background: #00a199;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
}
dl.faqDL dt span::after {
	background: #00a199;
	transform: translateY(-50%) rotate(90deg);
	transition: 0.5s;
}
dl.faqDL dt.open span::after {
	transform: rotate(0);
	transition: 0.5s;
}

/*オファー*/
.worksOffer h3{
	font-size:40px;
}
@media screen and (max-width: 767px){
	.worksOffer h3{
		font-size:25px;
	}
}

/*コンサルティング*/
.consulSupportFlex{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
}
.consulSupportBox{
	width:calc((100% - 80px) / 3 );
}
.consulSupportBox ul{
	padding-left:0;
}
.consulSupportBox ul li{
	border-bottom:1px #ccc dashed;
	padding-bottom:0.2em;
	margin-bottom:0.5em;
	list-style-position: inside;
    padding-left: 1.4em;
    text-indent: -1.4em;
}
.consulSupportImg{
	position:relative;
}
.consulSupportImg img{
	position:relative;
	border-radius:0 0 20px 0;
	z-index:1;
}
.consulSupportNo{
	position:absolute;
	z-index:2;
	top:0;
	left:0;
	background:#fff;
	display:inline-block;
	border-radius:0 0 20px 0;
}
.consulSupportNo p{
	display:inline-block;
	font-size:70px;
	line-height:1;
	padding: 5px 10px;
}
.consulSupportNo p span{
	display:inline-block;
	color: rgba(255, 255, 255, 0);
	-webkit-text-stroke-color: #333;
	-webkit-text-stroke-width: 1px;
}
@media screen and (max-width: 960px){
	.consulSupportFlex{
		display:block;
	}
	.consulSupportBox{
		width:100%;
		max-width:600px;
		margin:0 auto 40px;
	}
}

/* ---------------------------------------------
 お問い合わせ
--------------------------------------------- */
/*お問い合わせ方法*/
.contactEx .inner{
	display:flex;
	justify-content:space-between;
}
.contactExTit,
.contactExLine{
	width:calc((100% - 40px) / 2);
}
@media screen and (max-width: 960px){
	.contactEx .inner{
		display:block;
	}
	.contactExTit,
	.contactExLine{
		width:100%;
		max-width:768px;
		margin:0 auto;
	}
	.contactExLine img.imgCenter{
		max-width:500px;
		width:100%;
	}
}

/*メールフォーム*/
.formBox{
	margin-bottom:50px;
}
.formBox h3{
	margin-bottom:15px;
}
.wpcf7-list-item.first{
	margin-left:0;
}
.formBox h3.hissu::after{
	content:"必須";
	font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
	font-weight:bold;
	font-size:16px;
	display:inline-block;
	position:relative;
	background:#00a199;
	color:#fff;
	border-radius:100px;
	line-height:1;
	padding:3px 10px;
	top:-2px;
	margin-left:0.5em;
}

.wpcf7-list-item {
	font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
	font-weight:bold;
	font-size:20px;
}
.formBox input[type="text"],
.formBox input[type="email"],
.formBox input[type="tel"],
.formBox textarea{
	width:100%;
	font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
	font-weight:bold;
	font-size:20px;
	color:#7ad8a8;
	border:none;
	background:#4d4d4d;
	padding:15px 20px;
	border-radius:10px;
	box-sizing:border-box;
}
.formBox input[type="text"]:focus,
.formBox input[type="email"]:focus,
.formBox input[type="tel"]:focus,
.formBox textarea:focus{
	outline: 2px solid #7ad8a8;
}
.formBox input[type="text"]::placeholder,
.formBox input[type="email"]::placeholder,
.formBox input[type="tel"]::placeholder,
.formBox textarea::placeholder{
	color:#ccc;
}
.wpcf7-list-item{
	margin-left:0;
}
.btnSubmit input[type="submit"] {
    display: block;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
	font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
	font-weight:bold;
    font-size: 18px;
    width: 250px;
    padding: 20px 0  !important;
    border-radius: 10px !important;
    border:2px #00a199 solid !important;
	background-color:#00a199;
    border: none;
    color: #fff;
    cursor: pointer;
    transition: all 0.5s ease 0s;
	margin: 20px auto 0;
}
.btnSubmit input[type="submit"]:hover{
	color:#7ad8a8;
	background-color:#4d4d4d;
}
@media screen and (max-width: 767px){
	.wpcf7-list-item{
		display:block;
		margin-left:0;
		margin-bottom:0.3em;
	}
	.wpcf7-list-item label{
		display:block;
	}
	.wpcf7-list-item,
	.formBox input[type="text"],
	.formBox input[type="email"],
	.formBox input[type="tel"],
	.formBox textarea{
		font-size:18px;
	}
}

/* ---------------------------------------------
 会社概要
--------------------------------------------- */
/*ごあいさつ*/
.greeting .inner960{
	display:flex;
	justify-content:space-between;
}
.greetingTit{
	width:300px;
}
.greetingTxt{
	width:calc(100% - 340px);
}
img.greetingImg{
	display:block;
	width:250px;
	border-radius:50%;
}
@media screen and (max-width: 767px){
	.greeting .inner960{
		display:block;
	}
	.greetingTit,
	.greetingTxt{
		width:100%;
	}
}

/*会社概要*/
table.companyTable{
	width:100%;
	border:none;
}
table.companyTable th,
table.companyTable td{
	background:#fff;
	border:none;
	padding:20px 15px !important;
}
table.companyTable th{
	width:200px;
	text-align:center;
	border-bottom:3px #00a199 solid;
}
table.companyTable td{
	width:calc(100% - 200px);
	border-bottom:3px #4d4d4d solid;
}
table.companyTable td ul li{
	margin-bottom:0.5em;
	line-height:1.5em;
}
@media screen and (max-width: 767px){
	table.companyTable,table.companyTable tbody,table.companyTable tr,
	table.companyTable th,table.companyTable td{
		display:block;
	}
	table.companyTable th,
	table.companyTable td{
		width:100%;
		text-align:left;
		padding:20px 10px !important;
	}
	table.companyTable th{
		border-bottom:1px #00a199 solid;
		background:#fafafa;
	}
	table.companyTable{
		border-top:3px #4d4d4d solid;
	}
}


/* ---------------------------------------------
 プライバシーポリシー
--------------------------------------------- */
.privacyBox{
	display:flex;
	align-items:stretch;
	justify-content:space-between;
}
.privacyNo{
	width:120px;
}
.privacyNo p{
	font-size:90px;
	line-height:1;
}
.privacyNo p span{
	color:#00a199;
}
.privacyTxt{
	width:calc(100% - 140px);
}
.privacyTxt ul li{
	margin-bottom:0.4em;
}
@media screen and (max-width: 767px){
	.privacyNo{
		width:70px;
	}
	.privacyNo p{
		font-size:50px;
	}
	.privacyTxt{
		width:calc(100% - 70px);
	}
}

/*相談ボタン*/
a.btnSodan{
	position:relative;
	display:inline-block;
	width:300px;
	text-decoration:none;
	color:#000;
	background:#efff21;
	height:60px;
	line-height:60px;
	border:2px #efff21 solid;
	border-radius:30px;
	box-sizing:border-box;
	transition : all 0.5s ease 0s;
}
a.btnSodan::after{
	position: absolute;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f105";
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transition: all 0.5s ease 0s;
}
a.btnSodan:hover{
	background:#000;
	color:#efff21;
}
a.btnSodan:hover::after{
	right: 15px;
}

/*LINEボタン*/
.lineBtn{
	max-width:580px;
	width:100%;
	margin:0 auto;
}


/* ---------------------------------------------
 フッター
--------------------------------------------- */
.footContent{
	display:flex;
	align-items:stretch;
	justify-content:space-between;
	padding:40px 0;
}
.footContentLogo{
	width:320px;
}
.footContentSitemap{
	width:calc(100% - 380px);
}
img.footLogo{
	display:block;
	width:230px;	
}
.footContentSitemap ul,
ul.footContact{
	list-style:none;
	padding-left:0;
}
.footContentSitemap ul li{
	display:inline-block;
	margin-right:2em;
}
ul.footContact li{
	display:inline-block;
	margin-right:0.5em;
}
.footContentSitemap ul li:last-child{
	margin-right:0;
}
.footContentSitemap ul li a,
ul.footContact li a{
	text-decoration:none;
}
ul.footContact li a i{
	font-size:20px;
}
ul.footContact li:first-child a i{
	color:#06c755;
}
@media screen and (max-width: 1200px){
	.footContent{
		display:block;
	}
	.footContentLogo{
		margin-bottom:20px;
	}
	.footContentLogo,
	.footContentSitemap{
		width:100%;
	}
}
@media screen and (max-width: 767px){
	.footContentSitemap ul li{
		display:block;
	}
	.footContentSitemap ul li a{
		display:inline-block;
	}
}
@media screen and (min-width: 420px),print{
	.footContentLogo br{
		display:none;
	}
}
@media screen and (max-width: 419px){
	img.footLogo{
		width:200px;
	}
}

/* ---------------------------------------------
 LINE登録　追従ボタン
--------------------------------------------- */
.footLine{
	position:fixed;
	bottom: 6%;
	right:0;
	width:200px;
	z-index:9999;
	transition : all 0.5s ease 0s;
}
.footLine a{
	display:block;
}
.footLine img{
	display:block;
	width:100%;
}
.is-hidden {
  visibility: hidden;
  opacity: 0;
}

/* ---------------------------------------------
 topへ戻るボタン
--------------------------------------------- */
.p-fixBtnWrap{
	align-items: flex-start;
	left:3% !important;
}

/* ---------------------------------------------
 reCAPTCHA非表示
--------------------------------------------- */
.grecaptcha-badge { visibility: hidden; }