@charset "UTF-8";
/*========================*/

/* PARTS */

/*========================*/
/*========================*/
/* SVG */
/*========================*/



/*-----------------------*/
/* パーツ
/*-----------------------*/
/*---------------*/
/* テキスト設定 */
/* headline */
.headline{
	font-family: var(--alphabet);
	font-size: var(--txt-xl--fb);
	font-size: var(--txt-xl);
	letter-spacing: 0.025em;
	line-height: 1.2;
}
/* リード */
.lead{
	display: block;
	font-size: var(--txt-lg--fb);
	font-size: var(--txt-lg);
	padding-bottom: 0.8em;
	position: relative;
}
.lead::before{
	content: "";
	display: block;
	width: 4em;
	height: 2px;
	background-color: var(--color-main-soft);

	position: absolute;
	left: 0;
	bottom: 0;
}
/* テキスト */
.txt{
	font-size: var(--txt-reg--fb);
	font-size: var(--txt-reg);
	line-height: 1.75;
	text-align: justify;
}
/*------------------------------*/
/* button */
a.button{
	padding: 1em;
	width: calc(240rem/16);
	max-width: 100%;
	background-color: var(--color-main-soft);
	border: solid 1px var(--color-main-soft);
	border-radius: 4px;

	font-size: var(--txt-reg--fb);
	font-size: var(--txt-reg);
	color: var(--color-white);
	font-family: var(--alphabet);
	letter-spacing: 0.15em;

	transition: background-color .2s var(--linear),
	color .2s var(--linear);

	display: flex;
	align-items: center;
	justify-content: center;
}
/*-----------------------*/
/* hover設定 */
/*-----------------------*/
@media(any-hover:hover){
    a.button:hover,
    a.button:focus{
    	background-color: transparent;
		color: var(--color-main-soft);
    }
}



/*-------------------------------*/
/* 下層ページネーム
/*-------------------------------*/
:root{
	/* px to rem max40px min32px */
	--page-name-font-size--fb: calc(40rem/16);
	--page-name-font-size: clamp(2rem, 1.833rem + 0.83vw, 2.5rem);
}
.page-name__headline{
	font-size: var(--page-name-font-size--fb);
    font-size: var(--page-name-font-size);
	font-family: var(--alphabet);
	color: var(--color-white);
}
/*==============================
ブレイクポイント
==============================*/
@media(max-width: 959px){
	.page-name__headline{
		--page-name-font-size--fb: calc(36rem/16);
	}
}
@media(max-width: 559px){
	.page-name__headline{
		--page-name-font-size--fb: calc(32rem/16);
	}
}



/*-------------------------------*/
/* 下層ヒーローイメージ
/*-------------------------------*/
#lower-hero{
	padding-top: var(--header-height);
    width: 100%;
    height: 50vw;
    min-height: calc(280rem/16);
    max-height: calc(560rem/16);
	
    background-repeat: no-repeat;
    background-size: cover;

    display: flex;
    align-items: center;
    justify-content: center;
}
/*-------------------------------*/
/* SERVICE */
.service-mainImg__wrapper{
    background-image: url(../../images/service/main/main_service.jpg);
    background-position: center;
}
@media(max-width: 559px){
	.service-mainImg__wrapper{
		background-image: url(../../images/service/main/main_service_sm.jpg);
		background-position: center;
	}
}
/*-------------------------------*/
/* ABOUT */
.about-mainImg__wrapper{
    background-image: url(../../images/about/main/main_about.jpg);
    background-position: left center;

	position: relative;
}
.about-mainImg__wrapper::before{
	content: "";
	display: block;
	background-color: rgba(0, 0, 0, 0.3);
	width: 100%;
	height: 100%;

	position: absolute;
	top: 0;
	left: 0;
}
@media(max-width: 959px){
	.about-mainImg__wrapper{
		background-image: url(../../images/about/main/main_about_tab.jpg);
		background-position: center center;
	}
}
@media(max-width: 559px){
	.about-mainImg__wrapper{
		background-image: url(../../images/about/main/main_about_sm.jpg);
		background-position: center top;
	}
}
/*-------------------------------*/
/* COMPANY */
.company-mainImg__wrapper{
    background-image: url(../../images/company/main/main_company.jpg);
    background-position: center 30%;
}
@media(max-width: 959px){
	.company-mainImg__wrapper{
		background-image: url(../../images/company/main/main_company_tab.jpg);
		background-position: center center;
	}
}
@media(max-width: 559px){
	.company-mainImg__wrapper{
		background-image: url(../../images/company/main/main_company_sm.jpg);
		background-position: center 60%;
	}
}
/*-------------------------------*/
/* CONTACT */
.contact-mainImg__wrapper{
	background-image: url(../../images/contact/main_contact.jpg);
    background-position: center 30%;
}
@media(max-width: 959px){
	.contact-mainImg__wrapper{
		background-image: url(../../images/contact/main_contact_tab.jpg);
		background-position: center center;
	}
}
@media(max-width: 559px){
	.contact-mainImg__wrapper{
		background-image: url(../../images/contact/main_contact_sm.jpg);
		background-position: center center;
	}
}
/*-------------------------------*/
/* PRIVACY POLICY */
.privacy-mainImg__wrapper{
	background-image: url(../../images/privacy/main_privacy.jpg);
    background-position: center 80%;
}
@media(max-width: 959px){
	.privacy-mainImg__wrapper{
		background-image: url(../../images/privacy/main_privacy_tab.jpg);
		background-position: center center;
	}
}
@media(max-width: 559px){
	.privacy-mainImg__wrapper{
		background-image: url(../../images/privacy/main_privacy_sm.jpg);
		background-position: center center;
	}
}