@charset "UTF-8";

body {
	font-size: 16px;
	line-height: 1.5;
	font-family: "Noto Sans JP", sans-serif;
	background: #fff;
	color: #404040;
}

a,
a img {
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}
a[href^="tel:"] {
	pointer-events: none;
	text-decoration: none;
}
a:hover img {
	opacity: 0.7;
}

img {
	width: 100%;
	-webkit-backface-visibility: hidden;
}

/* common */
.tmskv .inner,
.tmsintroduce .inner,
.tmsissue .inner,
.tmssolution .inner,
.tmssupport .inner,
.tmsfeature .inner,
.tmscase .inner,
.tmscontact .inner {
	max-width: 1044px;
	margin: 0 auto;
}

.fc-blue {
	color: #0070F2;
}

.marker-blue {background: linear-gradient(rgba(255, 255, 255, 0) 80%, rgba(206, 247, 255, 1) 80%);}
.marker-yellow {background: linear-gradient(rgba(255, 255, 255, 0) 80%, rgba(255, 219, 6, 1) 80%);}

/* icon */
.icon-arrow-circle {
	display: inline-block;
	width: 40px;
	height: 40px;
	background: url(../img/icon_arrow_circle.svg) no-repeat center center / contain;
	transition: 0.3s ease;
}

.icon-exclamation {
	display: inline-block;
	width: calc(31 / 1366 * 100vw);
	height: calc(65 / 1366 * 100vw);
	background: url(../img/icon_exclamation.png) no-repeat center center / contain;
}


/* btn */
.btn {
	display: inline-block;
	position: relative;
	max-width: 356px;
	width: 100%;
	height: 66px;
	border-radius: 50px;
	border: 1px solid #fff;
	background: #ffde0c;
	font-size: 20px;
	font-weight: 700;
	line-height: 66px;
	text-align: center;
	box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.16);
	color: #0070F2;
}

.btn:hover {
	opacity: 0.7;
}

.btn.btn-blue {
	width: 189px;
	height: 48px;
	border: unset;
	background: linear-gradient(130deg, #0078FE 0%, #0082FE 45%, #0092FF 100%);
	font-size: 13px;
	line-height: 48px;
	color: #fff;
}

.btn .icon-arrow-circle {
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
}

.btn.btn-white {
	background: #fff;
}


/* HEADER */
header {
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 116px;
	-webkit-transition: 0.4s ease-out;
	transition: 0.4s ease-out;
	z-index: 10000;
}

.header-inner {
	position: absolute;
	top: 16px;
	left: 32px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #fff;
	border-radius: 100px;
	width: calc(100% - 64px);
	height: 84px;
	-webkit-transition: 0.4s ease-out;
	transition: 0.4s ease-out;
	z-index: 1;
	box-shadow: 8px 8px 16px rgba(0, 0, 0, 0.08);
}

.header-logo {
	position: absolute;
	top:48%;
	left:44px;
	transform: translateY(-50%);
	width:138px;
}

#menu-open{display:none;}


/* gnav ---------------------------------------*/
.gnav{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 24px;
	position:absolute;
	top: 50%;
	right: 50px;
	transform: translateY(-50%);
	z-index: 102;
}

.gnav-list{
	font-size:0px;
}

.gnav-list > li {
	display: inline-block;
	font-size: 15px;
	margin: 0 23px;
	font-weight: 500;
}

.gnav-list > li a:hover {
	opacity: 0.7;
}

/* LP */
#contents {
	overflow: hidden;
	z-index: 2;
}


/* kv ---------------------------------------*/
.tmskv {
	position: relative;
	padding: max(calc(120 / 1366 * 100vw), 120px) 20px 100px;
	background: url(../img/kv_bg.jpg) no-repeat center center / cover;
	margin-bottom: 170px;
}

.tmskv-block {
	display: flex;
	gap: calc(20 / 1366 * 100vw);
	width: calc(1226 / 1366 * 100vw);
	margin: 0 auto;
}

.tmskv-summary {
	flex: 1;
	padding-top: 2.7vw;
}

