@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Lato&family=Noto+Sans+JP&family=Noto+Serif+JP&display=swap');

html, body, div, span, applet, object,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, font, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td, figure,nav,header {
	padding: 0;
	margin: 0;
	border: 0;
	vertical-align: baseline;
	background: transparent;
	outline: 0;
	box-sizing: border-box;
}
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
	display: block;
	box-sizing: border-box;
}
input, select, textarea {
	box-sizing: border-box;
}

h1,h2,h3,h4,h5,h6 {
	font-size:100%;
	font-weight:normal;
}
ol, ul, li {
	list-style: none;
}
th {
	font-weight: normal;
}




.mincho{
	font-family:'Noto Serif JP', "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "YuMincho","ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.en-style{
	font-family: 'Lato', 'Noto Sans JP',"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Yu Gothic",YuGothic,"Hiragino Sans","メイリオ", Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",Arial,Verdana,sans-serif;
}

/* +++++++++++++++++++++++++　common */
html{
    font-size: 62.5%;/* 1.0rem=10px */
}

body {
	position:relative;
	font-family:'Noto Sans JP',"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Yu Gothic",YuGothic,"Hiragino Sans","メイリオ", Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",Arial,Verdana,sans-serif;
	font-size-adjust: none;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.8;
	min-width:inherit;
	color:#333333;
	text-align:left;
	-webkit-text-size-adjust: 100%;
	width:100%;
	/*height:100%;*/
}
body,
html{
	overflow:visible;
}
.visible-sp{
	display:block !important;
}

.visible-pc{
	display:none !important;
}

.content-area,
.content-inner{
	max-width: 100%;
	width:100%;
	padding:0 15px;
}

p{margin-bottom:1.4rem;}

/* +++++++++++++++++++++++++　画像 */
img,svg {
	max-width:100%;
	height:auto !important;
	width:100%;
}
img {
	border: none;
	vertical-align:bottom;
}
img.img-auto-width {
	width:auto;
	max-width:100%;
}
svg {
	vertical-align:bottom;
}
/* +++++++++++++++++++++++++　リンク */


a,a:link {
	color: #462fe8;
	text-decoration:none;
}
/*a:visited {
	color: #002a7f;
}*/
a:hover {
	color: #3e3ff9;
	text-decoration:none;
	opacity: 0.8;
}
a:active {
	color: #3e3ff9;
}
a,
input,
button {
	-moz-transition:all,.4s;
	-o-transition:all,.4s;
	-webkit-transition:all,.4s;
	transition:all,.4s;
	-webkit-touch-callout:none;
	-webkit-tap-highlight-color:(0,0,0,0);
	cursor: pointer;
}

.btn{
	display:block;
	text-align:center;
	margin:3rem auto 1.6rem;
	width:90%;
	padding:1.2rem 0;
	text-decoration:none;
	position:relative;
	outline: none;
    overflow: hidden;
}
/*キラッと光る*/
.btn::before {
	content: '';
	  /*絶対配置でキラッと光るの位置を決める*/
	position: absolute;
	top: 0;
	left: -75%;
	  /*キラッと光る形状*/
	  width: 50%;
	height: 100%;
	background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
	transform: skewX(-25deg);
}
/*hoverした際の移動のアニメーション*/
.btn:hover::before {
	animation: shine 0.7s;
}
@keyframes shine {
  100% {
    left: 125%;
  }
}
.btn.more-detail{
	background: #fff;
	color:#462fe8;
	position: relative;
	border:1px solid #462fe8;
}
@media screen and (min-width:1024px) {
	.btn.more-detail {
		width: 60%;
	}
}
.btn i{
    right: 10%;
    top: 38%;
	position: absolute;
}
.btn.more-detail:hover{
	background: #462fe8;
	color:#fff;
}
.btn.btn-contact{
	background: #009944;
	color:#fff;
	position: relative;
	border:1px solid #009944;
}
.btn.btn-contact:hover{
	background: #009944;
	color:#fff;
}

a.btn-orange{/*ボタン*/
	display:block;
	text-align:center;
	margin: 6rem auto 1.6rem;
	width:100%;
	padding: 2rem 0;
	color:#fff;
	background: #d65e29;
	border-radius: 36px;
	font-size: 2rem;
	font-weight: bold;
	text-decoration:none;
	position:relative;
	letter-spacing: 0.05rem;
	box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);
}
a.btn-orange:hover{
	color:#fff;
	background: #e78e26;
}
a.btn-orange::after{
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 5px);
    right: 20px;
    width: 30px;
    height: 5px;
    border: none;
    border-right: 3px solid #FFF;
    border-bottom: 2px solid #FFF;
    transform: skew(45deg);
    transition: .3s;
}
a.btn-orange:hover::after{
    right: 10px;
    width: 30px;
}

.mt05{ margin-top:1.5vw !important;}
.mt1{ margin-top:2.5vw !important;}
.mt2{ margin-top:5vw !important;}
.mt3{ margin-top:7.5vw !important;}
.mt4{ margin-top:10vw !important;}
.mt5{ margin-top:12.5vw !important;}
.mt6{ margin-top:15vw !important;}
.mt7{ margin-top:17.5vw !important;}
.mt8{ margin-top:20vw !important;}
.mt9{ margin-top:22.5vw !important;}
.mt10{ margin-top:25vw !important;}

