/*
エージェント別
*/
.u-pc { display: block !important; }
.u-pc__inline { display: inline !important; }
.u-sp { display: none !important; }
.u-sp__inline { display: none !important; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-pc { display: none !important; }
.u-pc__inline { display: none !important; }
.u-sp { display: block !important; }
.u-sp__inline { display: inline !important; }
}

/*
マージン
*/
.u-mt__4 { margin-top: 4px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__4 { margin-top: 2px; }
}
.u-mt__6 { margin-top: 6px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__6 { margin-top: 3px; }
}
.u-mt__8 { margin-top: 8px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__8 { margin-top: 4px; }
}
.u-mt__10 { margin-top: 10px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__10 { margin-top: 5px; }
}
.u-mt__14 { margin-top: 14px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__14 { margin-top: 7px; }
}
.u-mt__16 { margin-top: 16px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__16 { margin-top: 8px; }
}
.u-mt__20 { margin-top: 20px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__20 { margin-top: 10px; }
}
.u-mt__24 { margin-top: 24px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__24 { margin-top: 12px; }
}
.u-mt__26 { margin-top: 26px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__26 { margin-top: 13px; }
}
.u-mt__28 { margin-top: 28px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__28 { margin-top: 14px; }
}
.u-mt__30 { margin-top: 30px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__30 { margin-top: 15px; }
}
.u-mt__34 { margin-top: 34px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__34 { margin-top: 17px; }
}
.u-mt__40 { margin-top: 40px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__40 { margin-top: 20px; }
}
.u-mt__50 { margin-top: 50px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__50 { margin-top: 25px; }
}
.u-mt__54 { margin-top: 54px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__54 { margin-top: 27px; }
}
.u-mt__60 { margin-top: 60px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__60 { margin-top: 30px; }
}
.u-mt__74 { margin-top: 74px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__74 { margin-top: 37px; }
}
.u-mt__80 { margin-top: 80px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__80 { margin-top: 45px; }
}
.u-mt__100 { margin-top: 100px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__100 { margin-top: 50px; }
}

/*
フォントサイズ
*/
.u-fs__12 { font-size: 12px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-fs__12 { font-size: 11px; }
}
.u-fs__14 { font-size: 14px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-fs__14 { font-size: 12px; }
}
.u-fs__16 { font-size: 16px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-fs__16 { font-size: 13px; }
}
.u-fs__18 { font-size: 18px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-fs__18 { font-size: 14px; }
}
.u-fs__20 { font-size: 20px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-fs__20 { font-size: 16px; }
}
.u-fs__22 { font-size: 22px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-fs__22 { font-size: 18px; }
}
.u-fs__24 { font-size: 24px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-fs__24 { font-size: 19px; }
}
.u-fs__27 { font-size: 27px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-fs__27 { font-size: 21px; }
}
.u-fs__29 { font-size: 29px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-fs__29 { font-size: 22px; }
}
.u-fs__32 { font-size: 32px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-fs__32 { font-size: 24px; }
}
.u-fs__34 { font-size: 34px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-fs__34 { font-size: 25px; }
}
.u-fs__36 { font-size: 36px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-fs__36 { font-size: 27px; }
}

/*
フォント
*/
.u-font__roboto {
	font-family: 'Roboto', sans-serif;
	line-height: 1.4;
}

.u-font__eb {
	font-family: 'EB Garamond', serif;
	line-height: 1.4;
}

.u-font__noto_serif {
	font-family: 'Noto Serif JP', serif;
}

/*
フォント 太さ
*/
.u-font__w__300 {
	font-family: 'Noto Sans JP',sans-serif !important;
	font-weight: 300 !important;
}

/* デフォルト */
.u-font__w__400 {
	font-family: 'Noto Sans JP',sans-serif !important;
	font-weight: 400 !important;
}

.u-font__w__500 {
	font-family: 'Noto Sans JP',sans-serif !important;
	font-weight: 500 !important;
}

.u-font__w__700 {
	font-family: 'Noto Sans JP',sans-serif !important;
	font-weight: 700 !important;
}

.u-font__roboto__w__300 {
	font-family: 'Roboto', sans-serif !important;
	font-weight: 300 !important;
}

