/*
Theme Name: Lightning Child 
Template: lightning
Version: 0.5.1
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&family=Shippori+Mincho&display=swap');

body {
	font-size: 1rem;
	font-family: 'Shippori Mincho', sans-serif;
	font-weight: normal;
    font-style: normal;
}
p,pre {
	font-size: 1rem;
	font-family: 'Shippori Mincho', sans-serif;
	font-weight: normal;
    font-style: normal;
}
br.sp {
	display:none;
}
.site-body {
	padding: 0 !important;
}
.nav li a:hover, nav li a:hover {
	color: #338edd;
}
.nav li a.active, nav li a.active {
	color: #1e68a9;
}
.vk-mobile-nav-menu-btn {
	display: none;
}
body:before {
	content: "";
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 1)), url(/wp-content/uploads/2025/07/bg.png);
	background-repeat: no-repeat;
	background-position: right calc(-150px + calc(calc(100vw - 1280px) / 2)) top 4rem;
	background-size: calc(1280px * 0.7);
}
._tsff-header {
	position: fixed;
	width: 100%;
	margin: 0;
	padding: 0;
	background-color: rgba(255, 255, 255, 0.8);
	z-index: 100;
}
._tsff-header-container {
	display: flex;
	flex-direction: row;
	justify-content: center;
	margin: auto;
	padding: 0 1rem 0;
	max-width: 1280px;
}
._tsff-header-left {
	
}
._tsff-header-center {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
._tsff-header-right {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin-left: auto;
}
._tsff-logo-bg {
	margin-top: 1rem;
	margin-bottom: 0.6rem;
	margin-right: 1.8rem;
}
._tsff-logo {
	width: 160px;
}
._tsff-site-name h1 {
	margin: 1.1rem 0 0.4rem;
	font-size: 2.1rem;
	font-family: 'Shippori Mincho', sans-serif;
	font-weight: normal;
    font-style: normal;
	line-height: 1.15;
}
._tsff-header.en ._tsff-site-name h1 {
	margin: 0.6rem 0 0;
	font-size: 2.8rem;
}
._tsff-site-name span {
	padding-left: 0.2rem;
	font-size: 1.83rem;
}
._tsff-global-menu nav ul {
	display: flex;
	flex-direction: row;
	justify-content: start;
	margin: 0 0 0.9rem;
	padding: 0;
}
._tsff-global-menu nav ul li {
	width: 9rem;
	height: 1.8rem;
	padding-top: 0.1rem;
	border-left: 1px solid #e1e1e1;
	font-size: 1.05rem;
	text-align: center;
}
._tsff-global-menu nav ul li:last-child {
	border-right: 1px solid #e1e1e1;
}
._tsff-header.en ._tsff-global-menu nav ul li {
	width: 10rem;
}
._tsff-global-menu-line {
	position: absolute;
	bottom: 0.6rem;
	height: 2px;
	background-color: #3fc4f7;
	transition: all .3s ease;
	opacity: 0;
}
._tsff-inquiry {
	margin: 1.4rem 0 0 auto;
}
._tsff-inquiry a {
	display: block;
	width: 8rem;
	padding: 0.8rem 0;
	background-color: #dd0000;
	color: #fff;
	text-align: center;
}
._tsff-inquiry a:hover {
	background-color: #ff3434;
}
._tsff-language-menu nav ul {
	display: flex;
	flex-direction: row;
	justify-content: start;
	margin: 0 0 0.9rem;
	padding: 0;
}
._tsff-language-menu nav ul li {
	width: 6rem;
	height: 1.8rem;
	padding-top: 0.1rem;
	font-size: 1.05rem;
	text-align: right;
}
._tsff-header.en ._tsff-language-menu nav ul li {
	/*padding: 0.8rem 0 2rem;*/
}
._tsff-sp-menu {
	display: none;
}
._tsff-block {
	min-height: 100vh;
	align-items: start;
	padding-top: 235px;
}
._tsff-block._tsff-fv {
	padding-top: 325px;
}
._tsff-block ._tsff-block-conts {
	opacity: 0;
	transition: all 1.5s ease 0.2s;
	transform: translateY(150px);
}
._tsff-block.is-active ._tsff-block-conts {
	opacity: 1;
	transform: translateY(0);
}
._tsff-block h2._tsff-title {
	font-size: 8.25rem;
	line-height: 1;
	font-family: 'Shippori Mincho', sans-serif;
	font-weight: normal;
    font-style: normal;
}
._tsff-block h3._tsff-title {
	font-size: 4rem;
	line-height: 1.5;
	font-family: 'Shippori Mincho', sans-serif;
	font-weight: normal;
    font-style: normal;
}
._tsff-block h3._tsff-title-s {
	font-size: 2.4rem;
	line-height: 1.5;
	font-family: 'Shippori Mincho', sans-serif;
	font-weight: normal;
    font-style: normal;
	color: #6f6e6e;
}
._tsff-block p._tsff-catch {
	margin-top: -6rem;
	padding-left: 0.2rem;
	font-size: 1.8rem;
	line-height: 1.5;
	font-family: 'Shippori Mincho', sans-serif;
	font-weight: normal;
    font-style: normal;
}
._tsff-block pre._tsff-description {
	font-size: 1.05rem;
	line-height: 2;
}
._tsff-block pre._tsff-list {
	font-size: 1.4rem;
	line-height: 2;
}
._tsff-inquiry-form table {
	border: none;
}
._tsff-inquiry-form table tr {
	border: none;
}
._tsff-inquiry-form table th {
	width: 40%;
	padding: 0;
	border: none;
	vertical-align: top;
	text-align: left;
}
._tsff-inquiry-form table td {
	width: 60%;
	padding: 0;
	border: none;
	vertical-align: top;
	text-align: left;
}
._tsff-inquiry-form label {
	font-size: 1.4rem;
	font-weight: normal;
}
._tsff-inquiry-form ._tsff-inquiry-send {
	margin-top: 1rem;
	text-align: center;
}
._tsff-inquiry-form input[type=submit] {
	width: 10rem;
	font-family: 'Shippori Mincho', sans-serif;
}
._tsff-inquiry-form .wpcf7-form-control {
	margin-bottom: 1rem;
}
._tsff-inquiry-form .wpcf7-not-valid-tip {
	margin-top: -0.5rem;
	margin-bottom: 0.5rem;
}
._tsff-inquiry-form .wpcf7-spinner {
	position: absolute;
}
._tsff-footer {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
	background-color: #555555;
}
._tsff-footer-container {
	margin: auto;
	padding: 1rem;
	max-width: 1280px;
}
._tsff-footer-container p {
	margin: 0;
	padding: 0;
	font-size: 0.8rem;
	font-family: 'Shippori Mincho', sans-serif;
	font-weight: normal;
    font-style: normal;
	color: #fff;
	text-align: center;
}

