/*
Theme Name: Lightning Child Sample
Theme URI:
Template: lightning
Description:
Author:
Tags:
Version: 0.6.1
*/

:root {
 --white: #fff;
 --black: #000;
 --red: #f00;
--wp--preset--color--vk-color-custom-6: #F8E7E6;
--wp--preset--color--vk-color-custom-7: #89543F;
--gradation-gold-1: linear-gradient(90deg, rgba(122, 63, 22, 1) 0%, rgba(128, 69, 30, 1) 3.81%, rgba(144, 87, 50, 1) 9.56%, rgba(170, 115, 84, 1) 16.54%, rgba(204, 152, 128, 1) 23.94%, rgba(165, 118, 97, 1) 43.59%, rgba(133, 90, 71, 1) 63.35%, rgba(113, 72, 55, 1) 79.95%, rgba(106, 66, 49, 1) 91.24%);
--gradation-gold-2: linear-gradient(90deg, rgba(184, 164, 126, 1) 0%, rgba(223, 183, 154, 1) 50%, rgba(184, 164, 126, 1) 100%);
--gradation-1: linear-gradient(90deg, rgba(112, 128, 137, 1) 0%, rgba(122, 137, 146, 1) 11.27%, rgba(152, 167, 176, 1) 51.04%, rgba(112, 128, 137, 1) 100%);
--serif: Hiragino Mincho ProN, "游明朝", serif;/***明朝***/
--sans_serif:"Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;/***ゴシック***/
	
}

/****基本部分****/
h1, h2, h3, h4, h5, h6, .page-header-title {
    font-family: var(--serif);
    font-display: swap;
    color: var(--wp--preset--color--vk-color-primary);
	letter-spacing: 0.05em;
}

.page-header-title, h1.page-header-title {
    font-size: 1.8rem;
}

/* h2 {
    text-align: center;
} */

h2.title {
  position: relative;
  padding-bottom: 1rem;
  margin: 0 auto;
  text-align: center;
}

h2.title::after {
	content: "";
	position: absolute;
	bottom: -1.5rem;
	left: 50%;
	transform: translateX(-50%);
	width: 2px;
	height: 35px;
	background: #cacde3;
}

h2.nomal:after,h3.nomal:after {
    /* border: none; */
    content: none;
}

h2.title2 {
    position: relative;
}

h2.title2:before,h2.title2:after {
    position: absolute;
    content: "";
    background-repeat: no-repeat;
    background-size: contain;
    width: 30px;
    height: 30px;
}

