/*
Theme Name: SHUKO ITO Atlier
Template: lightning
Version: 14.13.6
*/


:root{
	--main-color: #500000;
	--sub-color: #696969;
}

/* ページ共通 --------------------------------------------------------------------------- */
.vk-mobile-nav-menu-btn {
	width: 50px;
	height: 50px;
	border: none;
	border-radius: 5px;
	background-color: #dbdbdb;
	background-size: 40px;
}
.vk-mobile-nav {
	padding-top: 60px;
}
.section_title {
	text-align: center;
}
.section_title h2 {
	font-size: 75px;
	margin-bottom: 0;
	color: var(--main-color);
}
.section_title h3 {
	color: var(--main-color);
}
.section_inner h4 {
	font-size: 40px;
	text-align: center;
	position: relative;
	z-index: 0;
	overflow: hidden;
	color: var(--main-color);
}
.section_inner h4 span {
	padding: 20px;
	font-size: 40px;
	text-align: center;
	position: relative;
	z-index: 0;
}
.section_inner h4 span::before {
    content: "";
    display: block;
    position: absolute;
    border-bottom: 2px solid var(--main-color);
	width: 100px;
	top: 50%;
	transform: translateY(-50%);
	z-index: -1;
	left: -100px;
}
.section_inner h4 span::after {
	content: "";
	display: block;
	position: absolute;
	border-bottom: 2px solid var(--main-color);
	width: 100px;
	top: 50%;
	transform: translateY(-50%);
	z-index: -1;
	right: -100px;
}
.section_inner > p {
	text-align: center;
	letter-spacing: .1em;
}
@media(max-width:991px){
	.home .site-header {
		position: absolute;
	}
	.ltg-slide picture img {
		height: 100vh;
		width: auto;
		object-fit: cover;
	}
	.section_title h2 {
		font-size: 3.5rem;
	}
	.section_title h3 {
		font-size: 16px;
	}
	.section_inner h4 span {
		font-size: 23px;
		padding: 10px;
	}
	.section_inner > p {
		text-align: left;
	}
}


/* ABOUT 当社について --------------------------------------------------------------------------- */
.about_section,
.message_section {
	margin: 0 calc(50% - 50vw) 100px;
}
.about_section_top,
.message_section_top {
	position: relative;
}
.about_section_top div:first-child,
.message_section_top div:first-child {
	position: absolute;
	left: 0;
	background: #fff;
	padding: 20px 30px;
	top: 50%;
	transform: translateY(-50%);
	margin-left: 50px;
}
.about_section_top div:first-child h2,
.message_section_top div:first-child h2 {
	font-size: 60px;
	margin-bottom: 5px;
	color: var(--main-color);
	line-height: 1em;
}
.about_section_top div:first-child h3,
.message_section_top div:first-child h3 {
	color: var(--main-color);
	margin-bottom: 0;
}
.about_section_top div:last-child,
.message_section_top div:last-child {
	text-align: right;
}
.about_section_top div:last-child img,
.message_section_top div:last-child img {
	width: 80%;
}

.about_section_bottom,
.message_section_bottom {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	margin-top: -100px;
}
.about_section_bottom > div,
.message_section_bottom > div {
	padding-left: 50px;
	padding-right: 50px;
	width: 50%;
	position: relative;
}
.about_section_bottom > div:first-child h3,
.message_section_bottom > div:first-child h3 {
	background-color: var(--main-color);
	color: #fff;
	font-size: 30px;
	padding: 15px 30px;
}
.about_section_bottom > div:last-child > div,
.message_section_bottom > div:last-child > div {
	background-color: var(--sub-color);
	color: #fff;
	padding: 30px 40px;
	font-size: 14px;
	letter-spacing: .1em;
	line-height: 2.2;
}
.about_section_bottom > div:last-child > div > p:last-child,
.message_section_bottom > div:last-child > div > p:last-child {
	margin-bottom: 0;
}
@media(max-width:991px){
	.about_section_top div:first-child,
	.message_section_top div:first-child {
		position: unset;
		padding: 20px 30px;
		transform: none;
		text-align: center;
		margin-left: 0;
	}
	.about_section_top div:first-child h2,
	.message_section_top div:first-child h2 {
		font-size: 3.5rem;
	}
	.about_section_top div:first-child h3,
	.message_section_top div:first-child h3 {
		font-size: 16px;
	}
	.about_section_top div:last-child img,
	.message_section_top div:last-child img {
		width: 100%;
		display: block;
	}
	.about_section_bottom,
	.message_section_bottom {
		margin-top: 0;
	}
	.about_section_bottom > div,
	.message_section_bottom > div {
		padding-left: 0;
		padding-right: 0;
		width: 100%;
	}
	.about_section_bottom > div:first-child h3,
	.message_section_bottom > div:first-child h3 {
		margin-bottom: 0;
		font-size: 22px;
	}
	.about_section_bottom > div:last-child > div,
	.message_section_bottom > div:last-child > div {
		padding: 30px;
	}
}