/* ブロックの高さ調整 */
@media screen and (max-height: 850px) {
	._tsff-block {
		min-height: 850px;
	}
}

/* 横幅1280px以下 */
@media (max-width: 1280px) {
	body:before {
		background-position: right -16vw top 5vw;
		background-size: 80vw;
	}
}

/* 横幅1050px以下 */
@media (max-width: 1050px) {
	._tsff-logo {
		width: calc(160px * .9);
	}
}
@media (max-width: 1050px) {
	._tsff-site-name h1 {
		margin-top: 1.15rem;
		font-size: calc(2.1rem * .9);
	}
	._tsff-header.en ._tsff-site-name h1 {
		margin-top: 0.75rem;
		font-size: calc(2.8rem * .9);
	}
}
@media (max-width: 1050px) {
	._tsff-site-name span {
		font-size: calc(1.83rem * .9);
	}
}

/* 横幅895px以下 */
@media (max-width: 895px) {
	._tsff-logo {
		width: calc(160px * .845);
	}
}
@media (max-width: 895px) {
	._tsff-site-name h1 {
		font-size: calc(2.1rem * .845);
	}
	._tsff-header.en ._tsff-site-name h1 {
		font-size: calc(2.8rem * .845);
	}
}
@media (max-width: 895px) {
	._tsff-site-name span {
		font-size: calc(1.83rem * .845);
	}
}
@media (max-width: 895px) {
	._tsff-block h2._tsff-title {
		font-size: calc(10rem * .875);
	}
}
@media (max-width: 895px) {
	._tsff-block h3._tsff-title {
		font-size: calc(4rem * .875);
	}
}
@media (max-width: 895px) {
	._tsff-block h3._tsff-title-s {
		font-size: calc(2.4rem * .875);
	}
}
@media (max-width: 895px) {
	._tsff-block p._tsff-catch {
		font-size: calc(1.8rem * .875);
	}
}
@media (max-width: 895px) {
	._tsff-block pre._tsff-list {
		font-size: calc(1.4rem * .875);
	}
}
@media (max-width: 895px) {
	._tsff-inquiry-form label {
		font-size: calc(1.4rem * .875);
	}
}