/*
フォントカラー
*/
.u-fc__white { color: #fff; }
.u-fc__gray { color: #ccc; }
.u-fc__black { color: #000; }
.u-fc__red { color: #d23056; }
.u-fc__red__02 { color: #b21239; }

/*
テキストレイアウト
*/
.u-txt__l { text-align: left; }
.u-txt__c { text-align: center; }
.u-txt__r { text-align: right; }

/*
行間
*/
.u-lh__1_2 { line-height: 1.2; }
.u-lh__1_4 { line-height: 1.4; }
.u-lh__1_6 { line-height: 1.6; }
.u-lh__2 { line-height: 2; }

/*
文字間
*/
.u-ls__0_0_7 { letter-spacing: 0.07em; }
.u-ls__0_1 { letter-spacing: 0.1em; }
.u-ls__0_2 { letter-spacing: 0.2em; }
.u-ls__0_3 { letter-spacing: 0.3em; }

/*
PCのみマウスオーバーで透過
*/
/********* pcのみ *********/
@media only screen and (min-width: 751px) {
.u-ov__alpha:hover {
 -webkit-transition: 0.3s ease-in-out;  
 -moz-transition: 0.3s ease-in-out;  
 -o-transition: 0.3s ease-in-out;  
 transition: 0.3s ease-in-out;
 opacity: 0.7;  
 filter: alpha(opacity=70);
 }
	
.u-ov__red:hover {
	background-color: #dd728b;
 -webkit-transition: 0.3s ease-in-out;  
 -moz-transition: 0.3s ease-in-out;  
 -o-transition: 0.3s ease-in-out;  
 transition: 0.3s ease-in-out;
 }

.u-ov__gray:hover {
	background-color: #b5bdbe;
 -webkit-transition: 0.3s ease-in-out;  
 -moz-transition: 0.3s ease-in-out;  
 -o-transition: 0.3s ease-in-out;  
 transition: 0.3s ease-in-out;
 }
}

/*
テキストリンク
*/
.u-txt_link {
	background: url(../images/ic_arrow_red.png) no-repeat;
	background-size: 0.4em;
	background-position: right 1px center;
	padding: 0.1em 1.2em 0 0;
	display: inline-block;
	color: #ce365a;
}

/*
IC PDF
*/
.u-ic__pdf {
	background: url(../images/ic_pdf.png) no-repeat;
	background-size: 24px;
	background-position: right center;
	padding: 0.5em 2em 0.5em 0;
	display: inline-block;
	color: #ce365a;
}
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-ic__pdf {
	background-size: 17px;
 }
}

/*
ボタン
*/
.u-btn__l {
	background: #ce365a url(/assets/images/ic_arrow_white.png) no-repeat;
	background-size: 9px;
	background-position: right 30px center;
	display: block;
	color: #fff;
	text-align: center;
	padding: 1.4em 1.4em 1.2em 1.2em;
	max-width: 330px;
	width: 100%;
	}
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-btn__l {
	background: #ce365a url(/assets/images/ic_arrow_white.png) no-repeat;
	background-size: 6px;
	background-position: right 15px center;
	}
}

.u-btn__m {
	background: #ce365a url(/assets/images/ic_arrow_white.png) no-repeat;
	background-size: 9px;
	background-position: right 18px center;
	display: inline-block;
	color: #fff;
	text-align: center;
	padding: 1em 1.4em 1em 1.2em;
	max-width: 170px;
	width: 100%;
	}
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-btn__m {
	background: #ce365a url(/assets/images/ic_arrow_white.png) no-repeat;
	background-size: 6px;
	background-position: right 9px center;
	}
}

.u-btn__s {
	background: #ce365a url(/assets/images/ic_arrow_white.png) no-repeat;
	background-size: 7px;
	background-position: right 13px center;
	display: inline-block;
	color: #fff;
	text-align: center;
	padding: 0.6em 1.4em 0.6em 1.2em;
	max-width: 170px;
	width: 100%;
	}
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-btn__s {
	background: #ce365a url(/assets/images/ic_arrow_white.png) no-repeat;
	background-size: 5px;
	background-position: right 7px center;
	}
}

.u-btn__l:hover,
.u-btn__m:hover,
.u-btn__s:hover {
	background-color: #dd728b;
 -webkit-transition: 0.3s ease-in-out;  
 -moz-transition: 0.3s ease-in-out;  
 -o-transition: 0.3s ease-in-out;  
 transition: 0.3s ease-in-out;
	text-decoration: none;
 }

/*
ボタン ページトップ
*/
.u-btn__pagetop {
	background-color: rgba(255,255,255,0.3);
	cursor: pointer;
	position: fixed;
	text-indent: -9999px;
	right: 10px;
	bottom: 10px;
	height: 34px;
	width: 50px;
	z-index: 10;
}

.u-btn__pagetop p {
	background: url(/assets/images/ic_page_top.png) no-repeat;
	background-size: 24px;
	background-position: center;
	height: 34px;
	width: 50px;
}

.u-btn__bnr_works {
	background: transparent;
	cursor: pointer;
	position: fixed;
	right: 0;
	bottom: 80px;
	width: 148px;
	height: 127px;
	z-index: 10;
}
@media only screen and (max-width: 750px) {
	.u-btn__bnr_works {
		width: 74px;
		height: 63px;
		right: 5px;
		bottom: 54px;
	}
}
@keyframes hvr-wobble-horizontal {
  16.65% {
    -webkit-transform: translateX(8px);
    transform: translateX(8px);
  }
  33.3% {
    -webkit-transform: translateX(-6px);
    transform: translateX(-6px);
  }
  49.95% {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
  }
  66.6% {
    -webkit-transform: translateX(-2px);
    transform: translateX(-2px);
  }
  83.25% {
    -webkit-transform: translateX(1px);
    transform: translateX(1px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
.hvr-wobble-horizontal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-wobble-horizontal:hover, .hvr-wobble-horizontal:focus, .hvr-wobble-horizontal:active {
  -webkit-animation-name: hvr-wobble-horizontal;
  animation-name: hvr-wobble-horizontal;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

.t-mv h1,
.inv-mv h1,
.doc-mv h1,
.mkt-mv h1,
.company-mv h1,
.data-mv h1,
.contact-mv h1,
.about_site-mv h1,
.ir-mv h1,
.news-mv h1,
.privacy-mv h1,
.responsibility-mv h1,
.security-mv h1,
.sitemap-mv h1  { 
	text-shadow: 1px 0px 2px #FFF; 
}