.tmskv-lead {
	display: inline-block;
	padding: 0.4vw 2vw;
	margin-bottom: 0.8vw;
	font-size: calc(24 / 1366 * 100vw);
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0.05em;
	color: #fff;
	background: linear-gradient(130deg, #24b4fe 0%, #0078fe 100%);
	border-radius: calc(50 / 1366 * 100vw);
}

.tmskv-title {
	margin-bottom: 1vw;
	font-size: calc(64 / 1366 * 100vw);
	font-weight: 700;
	line-height: 1.1;
	margin-bottom: 1.8vw;
}

.tmskv-title b {
	display: block;
	font-size: calc(32 / 1366 * 100vw);
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 0.4vw;
}

.tmskv-title strong {
	font-size: calc(72 / 1366 * 100vw);
	font-weight: 900;
	line-height: 1.1;
	color: #0070F2;
}

.tmskv-title .icon-exclamation {
	margin: 0 0 -0.3vw 1vw;
}

.tmskv-text {
	font-size: calc(14 / 1366 * 100vw);
	font-weight: 500;
	line-height: 1.786;
	letter-spacing: 0.05em;
}

.tmskv-image {
	margin: 0 auto;
	width: calc(715 / 1366 * 100vw);
}

.tmskv-contactblock {
	position: absolute;
	bottom: -96px;
	left: 50%;
	transform: translateX(-50%);
	max-width: 968px;
	padding: 0 20px;
	width: 100%;
}

.tmscontactblock {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2%;
	max-width: 928px;
	width: 100%;
	background: linear-gradient(-45deg, #0075FE -45%, #0082FE 45%, #4AEAFE 180%);
	border-radius: 28px;
	padding: 66px 20px;
	box-shadow: 10px 14px 18px rgba(0, 0, 0, 0.08);
}

.tmscontactblock-lead {
	font-size: 20px;
	font-weight: 700;
	color: #fff;
}

.tmscontactblock-lead b {
	font-size: 24px;
}

.tmscontactblock-btn {
	width: calc(356 / 888 * 100%);
}


/* tmsintroduce ---------------------------------------*/
.tmsintroduce {
	padding: 0 20px;
	margin-bottom: 120px;
}

.tmsintroduce .inner {
	width: 100%;
}

.tmsintroduce-lead {
	font-size: 34px;
	font-weight: 700;
	line-height: 1.458;
	text-align: center;
	margin-bottom: 66px;
}

.tmsintroduce-list {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 21px calc(21 / 1044 * 100%);
}

.tmsintroduce-list > li {
	width: calc(192 / 1044 * 100%);
}


/* tmsissue ---------------------------------------*/
.tmsissue {
	padding: 0 20px;
	margin-bottom: 40px;
	background: url(../img/bg_issue.jpg) no-repeat bottom 43px center / cover;
}

.tmsissue .inner {
	width: 100%;
}

.tmsissue-title {
	margin-bottom: 16px;
}

.tmsissue-title span {
	display: block;
	font-size: 24px;
	font-weight: 900;
	line-height: 1.458;
	text-align: center;
	margin-bottom: 6px;
}

.tmsissue-title b {
	display: block;
	font-size: 40px;
	font-weight: 900;
	line-height: 1.45;
	text-align: center;
	color: #0070F2;
}

.tmsissue-image {
	max-width: 898px;
	margin: 0 auto;
}


/* tmssolution ---------------------------------------*/
.tmssolution {
	position: relative;
	padding: 0 20px 130px;
	background: url(../img/bg_solution.jpg) no-repeat;
	background-position: top 80px center;
	background-size: cover;
}

.tmssolution .inner {
	width: 100%;
}

.tmssolution-title {
	position: relative;
	font-size: 48px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0.05em;
	margin-bottom: 226px;
}

.tmssolution-title::after {
	position: absolute;
	bottom: -68px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
	width: 68px;
	height: 32px;
	background: url('../img/img_triangle.png') no-repeat;
	background-size: contain;
	content: '';
}

.tmssolution-subtitle {
	margin-bottom: 28px;
}

.tmssolution-subtitle span {
	display: block;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.455;
	text-align: center;
	margin-bottom: 4px;
}

.tmssolution-subtitle b {
	display: block;
	font-size: 40px;
	font-weight: 900;
	line-height: 1.45;
	text-align: center;
	color: #0070F2;
}

.tmssolution-subtitle strong {
	display: block;
	font-size: 56px;
	font-weight: 900;
	line-height: 1.45;
	text-align: center;
	color: #0070F2;
	margin-top: -10px;
}

.tmssolution-subtitle strong small {
	font-size: 56px;
	font-weight: 300;
}

.tmssolution-block {
	display: flex;
	align-items: stretch;
	gap: calc(56 / 1044 * 100%);
	position: relative;
	margin-bottom: 56px;
}

.tmssolution-block::before,
.tmssolution-block::after {
	position: absolute;
	bottom: 100%;
	z-index: 1;
	content: '';
}

.tmssolution-block::before {
	left: 3%;
	width: calc(198 / 1044 * 100%);
	aspect-ratio: 396 / 431;
	background: url('../img/img_solution_deco_01.png') no-repeat center center / contain;
}

.tmssolution-block::after {
	right: 3%;
	width: calc(185 / 1044 * 100%);
	aspect-ratio: 369 / 396;
	background: url('../img/img_solution_deco_02.png') no-repeat center center / contain;
}

.tmssolution-block-item {
	position: relative;
	width: calc(494 / 1044 * 100%);
	padding: min(calc(16 / 1084 * 100vw), 16px);
	border-radius: 40px;
	box-shadow: 10px 14px 18px rgba(43, 58, 93, 0.07);
}

.tmssolution-block-item-01 { 
	background: linear-gradient(180deg, #FFE418 0%, #FFD800 100%);
}

.tmssolution-block-item-02 { 
	background: linear-gradient(150deg, #4AEAFE 0%, #0082FE 55%, #0075FE 100%);
}

.tmssolution-block-item-inner { 
	padding: 32px min(calc(32 / 1084 * 100vw), 32px) 50px;
	height: 100%;
	background: #fff;
	border-radius: 24px;
	box-shadow: 4px 4px 18px rgba(0, 0, 0, 0.16);
}

.tmssolution-block-lead {
	display: block;
	padding: min(calc(10 / 1084 * 100vw), 10px);
	margin-bottom: min(calc(22 / 1084 * 100vw), 22px);
	border-radius: 50px;
	font-size: min(calc(18 / 1084 * 100vw), 18px);
	font-weight: 900;
	line-height: 1.5;
	text-align: center;
}

.tmssolution-block-item-01 .tmssolution-block-lead {
	background: linear-gradient(180deg, #FFE418 0%, #FFD800 100%);
}

.tmssolution-block-item-02 .tmssolution-block-lead {
	background: linear-gradient(150deg, #4AEAFE 0%, #0082FE 55%, #0075FE 100%);
	color: #fff;
}

.tmssolution-block-logo { 
	width: 100%;
	margin-bottom: min(calc(30 / 1084 * 100vw), 30px);
}

.tmssolution-block-item-01 .tmssolution-block-logo {
	padding: 0 25px;
}
.tmssolution-block-item-02 .tmssolution-block-logo {
	padding: 0 60px;
}
@media screen and (max-width: 767px) {
	.tmssolution-block-item-02 .tmssolution-block-logo {
		padding: 0 45px;
	}
}

.tmssolution-block-list { 
	display: flex;
	justify-content: center;
	align-items: center;
	gap: min(calc(12 / 1084 * 100vw), 12px);
	padding-bottom: min(calc(32 / 1084 * 100vw), 32px);
	margin-bottom: min(calc(20 / 1084 * 100vw), 20px);
	border-bottom: 1px solid #EAEAEA;
}

.tmssolution-block-list > li { 
	padding: 8px;
	width: min(calc(124 / 1084 * 100vw), 124px);
	font-size: min(calc(14 / 1084 * 100vw), 14px);
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	border-radius: 50px;
}

.tmssolution-block-item-01 .tmssolution-block-list > li { background: #FEF8CF;}
.tmssolution-block-item-02 .tmssolution-block-list > li { background: #E5EEFF;}

.tmssolution-block-title { 
	display: flex;
	align-items: center;
	gap: min(calc(6 / 1084 * 100vw), 6px);
	margin-bottom: min(calc(28 / 1084 * 100vw), 28px);
}

.tmssolution-block-image { 
	width: calc(114 / 398 * 100%);
	flex-shrink: 0;
	margin-bottom: min(calc(16 / 1084 * 100vw), 16px);
}

.tmssolution-block-title b { 
	flex: 1;
	font-size: min(calc(22 / 1084 * 100vw), 22px);
	font-weight: 700;
	line-height: 1.273;
}

.tmssolution-block-text { 
	font-size: min(calc(15 / 1084 * 100vw), 15px);
	font-weight: 500;
	line-height: 1.7;
	text-align: justify;
	letter-spacing: 0.05em;
}

.tmssolution-contactblock {
    max-width: 928px;
    width: 100%;
	margin: 0 auto;
}


/* tmssupport ---------------------------------------*/
.tmssupport {
	padding: 40px 20px 60px;
	background: #dbe9ff;
}

.tmssupport .inner {
	width: 100%;
}

.tmssupport-title {
	margin-bottom: 24px;
}


.tmssupport-title span.line2 {
	display: block;
	padding: 4px 14px;
	width: fit-content;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	color: #fff;
	background: #0070f2;
	margin: 0 auto;
}

.tmssupport-text {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.786;
	text-align: center;
	letter-spacing: 0.025em;
	max-width: 828px;
	margin: 0 auto 40px;
}

.tmssupport-subtitle {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.7;
	text-align: center;
	letter-spacing: 0.025em;
	color: #0070f2;
	margin-bottom: 44px;
}

.tmssupport-list {
	display: flex;
	align-items: center;
	gap: calc(32 / 910 * 100%);
	max-width: 910px;
	margin: 0 auto 40px;
}

.tmssupport-list > li {
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 1;
	width: calc(282 / 910 * 100%);
	box-shadow: 0 0 23px rgba(2, 2, 2, 0.02);
}

.tmssupport-list > li:first-of-type::after,
.tmssupport-list > li:nth-of-type(2)::after {
	position: absolute;
	top: 50%;
	left: 97%;
	transform: translateY(-50%);
	z-index: -1;
	width: calc(30 / 282 * 100%);
	aspect-ratio: 30 / 153;
	background: url('../img/img_support_deco.png') no-repeat;
	background-size: contain;
	content: '';
}

.tmssupport-list-step { 
	display: block;
	padding: 4px;
	background: linear-gradient(270deg, #0077fe 0%, #23b3fe 100%);
	font-size: min(calc(20 / 1084 * 100vw), 20px);
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0.025em;
	color: #fff;
	border-radius: 13px 13px 0 0;
}

.tmssupport-list-step b { 
	font-size: min(calc(28 / 1084 * 100vw), 28px);
	font-weight: 700;
	letter-spacing: 0.2em;
	margin-right: 4px;
}

.tmssupport-list-body { 
	padding: 52px calc(32 / 282 * 100%) 44px;
	height: 100%;
	background: #fff;
	border-radius: 0 0 13px 13px;
}

.tmssupport-list-title { 
	font-size: min(calc(22 / 1084 * 100vw), 22px);
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.025em;
	color: #0681fe;
	padding-bottom: 24px;
	margin-bottom: 24px;
	border-bottom: 2px solid #959595;
}
.tmssupport-list > li:nth-of-type(2) .tmssupport-list-title {
	margin-inline: calc(-16 / 218 * 100%);
	width: calc(100% + calc(32 / 218 * 100%));
}

.tmssupport-list-text { 
	font-size: min(calc(14 / 1084 * 100vw), 14px);
	font-weight: 600;
	line-height: 1.8;
	text-align: justify;
	letter-spacing: 0.075em;
}

.tmssupport-lead {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.65;
	text-align: center;
	letter-spacing: 0.025em;
	margin-bottom: 30px;
}

.tmssupport-table-image {
	max-width: 910px;
	margin: 0 auto;
	border-radius: 13px;
	overflow: hidden;
}


/* tmsfeature ---------------------------------------*/
.tmsfeature {
	position: relative;
	padding: 50px 20px 120px;
	margin-bottom: 170px;
	background: url(../img/bg_feature.jpg) no-repeat;
	background-position: center center;
	background-size: cover;
}

.tmsfeature .inner {
	width: 100%;
}

.tmsfeature-title {
	font-size: 48px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.025em;
	margin-bottom: 30px;
}

.tmsfeature-block {
	display: flex;
	align-items: center;
	gap: calc(46 / 1044 * 100%);
	margin: 0 auto 30px;
}

.tmsfeature-block-item-01 {
	width: calc(546 / 1044 * 100%);
}

.tmsfeature-block-item-02 {
	width: calc(427 / 1044 * 100%);
}

.tmsfeature-image {
	max-width: 807px;
	margin: 0 auto;
}

.tmsfeature-contactblock {
	position: absolute;
    bottom: -96px;
    left: 50%;
    transform: translateX(-50%);
    max-width: 968px;
    padding: 0 20px;
    width: 100%;
}


/* tmscase ---------------------------------------*/
.tmscase {
	padding: 0 20px 100px;
}

.tmscase .inner {
	width: 100%;
}

.tmscase-title {
	font-size: 48px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.025em;
	margin-bottom: 50px;
}

.tmscase-list {
	display: flex;
	justify-content: center;
	gap: calc(60 / 1044 * 100%);
	max-width: 1044px;
	margin: 0 auto;
}

.tmscase-list > li {
	width: calc(292 / 1044 * 100%);
	border-radius: 12px;
	box-shadow: 0 0 7px rgba(2, 2, 2, 0.5);
	overflow: hidden;
}

.tmscase-list > li > a {
	display: block;
	height: 100%;
}

.tmscase-list-image {
	width: 100%;
}

.tmscase-list-content {
	padding: 32px 16px 24px;
	background: #fff;
}

.tmscase-list-text {
	font-size: 13.2px;
	font-weight: 600;
	line-height: 1.8;
	text-align: justify;
	letter-spacing: 0.025em;
	color: #4a4a4a;
}

.tmscase-list-company {
	position: relative;
	margin-top: 6px;
	padding-left: 50px;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.025em;
	color: #4a4a4a;
}

.tmscase-list-company::before {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	z-index: 1;
	width: 42px;
	height: 1px;
	background: #b5b5b5;
	content: '';
}


/* tmscontact ---------------------------------------*/
.tmscontact {
	padding: 50px 20px 50px;
	background: #ffec89;
}

.tmscontact .inner {
	width: 100%;
}

@media(max-width: 767px) {
	.tmscontact .inner {
		padding: 0 1.6rem;
	}
}

.tmscontact-text {
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.025em;
	margin-bottom: 20px;
}

.tmscontact-text + .tmscontact-text {
	margin-top: 20px;
}

.tmscontact-text:last-of-type {
	margin-bottom: 50px;
}

.tmscontact-text b {
	font-size: 32px;
}

.tmscontact-btn {
	text-align: center;
}


/* small pc */
@media screen and (min-width: 768px) and (max-width: 1360px){
	.tmskv {
		margin-bottom: 200px;
	}
}

@media screen and (min-width: 768px) and (max-width: 1000px){
	.header-logo {
		left: 34px;
		width: 100px;
	}

	.gnav {
		gap: 8px;
	}

	.gnav-list > li {
		margin: 0 10px;
	}

	.btn.btn-blue {width: 150px;}

	.tmskv {
		padding: max(calc(120 / 1366 * 100vw), 120px) 20px 40px;
	}

	.tmscontactblock {
		padding: 36px 20px;
	}

	.tmsfeature {
		padding: 50px 20px 94px;
	}

	.tmsfeature-contactblock {
		bottom: -66px;
	}
}

@media screen and (min-width: 768px) and (max-width: 900px){
	.tmscontactblock-lead {font-size: 16px;}
	.tmscontactblock-lead b {font-size: 20px;}

	.tmssolution-block::before {
		left: 0%;
		width: calc(158 / 1044 * 100%);
	}

	.tmssolution-block::after {
		right: 0%;
		width: calc(145 / 1044 * 100%);
	}
}


/* only pc */
@media screen and (min-width: 768px){
	.pcnone{display: none !important;}
	.smallpc-on{display: none;}
}

/* smallPCのみ */
@media (min-width: 768px) and (max-width: 1080px) {
	.smallpc-on{display: block;}
	.smallpc-off{display: none;}
}

/* only sp */
@media(max-width: 767px) {
	.spnone {display: none !important;}
	.smallpc-on{display: none;}

	em{
		font-style: normal;
	}

	html {
		font-size: 2.666666vw;
	}
	body {
		min-width: 32rem;
		font-size: 1.4rem;
		line-height: 1.6;
	}

	img {
		width: 100%;
		height: auto;
	}


	/* icon */
	.icon-arrow-circle {
		width: 1.7rem;
		height: 1.7rem;
	}

	.icon-exclamation {
		width: 1.9rem;
		height: 4rem;
	}


	/* btn */
	.btn {
		max-width: 16rem;
		height: 3.2rem;
		border-radius: 5rem;
		font-size: 1.2rem;
		line-height: 3.2rem;
		box-shadow: 0.2rem 0.2rem 0.4rem rgba(0, 0, 0, 0.16);
	}

	.btn:hover {
		opacity: 0.7;
	}

	.btn.btn-blue {
		width: 13rem;
		height: 3.6rem;
		font-size: 1.2rem;
		line-height: 3.6rem;
	}

	.btn .icon-arrow-circle {
		right: 1rem;
	}


	/* HEADER */
	header {
		height: 7rem;
	}

	.header-inner {
		top: 1rem;
		left: 1rem;
		border-radius: 10rem;
		width: calc(100% - 2rem);
		height: 5rem;
		box-shadow: 0.8rem 0.8rem 1.6rem rgba(0, 0, 0, 0.08);
		transition: all .25s ease;
		z-index: 102;
	}

	.header-inner.is-active {
		box-shadow: none;
	}

	.header-logo {
		left:2rem;
		width:9rem;
	}

	#menu-open{
		display:block;
		width:6rem;
		height:6rem;
		text-indent: -99em;
		overflow: hidden;
		position:absolute;
		right: -0.5rem;
		top: -0.5rem;
		z-index:101;
	}

	#menu-open span{
		content:'';
		display: block;
		width:2.5rem;
		height:0.2rem;
		background: #000;
		position: absolute;
		left:1.7rem;
		transition: all .25s ease;
	}

	#menu-open span:nth-child(1){top:2.1rem;}
	#menu-open span:nth-child(2){top:2.8rem;}
	#menu-open span:nth-child(3){top:3.5rem;}

	#menu-open.active span:nth-child(1){
		transform:rotate(45deg);
		top:2.7rem;
		left:1.7rem;
	}

	#menu-open.active span:nth-child(2){
		opacity:0;
	}

	#menu-open.active span:nth-child(3){
		transform:rotate(-45deg);
		top:2.7rem;
		left:1.7rem;
	}


	/* gnav ---------------------------------------*/
	.gnav{
		display: block;
		border:none;
		background: #fff;
		padding: 10rem 3rem 5rem;
		overflow:auto;
		z-index:100;
		position: absolute;
		left:0;
		top:0;
		width:100%;
		height: 100vh;
		transition: all .25s ease;
		transform:translate3d(0,-100%,0);
	}

	.gnav.is-active{
		transform:translate3d(0,0,0);
		opacity:1;
	}

	.gnav-list > li{
		display: block;
		font-size:1.6rem;
		margin: 0 1rem;
		font-weight:500;
	}

	.gnav-list > li + li {
		margin-top: 1rem;
	}

	.gnav-btn {
		position: absolute;
		top: 50%;
		right: 7rem;
		transform: translateY(-50%);
		z-index: 103;
	}

	/* LP */
	#contents {
		overflow: hidden;
		z-index: 2;
	}


	/* kv ---------------------------------------*/
	.tmskv {
		padding: 8rem 0 5rem;
		background: url(../img/kv_bg_sp.jpg) no-repeat center center / cover;
		margin-bottom: 14rem;
	}

	.tmskv-block {
		display: block;
		width: fit-content;
	}

	.tmskv-summary {
		padding-top: 0;
		margin-bottom: 0.7rem;
	}

	.tmskv-lead {
        display: block;
		padding: 0.3rem 1.8rem;
		margin: 0 auto 0.6rem;
		width: fit-content;
		font-size: 1.4rem;
		letter-spacing: 0.1em;
		border-radius: 5rem;
	}

	.tmskv-title {
		font-size: 4.3rem;
		text-align: center;
		margin-bottom: 1rem;
	}

	.tmskv-title b {
		font-size: 2rem;
		margin-bottom: 0;
	}

	.tmskv-title strong {
		font-size: 4.5rem;
	}

	.tmskv-title .icon-exclamation {
		margin: 0 0 -0.3rem 1rem;
	}

	.tmskv-text {
		font-size: 0.99rem;
		line-height: 1.7;
		letter-spacing: 0;
		max-width: 29.8rem;
        margin: 0 auto;
	}

	.tmskv-image {
		width: calc(309 / 375 * 100vw);
	}

	.tmskv-contactblock {
		padding: 0;
		bottom: -16vw;
		max-width: 32.4rem;
	}

	.tmscontactblock {
		display: block;
		max-width: 32.4rem;
		border-radius: 0.9rem;
		padding: 1.2rem;
		box-shadow: 0.8rem 1.1rem 1.5rem rgba(0, 0, 0, 0.08);
	}

	.tmscontactblock-lead {
		font-size: 1.2rem;
		text-align: center;
		margin-bottom: 1.6rem;
	}

	.tmscontactblock-lead b {
		font-size: 1.4rem;
	}

	.tmscontactblock-btn {
		width: unset;
		text-align: center;
	}


	/* tmsintroduce ---------------------------------------*/
	.tmsintroduce {
		padding: 0;
		margin-bottom: 4rem;
	}

	.tmsintroduce-lead {
		font-size: 1.6rem;
		margin-bottom: 2rem;
	}

	.tmsintroduce-list {
		gap: 0.8rem calc(13 / 335 * 100%);
	}

	.tmsintroduce-list > li {
		width: calc(161 / 335 * 100%);
	}


	/* tmsissue ---------------------------------------*/
	.tmsissue {
		padding: 0;
		margin-bottom: 2rem;
		background: url(../img/bg_issue.jpg) no-repeat bottom 2rem center / cover;
	}

	.tmsissue-title {
		margin-bottom: 0.5rem;
	}

	.tmsissue-title span {
		font-size: 1.2rem;
		margin-bottom: 2rem;
	}

	.tmsissue-title b {
		font-size: 2rem;
	}

	.tmsissue-image {
		max-width: 36.4rem;
	}


	/* tmssolution ---------------------------------------*/
	.tmssolution {
		padding: 0 0 5rem;
		background: url(../img/bg_solution_sp.jpg) no-repeat top 5rem center / cover;
	}

	.tmssolution-title {
		font-size: 2.1rem;
		margin-bottom: 8rem;
	}

	.tmssolution-title::after {
		bottom: -3rem;
		width: 3.4rem;
		height: 1.6rem;
	}

	.tmssolution-subtitle {
		margin-bottom: 1.6rem;
	}

	.tmssolution-subtitle span {
		font-size: 1.2rem;
		margin-bottom: 0.3rem;
	}

	.tmssolution-subtitle b {
		font-size: 2rem;
	}

	.tmssolution-subtitle strong {
		font-size: 2.6rem;
		margin-bottom: 7rem;
		margin-top: 0;
	}

	.tmssolution-subtitle strong small {
		font-size: 2.6rem;
	}

	.tmssolution-block {
		display: block;
		position: relative;
		margin-bottom: 3rem;
	}

	.tmssolution-block::before {
		left: 2%;
		width: 7.2rem;
	}

	.tmssolution-block::after {
		right: 2%;
		width: 6.7rem;
	}

	.tmssolution-block-item {
		width: 100%;
		border-radius: 2rem;
	}

	.tmssolution-block-item + .tmssolution-block-item {
		margin-top: 1.5rem;
	}

	.tmssolution-block-item-inner { 
		padding: 1.5rem 1.5rem 2rem;
		border-radius: 1.5rem;
		box-shadow: 0.4rem 0.4rem 1.8rem rgba(0, 0, 0, 0.16);
	}

	.tmssolution-block-lead {
		padding: 0.5rem;
		margin-bottom: 1.1rem;
		border-radius: 5rem;
		font-size: 1.2rem;
	}

	.tmssolution-block-logo { 
		width: 80%;
		margin: 0 auto 1.6rem;
	}

	.tmssolution-block-list { 
		gap: 0.6rem;
		padding-bottom: 1.6rem;
		margin-bottom: 1rem;
	}

	.tmssolution-block-list > li { 
		padding: 0.3rem;
		width: 9rem;
		font-size: 1rem;
		border-radius: 5rem;
	}

	.tmssolution-block-title { 
		gap: 0.3rem;
		margin-bottom: 1.4rem;
	}

	.tmssolution-block-image { 
		width: 6rem;
		margin-bottom: 0.8rem;
	}

	.tmssolution-block-title b { 
		font-size: 1.6rem;
		letter-spacing: 0.05em;
	}

	.tmssolution-block-text { 
		font-size: 1.3rem;
	}

	.tmssolution-contactblock {
		max-width: 32.4rem;
	}


	/* tmssupport ---------------------------------------*/
	.tmssupport {
		padding: 5rem 0 5rem;
	}

	.tmssupport-title {
		margin-bottom: 2rem;
	}

	.tmssupport-title span.line2 {
		padding: 0.2rem 0.5rem;
		font-size: 1.4rem;
	}

	.tmssupport-text {
		font-size: 1.2rem;
		text-align: justify;
		max-width: 100%;
		margin: 0 auto 3rem;
	}

	.tmssupport-subtitle {
		font-size: 1.4rem;
		margin-bottom: 2.4rem;
	}

	.tmssupport-list {
		display: block;
		max-width: 100%;
		margin: 0 auto 4rem;
	}

	.tmssupport-list > li {
		width: calc(315 / 335 * 100%);
		box-shadow: 0 0 2.3rem rgba(2, 2, 2, 0.02);
		border-radius: 0.7rem;
		margin: 0 auto;
	}

	.tmssupport-list > li:first-of-type::after,
	.tmssupport-list > li:nth-of-type(2)::after {
		top: calc(100% - 3.2rem);
		left: 50%;
		transform: translate(-50%, 0) rotate(90deg);
		width: calc(15 / 315 * 100%);
	}

	.tmssupport-list > li + li {
		margin-top: 3rem;
	}

	.tmssupport-list-step { 
		padding: 0.3rem 2.7rem;
		font-size: 1.4rem;
		text-align: left;
		border-radius: 0.6rem 0.6rem 0 0;
	}

	.tmssupport-list-step b { 
		font-size: 2rem;
		margin-right: 0.2rem;
	}

	.tmssupport-list-body { 
		padding: 0.6rem 2.2rem 1.4rem;
		border-radius: 0 0 0.6rem 0.6rem;
	}

	.tmssupport-list-title { 
		font-size: 1.6rem;
		padding-bottom: 0.6rem;
		margin-bottom: 0.4rem;
		border-bottom: 0.2rem solid #959595;
	}
	.tmssupport-list > li:nth-of-type(2) .tmssupport-list-title {
		margin-inline: 0;
		width: 100%;
	}

	.tmssupport-list-text { 
		font-size: 1.4rem;
	}

	.tmssupport-lead {
		font-size: 1.6rem;
		margin-bottom: 2rem;
	}

	.tmssupport-table {
		width: calc(100% + 4rem);
		margin-left: -2rem;
	}

	.tmssupport-table-inner {
		padding: 0 2rem;
	}

	.tmssupport-table-image {
		max-width: unset;
		border-radius: 0.7rem;
		width: 91rem;
		height: 39.1rem;
	}


	/* tmsfeature ---------------------------------------*/
	.tmsfeature {
		padding: 2rem 0 8rem;
		margin-bottom: 10rem;
	}

	.tmsfeature .inner{
		padding: 0;
	}

	.tmsfeature-title {
		font-size: 2rem;
		margin-bottom: 3rem;
	}

	.tmsfeature-block {
		display: block;
		margin: 0 auto 2rem;
	}

	.tmsfeature-block-item-01,
	.tmsfeature-block-item-02 {
		width: calc(360 / 375 * 100%);
		margin: 0 auto;
	}

	.tmsfeature-block-item-02 {
		margin-top: -2rem;
	}

	.tmsfeature-image {
		max-width: unset;
		width: calc(330 / 375 * 100%);
		margin: 0 auto;
	}

	.tmsfeature-contactblock {
		max-width: 32.4rem;
		padding: 0;
		bottom: -15vw;
	}


	/* tmscase ---------------------------------------*/
	.tmscase {
		padding: 2rem 0 6rem;
	}

	.tmscase-title {
		font-size: 2rem;
		margin-bottom: 3rem;
	}

	.tmscase-list {
		display: block;
		max-width: calc(320 / 335 * 100%);
	}

	.tmscase-list > li {
		width: 100%;
		border-radius: 0.7rem;
		box-shadow: 0 0 0.7rem rgba(2, 2, 2, 0.5);
	}

	.tmscase-list > li + li {
		margin-top: 3rem;
	}

	.tmscase-list-content {
		padding: 3.3rem 1.3rem 2.2rem;
	}

	.tmscase-list-text {
		font-size: 1.5rem;
	}

	.tmscase-list-company {
		margin-top: 1.2rem;
		padding-left: 6.5rem;
		font-size: 1.3rem;
	}

	.tmscase-list-company::before {
		left: 1rem;
		width: 4rem;
		height: 0.1rem;
	}


	/* tmscontact ---------------------------------------*/
	.tmscontact {
		padding: 3rem 0 3rem;
	}

	.tmscontact-text {
		font-size: 1.4rem;
	}

	.tmscontact-text + .tmscontact-text {
		margin-top: 2rem;
	}
	
	.tmscontact-text:last-of-type {
		margin-bottom: 3rem;
	}
	
	.tmscontact-text b {
		font-size: 1.6rem;
	}


}