/* 横幅825px以下 */
@media (max-width: 825px) {
	._tsff-logo {
		width: calc(160px * .745);
	}
}
@media (max-width: 825px) {
	._tsff-site-name h1 {
		margin-bottom: 0.4rem;
		font-size: calc(2.1rem * .745);
	}
	._tsff-header.en ._tsff-site-name h1 {
		font-size: calc(2.8rem * .745);
	}
}
@media (max-width: 825px) {
	._tsff-site-name span {
		font-size: calc(1.83rem * .745);
	}
}

/* 横幅768px以下 */
@media (max-width: 768px) {
	body:before {
		background-position: right -18vw top 8vw;
		background-size: 95vw;
	}
}
@media (max-width: 768px) {
	br.sp {
		display: block;
	}
}
@media (max-width: 768px) {
	._tsff-header {
		/*height: 98px;*/
	}
}
@media (max-width: 768px) {
	._tsff-header-container {
		padding: 0 0.4rem;
	}
}
@media (max-width: 768px) {
	._tsff-logo-bg {
		margin-top: 0.5rem;
		margin-bottom: 0;
		margin-right: 0.6rem;
	}
}
@media (max-width: 768px) {
	._tsff-logo {
		width: 20vw;
	}
}
@media (max-width: 768px) {
	._tsff-site-name h1 {
		margin-top: 0.4rem;
		margin-bottom: 0;
		font-size: 4.5vw;
		font-weight: bold;
		line-height: 1.4;
	}
	._tsff-header.en ._tsff-site-name h1 {
		margin-top: 1.2rem;
		font-size: 4.5vw;
	}
}
@media (max-width: 768px) {
	._tsff-site-name span {
		font-size: 3vw;
		font-weight: bold;
	}
}
@media (max-width: 768px) {
	._tsff-global-menu {
		display: none;
	}
}
@media (max-width: 768px) {
	._tsff-inquiry {
		display: none;
	}
}
@media (max-width: 768px) {
	._tsff-language-menu {
		display: none;
	}
}
@media (max-width: 768px) {
	._tsff-sp-menu {
		display: block;
	}
	._tsff-sp-menu-btn {
		display: block;
		position: fixed;
		top: 0.65rem;
		right: 0.5rem;
		width: 30px;
		height: 30px;
		transition: all .5s;
		cursor: pointer;
		z-index: 5;
	}
	._tsff-sp-menu-btn span {
		display: block;
		position: absolute;
		left: 0;
		width: 30px;
		height: 1px;
		background-color: #333;
		border-radius: 4px;
		transition: all .5s;
	}
	._tsff-sp-menu-btn span:nth-child(1) {
		top: 4px;
	}
	._tsff-sp-menu-btn span:nth-child(2) {
		top: 14px;
	}
	._tsff-sp-menu-btn span:nth-child(3) {
		bottom: 4px;
	}
	._tsff-sp-menu.open ._tsff-sp-menu-btn span:nth-child(1) {
		transform: translateY(10px) rotate(-315deg);
	}
	._tsff-sp-menu.open ._tsff-sp-menu-btn span:nth-child(2) {
		opacity: 0;
	}
	._tsff-sp-menu.open ._tsff-sp-menu-btn span:nth-child(3) {
		transform: translateY(-10px) rotate(315deg);
	}
	._tsff-sp-menu-nav {
		display: block;
		position: fixed;
		top: 0;
		right: -20rem;
		width: 20rem;
		height: 100%;
		background: #ffffff;
		overflow-x: hidden;
		overflow-y: auto;
		transition: all .5s;
		z-index: 4;
		opacity: 0;
	}
	._tsff-sp-menu-nav ul._tsff-sp-global-menu {
		margin: 5rem 2rem 0;
		padding: 0;
	}
	._tsff-sp-menu-nav ul._tsff-sp-global-menu li {
		font-size: 1.05rem;
		padding: 1.25rem 0 0.25rem;
		border-bottom: 1px solid #333;
	}
	._tsff-sp-menu-nav ._tsff-sp-inquiry {
		margin: 3rem 2rem 0;
	}
	._tsff-sp-menu-nav ._tsff-sp-inquiry a {
		display: block;
		width: 100%;
		padding: 0.8rem 0;
		background-color: #dd0000;
		font-size: 1.05rem;
		color: #fff;
		text-align: center;
	}
	._tsff-sp-menu-nav ._tsff-sp-inquiry a:hover {
		background-color: #ff3434;
	}
	._tsff-sp-menu-nav ul._tsff-sp-language-menu {
		display: flex;
		flex-direction: row;
		justify-content: start;
		margin: 1.5rem 2rem 0;
		padding: 0;
	}
	._tsff-sp-menu-nav ul._tsff-sp-language-menu li {
		width: 50%;
		padding: 1.4rem 0;
		font-size: 1.05rem;
		text-align: center;
	}
	._tsff-sp-menu.open ._tsff-sp-menu-nav {
		right: 0;
		opacity: 1;
	}
	._tsff-sp-mask {
		display: none;
		transition: all .5s;
	}
	._tsff-sp-menu.open ._tsff-sp-mask {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #000;
		opacity: 0.2;
		z-index: 3;
		cursor: pointer;
	}
}
@media (max-width: 768px) {
	._tsff-block {
		min-height: auto;
		padding: 125px 0;
	}
}
@media (max-width: 768px) {
	._tsff-block._tsff-fv {
		min-height: 100vh;
		padding-top: 165px;
	}
}
@media (max-width: 768px) {
	._tsff-block h2._tsff-title {
		font-size: 14vw;
	}
}
@media (max-width: 768px) {
	._tsff-block h3._tsff-title {
		font-size: 6.5vw;
	}
}
@media (max-width: 768px) {
	._tsff-block h3._tsff-title-s {
		font-size: 5.5vw;
	}
}
@media (max-width: 768px) {
	._tsff-block p._tsff-catch {
		margin-top: -2rem;
		font-size: 0.9rem;
	}
}
@media (max-width: 768px) {
	._tsff-block pre._tsff-description {
		font-size: 1.05rem;
	}
}
@media (max-width: 768px) {
	._tsff-block pre._tsff-list {
		font-size: 1.1rem;
	}
}
@media (max-width: 768px) {
	._tsff-inquiry-form label {
		font-size: 1.1rem;
	}
}
@media (max-width: 768px) {
	._tsff-inquiry-form table,
	._tsff-inquiry-form table tbody,
	._tsff-inquiry-form table tr,
	._tsff-inquiry-form table th,
	._tsff-inquiry-form table td {
		display: block;
		width: 100%;
		padding-bottom: 0.4rem;
	}
}
@media (max-width: 768px) {
	._tsff-inquiry-form .wpcf7-form-control {
		margin-bottom: 0.5rem;
	}
}

/* 404ページ */
._tsff-header.nopage ._tsff-logo {
	width: 105px;
}
@media (max-width: 1050px) {
	._tsff-header.nopage ._tsff-logo {
		width: 10vw;
	}
}
@media (max-width: 768px) {
	._tsff-header.nopage ._tsff-logo {
		width: 20vw;
	}
}
._tsff-nopage-conts {
	height: 100vh;
	padding-top: 265px;
	text-align: center;
}
._tsff-nopage-conts p {
	font-size: 1.2rem;
}
@media (max-width: 768px) {
	._tsff-nopage-conts p {
		font-size: 1rem;
	}
}
._tsff-footer.nopage {
	height: 80px;
	margin-top: -80px;
}