.mb05{ margin-bottom:1.5vw !important;}
.mb1{ margin-bottom:2.5vw !important;}
.mb2{ margin-bottom:5vw !important;}
.mb3{ margin-bottom:7.5vw !important;}
.mb4{ margin-bottom:10vw !important;}
.mb5{ margin-bottom:12.5vw !important;}
.mb6{ margin-bottom:15vw !important;}
.mb7{ margin-bottom:17.5vw !important;}
.mb8{ margin-bottom:20vw !important;}
.mb9{ margin-bottom:22.5vw !important;}
.mb10{ margin-bottom:25vw !important;}


/* +++++++++++++++++++++++++　テキスト揃え */

.t-al{ text-align:left !important;}
.t-ac{ text-align:center !important;}
.t-ar{ text-align:right !important;}

/* ++++++　※印 */
.annotation-txt{
	text-indent:-1em;
	padding-left:1em;
}
/* +++++++++++++++++++++++++　clearfix */

.clearfix:after{content:".";display:block;height:0px;clear:both;visibility:hidden; overflow:hidden;}


/* +++++++++++++++++++++++++　文字調整関連 */

i{
	margin-right:0.5rem;
}
.bold-txt{
	font-weight:bold;
}
.large-txt{
	font-size:large;
}
.small-txt{
	font-size:small;
}

.line-height16{
	line-height:1.6;
}
.line-height20{
	line-height:2;
}
.line-height14{
	line-height:1.4;
}

/* ++++++++++++++++++ animation ++++++ */
.effect-fade {
	opacity : 0;
	transform : translate(0, 60px);
	transition : all 3000ms;
}
.effect-fade.effect-scroll {
	opacity : 1;
	transform : translate(0, 0);
}

/* +++++++++++++++++++++++++　背景色左から右 */
.bgextend{
	animation-name:bgextendAnimeBase;
	animation-duration:1s;
	animation-fill-mode:forwards;
	position: relative;
	overflow: hidden;/*　はみ出た色要素を隠す　*/
	opacity:0;
  }
  
  @keyframes bgextendAnimeBase{
	from {
	  opacity:0;
	}
  
	to {
	  opacity:1;  
  }
  }
  
  /*中の要素*/
  .bgappear{
	animation-name:bgextendAnimeSecond;
	animation-duration:0.5s;
	animation-delay: 0.3s;
	animation-fill-mode:forwards;
	opacity: 0;
	  color:#FFF;
	  display: block;
  }
  .top-business .bgappear{padding: 3.6rem 2.4rem;}
  @keyframes bgextendAnimeSecond{
	0% {
	opacity: 0;
	}
	100% {
	opacity: 1;
  }
  }
  
  /*左から右*/
  .bgLRextend::before{
	animation-name:bgLRextendAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
	  content: "";
	  position: absolute;
	  width: 100%;
	  height: 100%;
	  background: #10088c;
  }
  @keyframes bgLRextendAnime{
	0% {
	  transform-origin:left;
	  transform:scaleX(0);
	}
	50% {
	  transform-origin:left;
	  transform:scaleX(1);
	}
	50.001% {
	  transform-origin:right;
	}
	100% {
	  transform-origin:right;
	  transform:scaleX(0);
	}
  }
  
  /* スクロールをしたら出現する要素にはじめに透過0を指定　*/
  .bgappearTrigger,
  .bgLRextendTrigger{
	  opacity: 0;
  }

/* +++++++++++++++++++++++++　tablet common */

@media screen and (min-width:768px) {
	body {
		font-size:1.6rem;
	}
	.visible-sp{
		display:none !important;
	}
	.visible-tab{
		display:block !important;
	}
	.visible-pc{
		display:block !important;
	}
	img,svg {
		width:auto;
	}
	p{margin-bottom:1.8rem;}
	

	/* +++++++++++++++++++++++++　ロールオーバー */
	a{
		-webkit-transition: opacity .4s;
		transition: opacity .4s;
	}
	a:hover{ opacity:0.50; }


	.btn.btn-contact {
		width: 320px;
	}

	/* +++++++++++++++++++++++++　空き設定(margin) */

	.mt00{ margin-top:0px !important;}
	.mt05{ margin-top:5px !important;}
	.mt1{ margin-top:10px !important;}
	.mt2{ margin-top:20px !important;}
	.mt3{ margin-top:30px !important;}
	.mt4{ margin-top:40px !important;}
	.mt5{ margin-top:50px !important;}
	.mt6{ margin-top:60px !important;}
	.mt7{ margin-top:70px !important;}
	.mt8{ margin-top:80px !important;}
	.mt9{ margin-top:90px !important;}
	.mt10{ margin-top:100px !important;}

	.mb05{ margin-bottom:5px !important;}
	.mb1{ margin-bottom:10px !important;}
	.mb2{ margin-bottom:20px !important;}
	.mb3{ margin-bottom:30px !important;}
	.mb4{ margin-bottom:40px !important;}
	.mb5{ margin-bottom:50px !important;}
	.mb6{ margin-bottom:60px !important;}
	.mb7{ margin-bottom:70px !important;}
	.mb8{ margin-bottom:80px !important;}
	.mb9{ margin-bottom:90px !important;}
	.mb10{ margin-bottom:100px !important;}

}

/* +++++++++++++++++++++++++　pc common */
@media screen and (min-width:1024px) {
	p{margin-bottom:2.4rem;}

	.sec-profile h3 {
		font-size: 120%;
		margin: 0 0 1.8rem;
	}
}

@media screen and (min-width:1280px) {
	body {
		min-width: 1200px;
		letter-spacing:0.1rem;
		font-size:1.8rem;
	}
	.content-area,
	.content-inner{
		width: 1200px;
		margin-left: auto;
		margin-right: auto;
		padding: 0;
	}

}