@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');





/**
 * 共通
 */
html,
body{
	scroll-behavior: smooth;
	position: relative;
	font-family: 'Zen Maru Gothic', serif;
	font-style: normal;
	font-size: 16px;
	line-height: 2;
	color: #1a1a1a;
	/* Light 300, Regular 400, Medium 500, Bold 700, Black 900 */
	font-weight: 500;
	background-color: #fff;
}
html.ofh,
body.ofh{
	overflow: hidden!important;
}
.zenkaku{
	font-family: 'Zen Kaku Gothic New', sans-serif;
	/* Light 300, Regular 400, Medium 500, Bold 700, Black 900 */
	font-weight: 500;
	font-style: normal;
}
.poppins{
	font-family: "Poppins", sans-serif;
	/* Thin 100, ExtraLight 200, Light 300, Regular 400, Medium 500, SemiBold 600, Bold 700, ExtraBold 800, Black 900 */
	font-weight: 500;
	font-style: normal;
}
.inner{
	width: 90vw;
	margin: 0 auto;
}
.nonei{
	display: none!important;
}
.flex{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.fwn{
	flex-wrap: nowrap;
}
.jcsb{
	justify-content: space-between;
}
.jcc{
	justify-content: center;
}
.jce{
	justify-content: end;
}
.aifs{
	align-items: flex-start;
}
.aife{
	align-items: flex-end;
}
.ais{
	align-items: stretch;
}
.center{
	text-align: center;
}
.right{
	text-align: right;
}
.peni{
	pointer-events: none!important;
}
.vertical{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.text_ellipsis{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	-webkit-line-clamp: 1;
}
.pr{
	position: relative;
}
.pc_item{
	
}
.sp_item{
	display: none;
}
@media screen and (min-width: 1920px){
	.inner{
		width: 1728px;
	}
}
@media screen and (max-width: 768px){
	.pc_item{
		display: none;
	}
	.sp_item{
		display: block;
	}
}
section{
	position: relative;
}
svg{
	display: block;
	overflow: visible;
}
svg path,
svg circle,
svg polyline{ 
	vector-effect: non-scaling-stroke;
}





/**
 * 準共通
 */
h2.h2{
	padding-bottom: 80px;
}
h2.h2 span,
h1.h1 span.en,
h1.h1 span.jp{
	display: block;
	font-size: 16px;
	letter-spacing: calc(16px * 0.1);
	font-weight: 400;
	padding-left: 20px;
}
h2.h2 span.jp{
	color: #e6194d;
	font-weight: 500;
}
h2.h2 p.jcc span.jp{
	padding-left: 0;
}
h2.h2 span:before,
h1.h1 span.en:before{
	position: absolute;
	content: '';
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	background-color: #e6194d;
	border-radius: 100%;
}
h2.h2 span.jp:before{
	display: none;
}
section.company h2.h2 span,
section.lowerpage_company h1.h1 span,
section.company_cp h2.h2 span{
	color: #fff;
}
section.company h2.h2 span:before,
section.lowerpage_company h1.h1 span:before,
section.company_cp h2.h2 span:before{
	background-color: #fff;
}
p.viewmore a{
	display: block;
	width: 200px;
	font-size: 16px;
	letter-spacing: calc(16px * 0.1);
	font-weight: 400;
	padding-bottom: 1px;
}
p.viewmore a.flex{
	display: flex;
}
p.viewmore a.flex span{
	display: block;
	margin-right: calc(16px * (1/2));
}
p.viewmore a.flex span:last-child{
	margin-right: 0;
}
p.viewmore a:before,
p.viewmore a:after{
	position: absolute;
	content: '';
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
}
p.viewmore a:before{
	background-color: #ebebeb;
}
p.viewmore a:after{
	transform: scale(0.2, 1);
	transform-origin: left center;
	background-color: #e6194d;
	transition: .8s;
}
p.viewmore a:hover:after{
	transform: scale(1, 1);
}
section.company p.viewmore a,
section.contact p.viewmore a{
	color: #fff;
}
section.company p.viewmore a:before,
section.contact p.viewmore a:before{
	background-color: rgba(255, 255, 255, 0.5);
}
section.company p.viewmore a:after,
section.contact p.viewmore a:after{
	background-color: rgba(255, 255, 255, 1);
}
@media screen and (max-width: 768px){
	h2.h2{
		padding-bottom: 20.51vw;
	}
	h2.h2 span,
	h1.h1 span.en,
	h1.h1 span.jp{
		font-size: 3.59vw;
		letter-spacing: calc(3.59vw * 0.1);
		padding-left: calc(3.59vw * (20/16));
	}
	h2.h2 span:before,
	h1.h1 span.en:before{
		width: calc(3.59vw * (8/16));
		height: calc(3.59vw * (8/16));
	}
	p.viewmore a{
		width: calc(3.59vw * (200/16));
		font-size: 3.59vw;
		letter-spacing: calc(3.59vw * 0.1);
	}
	p.viewmore a.flex span{
		margin-right: calc(3.59vw * (1/2));
	}
}





/**
 * header
 */
header.site_header{
	position: fixed;
	top: 0;
	left: 50%;
	transform: translate(-50%, 0);
	width: 100%;
	padding: calc((80px - (200px * (30/200))) / 2) 0;
	z-index: 200;
}
header.site_header .brave{
	width: 200px;
	height: calc(200px * (30/200));
}
header.site_header .brave a,
header.site_header .brave a img{
	display: block;
}
header.site_header .brave a,
header.site_header .brave a img{
	width: 100%;
	height: 100%;
}
header.site_header .nav_btn{
	display: none;
}
@media screen and (max-width: 768px){
	header.site_header{
		padding: calc((16.41vw - (30.77vw * (30/200))) / 2) 0;
	}
	header.site_header .brave{
		width: 30.77vw;
		height: calc(30.77vw * (30/200));
	}
	header.site_header .nav_btn{
		display: block;
		position: absolute;
		top: 50%;
		right: 0;
		transform: translate(0, -50%);
		width: 7.18vw;
		height: 7.18vw;
	}
	header.site_header .nav_btn span{
		display: block;
		position: absolute;
		left: 50%;
		transform-origin: right center;
		width: 6.15vw;
		height: 1px;
		background-color: #fff;
		border-radius: 1px;
		transition: .4s;
	}
	header.site_header .nav_btn.black span{
		background-color: #1a1a1a;
	}
	header.site_header .nav_btn span:nth-child(1){
		top: calc(50% - 2.05vw);
		transform: translate(-50%, -50%);
	}
	header.site_header .nav_btn span:nth-child(2){
		top: 50%;
		transform: translate(-50%, -50%) scale(.75, 1);
	}
	header.site_header .nav_btn span:nth-child(3){
		top: calc(50% + 2.05vw);
		transform: translate(-50%, -50%) scale(.5, 1);
	}
	header.site_header .nav_btn.act span{
		background-color: #e6194d;
		transform-origin: center;
	}
	header.site_header .nav_btn.act span:nth-child(1){
		top: calc(50% - 0vw);
		transform: translate(-50%, -50%) rotate(45deg);
	}
	header.site_header .nav_btn.act span:nth-child(2){
		transform: translate(-50%, -50%) scale(0, 1);
	}
	header.site_header .nav_btn.act span:nth-child(3){
		top: calc(50% + 0vw);
		transform: translate(-50%, -50%) scale(1, 1) rotate(135deg);
	}
}





/**
 * section
 * footer
 */
section.footer{
	padding: 80px 0 40px 0;
	background-color: #fff;
	overflow: hidden;
}
section.footer .txts a.logo,
section.footer .txts a.logo img{
	display: block;
}
section.footer .txts a.logo{
	width: 200px;
	height: calc(200px * (30 / 200));
	margin-bottom: 20px;
}
section.footer .txts a.logo img{
	width: 100%;
	height: 100%;
}
section.footer .txts p.address_txts,
section.footer .txts p.privacypolicy{
	margin-bottom: 20px;
}
section.footer .txts p.address_txts span.address_txt,
section.footer .txts p.privacypolicy a,
section.footer .txts p.profile a{
	display: block;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
}
section.footer .txts p.address_txts span.address_txt .poppins{
	font-weight: 300;
}
section.footer .txts p.privacypolicy a,
section.footer .txts p.profile a{
	color: #e6194d;
}
section.footer ul.link_lists li{
	margin-bottom: 28px;
}
section.footer ul.link_lists li:last-child{
	margin-bottom: 0;
}
section.footer ul.link_lists li a,
section.footer ul.link_lists li a img,
section.footer ul.link_lists li span,
section.footer ul.link_lists li span img{
	display: block;
}
section.footer ul.link_lists li a.logo__sfida,
section.footer ul.link_lists li span.logo__sfida{
	width: calc(147px * (6/6));
	height: calc((147px * (6/6)) * (41/147));
}
section.footer ul.link_lists li a.logo__egg,
section.footer ul.link_lists li span.logo__egg{
	width: calc(200px * (6/6));
	height: calc((200px * (6/6)) * (32/200));
}
section.footer ul.link_lists li a.logo__mogumogufarm,
section.footer ul.link_lists li span.logo__mogumogufarm{
	width: calc(162px * (6/6));
	height: calc((162px * (6/6)) * (38/162));
}
section.footer ul.link_lists li a.logo__bistroaoi,
section.footer ul.link_lists li span.logo__bistroaoi{
	width: calc(166px * (5/6));
	height: calc((166px * (5/6)) * (38/166));
}
section.footer ul.link_lists li a.logo__mabataki,
section.footer ul.link_lists li span.logo__mabataki{
	width: calc(180px * (5/6));
	height: calc((180px * (5/6)) * (34/180));
}
section.footer ul.link_lists li a.logo__novae,
section.footer ul.link_lists li span.logo__novae{
	width: calc(186px * (3/6));
	height: calc((186px * (3/6)) * (34/186));
}
section.footer ul.link_lists li a.logo__jimjamie,
section.footer ul.link_lists li span.logo__jimjamie{
	width: calc(84px * (4/6));
	height: calc((84px * (4/6)) * (74/84));
}
section.footer ul.link_lists li a.logo__theflwrs,
section.footer ul.link_lists li span.logo__theflwrs{
	width: calc(184px * (4/6));
	height: calc((184px * (4/6)) * (34/184));
}
section.footer ul.link_lists li a img,
section.footer ul.link_lists li span img{
	width: 100%;
	height: 100%;
}
section.footer p.copyright{
	font-size: 12px;
	font-weight: 400;
	line-height: 1.5;
	margin-top: 40px;
}
@media screen and (max-width: 768px){
	section.footer{
		padding: 20.51vw 0 10.26vw 0;
	}
	section.footer .txts{
		width: 100%;
		order: 2;
	}
	section.footer .txts a.logo{
		width: 41.03vw;
		height: calc(41.03vw * (30 / 200));
		margin: 0 auto 10.26vw auto;
	}
	section.footer .txts p.address_txts,
	section.footer .txts p.privacypolicy{
		text-align: center;
		margin-bottom: 5.13vw;
	}
	section.footer .txts p.privacypolicy,
	section.footer .txts p.profile{
		justify-content: center;
	}
	section.footer .txts p.address_txts span.address_txt,
	section.footer .txts p.privacypolicy a,
	section.footer .txts p.profile a{
		font-size: 3.59vw;
	}
	section.footer ul.link_lists{
		width: 100%;
		margin-bottom: 20.51vw;
		order: 1;
	}
	section.footer ul.link_lists li{
		justify-content: center;
		margin-bottom: 7.18vw;
	}
	section.footer ul.link_lists li a.logo__sfida,
	section.footer ul.link_lists li span.logo__sfida{
		width: calc(30.77vw * (6/6));
		height: calc((30.77vw * (6/6)) * (41/147));
	}
	section.footer ul.link_lists li a.logo__egg,
	section.footer ul.link_lists li span.logo__egg{
		width: calc((30.77vw * (200/147)) * (6/6));
		height: calc(((30.77vw * (200/147)) * (6/6)) * (32/200));
	}
	section.footer ul.link_lists li a.logo__mogumogufarm,
	section.footer ul.link_lists li span.logo__mogumogufarm{
		width: calc((30.77vw * (162/147)) * (6/6));
		height: calc(((30.77vw * (162/147)) * (6/6)) * (38/162));
	}
	section.footer ul.link_lists li a.logo__bistroaoi,
	section.footer ul.link_lists li span.logo__bistroaoi{
		width: calc((30.77vw * (166/147)) * (5/6));
		height: calc(((30.77vw * (166/147)) * (5/6)) * (38/166));
	}
	section.footer ul.link_lists li a.logo__mabataki,
	section.footer ul.link_lists li span.logo__mabataki{
		width: calc((30.77vw * (180/147)) * (5/6));
		height: calc(((30.77vw * (180/147)) * (5/6)) * (34/180));
	}
	section.footer ul.link_lists li a.logo__novae,
	section.footer ul.link_lists li span.logo__novae{
		width: calc((30.77vw * (186/147)) * (3/6));
		height: calc(((30.77vw * (186/147)) * (3/6)) * (34/186));
	}
	section.footer ul.link_lists li a.logo__jimjamie,
	section.footer ul.link_lists li span.logo__jimjamie{
		width: calc((30.77vw * (84/147)) * (4/6));
		height: calc(((30.77vw * (84/147)) * (4/6)) * (74/84));
	}
	section.footer ul.link_lists li a.logo__theflwrs,
	section.footer ul.link_lists li span.logo__theflwrs{
		width: calc((30.77vw * (184/147)) * (4/6));
		height: calc(((30.77vw * (184/147)) * (4/6)) * (34/184));
	}
	section.footer p.copyright{
		font-size: 3.08vw;
		text-align: center;
		margin-top: 10.26vw;
	}
}





/**
 * section
 * renewal
 */
section.renewal{
	padding: 240px 0 120px 0;
	background-color: #fff;
	overflow: hidden;
}
section.renewal .contents .txts{
	margin-bottom: 40px;
}
section.renewal .contents .txts h1{
	margin-bottom: 20px;
}
section.renewal .contents .txts h1 span{
	display: block;
	font-size: 40px;
	color: #e6194d;
	letter-spacing: calc(40px * 0.1);
	font-weight: 300;
	line-height: 2;
}
section.renewal .contents .txts p span{
	display: block;
	font-size: 16px;
	letter-spacing: calc(16px * 0.1);
	font-weight: 400;
	line-height: 3;
}
section.renewal .contents .contact p span.contact_tel{
	display: block;
	font-size: 24px;
	font-weight: 400;
}
section.renewal.error .contents .contact{
	margin-bottom: 40px;
}
section.renewal .contents .contact p span.contact_txt{
	display: block;
	font-size: 12px;
	letter-spacing: calc(12px * 0.1);
	font-weight: 400;
}
section.renewal .contents .contact p span.contact_txt span.poppins{
	letter-spacing: 0;
	font-weight: 400;
}
@media screen and (max-width: 768px){
	section.renewal{
		padding: 61.54vw 0 30.77vw 0;
	}
	section.renewal .contents .txts{
		margin-bottom: 10.26vw;
	}
	section.renewal .contents .txts h1{
		margin-bottom: 5.13vw;
	}
	section.renewal .contents .txts h1 span{
		font-size: 7.18vw;
		letter-spacing: calc(7.18vw * 0.1);
	}
	section.renewal .contents .txts p span{
		font-size: 3.59vw;
		letter-spacing: calc(3.59vw * 0.1);
		line-height: 2.5;
	}
	section.renewal .contents .contact p span.contact_tel{
		font-size: 6.15vw;
	}
	section.renewal.error .contents .contact{
		margin-bottom: 10.26vw;
	}
	section.renewal .contents .contact p span.contact_txt{
		font-size: 3.08vw;
		letter-spacing: calc(3.08vw * 0.1);
	}
}





/**
 * section
 * contact_fi
 */
section.contact_fi{
	padding: 120px 0 240px 0;
	background-color: #fff;
	overflow: hidden;
}
section.contact_fi ul.form_lists{
	width: 480px;
	margin: 0 auto 40px auto;
}
section.contact_fi ul.form_lists{
	margin-bottom: 80px;
}
section.contact_fi ul.form_lists li.form_list{
	margin-bottom: 40px;
}
section.contact_fi ul.form_lists li.form_list:nth-child{
	margin-bottom: 0;
}
section.contact_fi ul.form_lists li.form_list dl dt{
	margin-bottom: 20px;
}
section.contact_fi ul.form_lists li.form_list dl dt h2 span,
section.contact_fi ul.form_lists li.form_list dl dt p.must span{
	display: block;
	font-size: 16px;
	letter-spacing: calc(16px * 0.1);
	font-weight: 500;
}
section.contact_fi ul.form_lists li.form_list dl dt p.must span{
	color: #e6194d;
}
section.contact_fi ul.form_lists li.form_list dl dd .inputitem{
	padding-bottom: 1px;
}
section.contact_fi ul.form_lists li.form_list dl dd .inputitem:before,
section.contact_fi ul.form_lists li.form_list dl dd .inputitem:after{
	position: absolute;
	content: '';
	bottom: 0;
	left: 0;
	height: 1px;
}
section.contact_fi ul.form_lists li.form_list dl dd .inputitem:before{
	width: 100%;
	background-color: #ebebeb;
}
section.contact_fi ul.form_lists li.form_list dl dd .inputitem:after{
	width: 40px;
	background-color: #e6194d;
	transition: .8s;
}
section.contact_fi ul.form_lists li.form_list dl dd .inputitem:has(input[type="text"]:hover):after,
section.contact_fi ul.form_lists li.form_list dl dd .inputitem:has(input[type="text"]:focus):after,
section.contact_fi ul.form_lists li.form_list dl dd .inputitem:has(input[type="text"].act):after,
section.contact_fi ul.form_lists li.form_list dl dd .inputitem:has(select:hover):after,
section.contact_fi ul.form_lists li.form_list dl dd .inputitem:has(select:focus):after,
section.contact_fi ul.form_lists li.form_list dl dd .inputitem:has(select.act):after,
section.contact_fi ul.form_lists li.form_list dl dd .inputitem:has(textarea:hover):after,
section.contact_fi ul.form_lists li.form_list dl dd .inputitem:has(textarea:focus):after,
section.contact_fi ul.form_lists li.form_list dl dd .inputitem:has(textarea.act):after{
	width: 100%;
}
section.contact_fi ul.form_lists li.form_list dl dd .inputitem input[type="text"],
section.contact_fi ul.form_lists li.form_list dl dd .inputitem select,
section.contact_fi ul.form_lists li.form_list dl dd .inputitem textarea{
	display: block;
	width: 100%;
	font-size: 16px;
	letter-spacing: calc(16px * 0.1);
	font-weight: 400;
	padding: calc(16px * (1/2)) 0;
	outline: none;
}
section.contact_fi ul.form_lists li.form_list dl dd .inputitem textarea{
	resize: none;
}
section.contact_fi ul.form_lists li.form_list dl dd .inputitem input[type="text"]::placeholder,
section.contact_fi ul.form_lists li.form_list dl dd .inputitem select,
section.contact_fi ul.form_lists li.form_list dl dd .inputitem textarea::placeholder{
	color: #afafaf;
}
section.contact_fi ul.form_lists li.form_list dl dd .inputitem select:focus,
section.contact_fi ul.form_lists li.form_list dl dd .inputitem select.act{
	color: #1a1a1a;
}
section.contact_fi .form_btn button{
	width: 480px;
}
section.contact_fi .form_btn button span{
	display: block;
	width: 100%;
	font-size: 16px;
	letter-spacing: calc(16px * 0.1);
	font-weight: 500;
	padding: calc(16px * (1/2)) 0 calc((16px * (1/2)) + 1px) 0;
	transition: .8s;
}
section.contact_fi .form_btn button:hover span{
	color: #e6194d;
}
section.contact_fi .form_btn button.peni span{
	color: #ebebeb;
}
section.contact_fi .form_btn button span:before,
section.contact_fi .form_btn button span:after{
	position: absolute;
	content: '';
	bottom: 0;
	left: 0;
	height: 1px;
}
section.contact_fi .form_btn button span:before{
	width: 100%;
	background-color: #ebebeb;
}
section.contact_fi .form_btn button span:after{
	width: 40px;
	background-color: #e6194d;
	transition: .8s;
}
section.contact_fi .form_btn button:hover span:after{
	width: 100%;
}
section.contact_fi .form_btn button.peni span:after{
	width: 0;
}
@media screen and (max-width: 768px){
	section.contact_fi{
		padding: 30.77vw 0 61.54vw 0;
	}
	section.contact_fi ul.form_lists{
		width: 100%;
		margin: 0 auto 10.26vw auto;
	}
	section.contact_fi ul.form_lists{
		margin-bottom: 20.51vw;
	}
	section.contact_fi ul.form_lists li.form_list{
		margin-bottom: 10.26vw;
	}
	section.contact_fi ul.form_lists li.form_list dl dt{
		margin-bottom: 5.13vw;
	}
	section.contact_fi ul.form_lists li.form_list dl dt h2 span,
	section.contact_fi ul.form_lists li.form_list dl dt p.must span{
		font-size: 4.1vw;
		letter-spacing: calc(4.1vw * 0.1);
	}
	section.contact_fi .form_btn button{
		width: 100%;
	}
}