/* SERVICE 事業紹介 --------------------------------------------------------------------------- */
.service_section {
	max-width: 80vw;
	margin: 0 auto 100px;
}
.s_box {
	display: flex;
	justify-content: center;
	margin-bottom: 50px;
	flex-wrap: wrap;
	margin-left: -20px;
	margin-right: -20px;
}
.s_box > div {
	width: 50%;
	padding-left: 20px;
	padding-right: 20px;
}
.s_box > div > div {
	background-color: var(--sub-color);
	height: 100%;
}
.s_box > div > div > div > img {
	display: block;
}
.s_box > div > div > h5 {
	padding: 20px;
	background-color: var(--main-color);
	color: #fff;
	min-height: 5rem;
	display: flex;
	align-items: center;
}
.s_box > div > div > p {
	padding: 0 20px;
	color: #fff;
	line-height: 2rem;
	font-size: 14px;
	letter-spacing: .1em;
	text-align: justify;
}
.insulation_box {
	margin: 50px calc(50% - 50vw);
	padding: 50px calc(50vw - 50%);
	background: radial-gradient(#fff 50%,#ccc 50%);
	background-size: 3px 3px;
}
.insulation_box > div {
	letter-spacing: .1em;
	text-align: justify;
}
.insulation_box > div > img {
	display: block;
}
.insulation_box > div:last-child {
	background-color: var(--sub-color);
	color: #fff;
	padding: 30px;
}
@media(max-width:767px){
	.service_section {
		max-width: 100%;
	}
	.s_box {
		margin-left: 0;
		margin-right: 0;
	}
	.s_box > div {
		width: 100%;
		margin-bottom: 30px;
		padding-left: 0;
		padding-right: 0;
		
	}
	.insulation_box > div {
		max-width: 100%;
	}
}


/* FAQ よくある質問 --------------------------------------------------------------------------- */
.faq_section {
	max-width: 80vw;
	margin: 0 auto 100px;
}
.faq_section h4 {
	color: var(--main-color);
	font-size: 24px;
	line-height: 1.5;
	letter-spacing: .09em;
	font-weight: bold;
	margin-bottom: 10px;
	position: relative;
}
.faq_section h4::before,
.faq_section h4::after,
.faq_section h4 span::before,
.faq_section h4 span::after {
	content: "";
	display: block;
	position: absolute;
	background: var(--main-color);
}
.faq_section h4::before {
	width: 40px;
	height: 1px;
	left: -5px;
	top: 0;
}
.faq_section h4::after {
	width: 1px;
	height: 40px;
	left: 0;
	top: -5px;
}
.faq_section h4 span {
	padding: 15px 22px;
	position: relative;
	display: inline-block;
}
.faq_section h4 span::before {
	width: 40px;
	height: 1px;
	right: -5px;
	bottom: 0;
}
.faq_section h4 span::after {
	width: 1px;
	height: 40px;
	right: 0;
	bottom: -5px;
}
.faq_section > p {
	margin-top: 2.6%;
	padding: 25px;
	color: #fff;
	background: var(--sub-color);
	line-height: 1.8;
	letter-spacing: .1em;
}
@media(max-width:767px){
	.faq_section {
		max-width: 100%;
	}
}

/* COMPANY 会社概要 --------------------------------------------------------------------------- */
.company_section {
	margin-bottom: 100px;
}
.company_section dl {
	display: flex;
	flex-wrap: wrap;
	max-width: 70%;
	margin: 0 auto;
}
.company_section dt {
	width: 30%;
	background-color: #eee;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 20px;
}
.company_section dd {
	width: 70%;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 20px;
	margin-bottom: 0.5em;
}
@media(max-width:991px){
	.company_section dl {
		max-width: 100%;
	}
}

/* お問い合わせ --------------------------------------------------------------------------- */
.contact_section {
	max-width: 80vw;
	margin: 0 auto;
}
.contact_section > p {
	text-align: center;
}
.wpcf7-form.init {
	padding: 30px 100px;
	background-color: #eee;
}
.contact_section dt,
.contact_section dd {
	font-weight: 500;
	margin-bottom: 1em;
}
.required,
.optional {
	padding: 7px 10px;
	font-size: 14px;
	margin-right: 10px;
	color: #fff;
}
.required {
	background-color: var(--main-color);
}
.optional {
	background-color: #ccc;
}

.contact_check{
	height: 300px;
	overflow: scroll;
	border: 1px solid #ccc;
	padding: 20px 30px;
	background-color: #fffef5;
}
.contact_check h3 {
	text-align: center;
}
.contact_check h4 {
  border-bottom: 1px solid #ccc;
  padding-bottom: 10px;
}


ol.sec_no {
	/*margin-left: 3.5em;*/ /* サイトに合せて調整 */
}
ol.sec_no > li {
	list-style-type: none;
	counter-increment: cnt;
	position: relative;
}
ol.sec_no > li:before {
	content: "(" counter(cnt) ")";
	display: inline-block;
	margin-left: -3.2em; /* サイトに合せて調整 */
	width: 3em; /* サイトに合せて調整 */
	text-align: right;
	position: absolute;
	top: 0;
	left: 0;
}
.your-acceptance {
	display: block;
	text-align: center;
	margin-top: 20px;
}
input[type="submit"].wpcf7-submit {
	display: block;
	margin: 0 auto;
	border-radius: 0;
	width: 250px;
	padding: 20px;
	background-color: #fff;
	color: var(--main-color);
	border: 2px solid var(--main-color);
	transition: 0.2s;
}
input[type="submit"].wpcf7-submit:hover {
	background-color: var(--main-color);
	color: #fff;
}
@media(max-width:767px){
	.contact_section {
		max-width: 100%;
	}
	.contact_section > p {
		font-size: 12px;
	}
	.wpcf7-form.init {
		padding: 30px 30px;
		background-color: #eee;
	}
}

/* スクロールスライドイン */
.scroll_effect {
	opacity: 0;
	transition: opacity 1.5s, transform 1.5s;
}
.scroll_effect.is-animated {
	opacity: 1;
	position: relative;
/* 	overflow: hidden; */
}
.scroll_effect.up_in {
	transform: translateY(100px);
}
.scroll_effect.fall_in {
	transform: translateY(-100px);
}
.scroll_effect.left_in {
    transform: translateX(100px);
}
.scroll_effect.right_in {
    transform: translateX(-100px);
}
.scroll_effect.is-animated {
	transform: translate3d(0, 0, 0);
}