h2.title2:before {
    background-image: url(https://universalfilm.co.jp/wp-content/uploads/2025/06/bg-h2-left01.webp);
    top: 0;
    left: 0;
}

h2.title2:after {
    background-image: url(https://universalfilm.co.jp/wp-content/uploads/2025/06/bg-h2-right01.webp);
    bottom: 0;
    right: 0;
}

h3{
	position:relative;
	padding:0.2em 0;
}

h3:after{
	content:"";
	display:block;
	height:5px;
	background:linear-gradient(to right,#6DA6D9,#1F4F7B);
	margin-left: initial;
    margin-right: initial;
	width: 100%;
	    margin-top: 0.2rem;
}

a {
    /* text-decoration: none; */
    text-decoration-color: transparent !important;
}

p {
	color: var(--wp--preset--color--vk-color-custom-1);
/* 	font-family: var(--serif); */
    font-display: swap;
}

/* .site-body-container.container {
    padding-left: 0;
    padding-right: 0;
} */

.sub-section {
    padding-left: 1rem;
    padding-right: 1rem;
}

.wp-block-vk-blocks-outer.vk_outer {
    max-width: 100%;
}

.mincho {
    font-family: var(--serif);
	letter-spacing: 0.05em;
}

.gap0 {
	gap: 0;
}

.gap1 {
    gap: 1rem;
}

.gap2 {
    gap: 2rem;
}

.gap3 {
    gap: 3rem;
}

.gap4 {
    gap: 4rem;
}

.gap5 {
    gap: 5rem;
}

aside.widget {
    margin-bottom: 0.75rem;
}

/***ヘッダー***/
.ltg-slide-text-title {
    display: flex;
    flex-direction: column;
    justify-content: center; /* 垂直中央揃え */
    align-items: flex-start; /* 左寄せ */
    height: 100%; /* 親要素が高さを持っている必要あり */
    margin-bottom: 1rem;
    text-shadow: 0 0 2px #fff;
}

.ltg-slide-text-title > div {
    background: white;
    margin-bottom: 0.5rem;
    padding: 0.25rem 0.25rem 0.25rem 0.5rem;
    display: inline-block;
    color: var(--wp--preset--color--vk-color-custom-1);
    font-size: 1.75rem;
    position: relative;
}

.ltg-slide-text-title > div:nth-child(2) {
    line-height: 1.25;
}

.ltg-slide-text-title span {
    color: var(--wp--preset--color--vk-color-custom-5);
    font-size: 2.25rem;
	line-height: 1.25;
}

a.btn.btn-ghost {
    background: linear-gradient(90deg, rgba(236, 90, 36, 1) 0%, rgba(236, 96, 38, 1) 50%, rgba(238, 114, 43, 1) 100%);
    color: white;
    border: none;
    font-size: 1.25rem;
	position: relative;
	padding: 0.5rem 3rem 0.5rem 1rem;
	font-weight: bold;
	text-shadow: none;
}

a.btn.btn-ghost:after {
	content: "";
    position: absolute;
    top: 50%;
    right: 0.75rem;
    transform: translateY(-50%);
    width: 1.25rem;
    height: 1.25rem;
    background-image: url("https://universalfilm.co.jp/wp-content/uploads/2025/05/btn-arrow.webp");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

a.btn.btn-ghost,.cta-mail-btn a {
  transition: opacity 0.3s ease; /* スムーズなアニメーション */
}

a.btn.btn-ghost:hover,.cta-mail-btn a:hover {
	filter: brightness(1.2);
}

@media (max-width: 768px) {
  h3.ltg-slide-text-title,a.btn.btn-ghost {
    display: none;
}
}

.header-btn div {
    display: flex !important;
    align-items: center !important;
}

/*3冠バッジ*/
.custom-fixed-page .cta-sec {
    display: none;
}

/***メニューカラー***/
.global-nav-list>li .global-nav-name {
    color: white;
}

/*ヘッダー右*/
p.tel {
    background: var(--wp--preset--color--vk-color-custom-1);
    border-radius: 5px;
    padding: 5px;
    text-align: center;
    height: 45px;
}

p.mail {
    color: white;
    background: var(--wp--preset--color--vk-color-custom-4);
    border-radius: 5px;
    padding: 5px;
    text-align: center;
    height: 45px;
}

p.tel a,p.mail a {
    text-decoration: none;
    color: white;
	font-size: 0.85rem;
}

.site-header-sub {
    margin-top: 1rem;
    display: flex;
}

aside#custom_html-2 {
    margin-left: auto;
}


/****ナビ****/
.global-nav {
    background: var(--wp--preset--color--vk-color-custom-1);
}

.global-nav, .header_scrolled .site-header {
    background: var(--wp--preset--color--vk-color-custom-1)!important;
}

.header_scrolled .global-nav {
    background: white;
    color: white;
}

.device-mobile .global-nav-list>li>a {
    color: white;
    font-weight: lighter;
}

.header_scrolled .global-nav .global-nav-list>li>a {
    color: #ffffff;
}

.device-mobile .global-nav-list>li .global-nav-name {
    font-size: 0.8rem;
}

/****モバイルナビ****/
div#modal-2 {
    background: #f9fcfff0;
}

/****ハンバーガーメニュー****/
.vk-mobile-nav-menu-btn {
  text-indent: 2px;
  font-size: 10px;
  padding-top: 26px;
  overflow: visible;
  border: none;
  background-position: top;
  height: 40px;
}
.vk-mobile-nav-menu-btn.menu-open {
  border: none;
}
.vk-mobile-nav {
  padding-top: 50px;
}

/****CTA****/
.cta-tel p img {
    margin-right: 5px;
}

.cta-tel-sec div p {
    line-height: 1.1;
}

/*メニュー右サイド*/
table.eigyou span {
    background: var(--wp--preset--color--vk-color-custom-4);
    padding: 2px 10px;
    border-radius: 2px;
    color: white;
    display: block;
    margin-right: 5px;
}

table.eigyou th span {
    background: var(--wp--preset--color--vk-color-custom-4);
}

.otoiawase {
    margin-left: 1.5rem;
}

a.otoiawase-btn01 {
    display: block;
    text-align: center;
    color: white;
	background-color: #F36C22;
    padding: .5rem;
}
a.otoiawase-btn02{
    display: block;
    text-align: center;
    color: white;
	background-color: #329315;
    padding: .5rem;
}

table.eigyou {
    border: transparent;
	width: auto;
}

table.eigyou td, table.eigyou th {
    padding: 0;
}

table.eigyou th {
    text-align: right;
	color: var(--wp--preset--color--vk-color-custom-4);
}

.otoiawase p.tel {
    color: var(--wp--preset--color--vk-color-custom-4);
    font-size: 1.5rem;
    font-weight: bold;
	line-height: 1.2;
}

.otoiawase p {
    color: var(--wp--preset--color--vk-color-custom-3);
    text-align: left;
}

.site-header-sub .contact-btn a {
    border-radius: 0;
}

/****お客様の声****/
span.vk_post_imgOuter_singleTermLabel {
    background-color: var(--wp--preset--color--vk-color-custom-1)!important;
}

/****フォーム****/
span.required-text {
    color: red;
    display: block;
}

.contact_info tr {
    display: flex;
    flex-wrap: wrap;
}

.contact_info tr th {
    width: 35%;
    padding: 1rem;
    background-color: var(--wp--preset--color--vk-color-custom-2);
    margin: 0 0 10px 0;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact_info tr td {
    width: 65%;
    padding: 1rem;
    background-color: #F3F3F3;
    margin: 0 0 10px 0;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
	display: flex;
    align-items: center;
}

.contact_info tr.text-aria td {
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* ← これが左寄せ */
    align-content: flex-start; /* オプション（複数行対応） */
}

.contact_info tr.text-aria td p {
    margin-bottom: 0;
}

td.name {
    display: flex;
    gap: 1rem;
}

@media screen and (max-width:480px) { 
	.contact_info tr th,.contact_info tr td {
    width: 100%;
    margin-bottom: 0;		
}
	.contact_info tr {
    margin-bottom: 1rem;
}
	.mw_wp_form .horizontal-item:nth-of-type(3) {
    margin-left: 0;
}
	.contact_info tr.required.checkbox td {
    display: inline-block;
}
}

input.conf-btn {
    background: var(--wp--preset--color--vk-color-custom-4);
    border: none;
}

div#submit {
    display: flex;
    gap: 1rem;
    justify-content: center;
}

/* MW WP Form の確認画面でメッセージを非表示にする */
.mw_wp_form_confirm .form-message {
    display: none;
}

body.post-name-contact-us .following-contents {
    display: none !important;
}

/****フッター****/
.footer-nav a span {
    color: white;
}

.footer-cta-tel a{
	line-height: 1;
}

div#modal-13 {
    background: rgb(255 255 255 / 95%);
}

div#modal-13-content ul li a span.wp-block-navigation-item__label{
    color: var(--wp--preset--color--vk-color-custom-1);
}

/*追従ボタン*/
.following-contents {
	display: none;
    position: fixed;
    right: 0;
    top: 30%;
}

a.following-btn {
    padding: 30px 10px;
    color: white;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-size: 1.5rem;
    border-radius: 5px 0 0 5px;
	display: block;
}

.shiryou-btn {
    background: var(--wp--preset--color--vk-color-custom-4);
	margin-bottom: 10px;
}

.raiten-btn {
   background: #55a54d;
}

a.following-btn a i {
    padding-bottom: 5px;
}

@media screen and (max-width:480px) { 
	.following-contents {
    display: none;
    position: fixed;
    right: 0;
    top: inherit;
    bottom: 0;
    width: 100%;
    left: 0;
	display: flex!important;
	z-index: 999;
}
	
	.following-content {
    width: 100%;
}
	
a.following-btn {
    padding: 10px;
    color: white;
    font-size: 1.25rem;
    border-radius: 0;
    display: inline-block;
    width: 100%;
    text-align: center;
	writing-mode: inherit;
}	
.shiryou-btn {
    margin-bottom: 0;
}
	a.following-btn a i {
    padding-bottom: 0px;
	padding-right:5px;	
}
	
a#page_top {
    display: none;
}
}