@charset "utf-8";

/*		Contents
---------------------------------------------------------------------------

	HOME							[ / ]
	新着情報						[ /news/ ]
	お問い合わせ					[ /contact/ ]

------------------------------------------------------------------------ */

/* ========================================================================
	HOME							[ / ]
======================================================================== */
#home{
	padding:0;
	background:none;
	border-radius:0;
}
#home::before,
#home::after{ content:none; }

#home > div{
	position:relative;
	padding:0 3.125vw;
}

@media screen and (max-width:767px){
#home > div{
	padding:0 20px;
}
}


/* ----------------------------------------
	hero
---------------------------------------- */
#home .hero{
	padding:0 3.125vw;
	text-align:center;
}

#home .hero::before{
	content:"";
	position:absolute;
	top:-94px;
	right:0;
	width:472px;
	height:310px;
	background:url(../../img/home/bg_hero_before.png) no-repeat center;
}

#home .hero::after{
	content:"";
	position:absolute;
	bottom:-214px;
	left:0;
	width:788px;
	height:598px;
	background:url(../../img/home/bg_hero_after.png) no-repeat center;
}

@media screen and (max-width:767px){
#home .hero{
	padding:0 20px;
}

#home .hero::before{
	top:-90px;
	width:177px;
	height:117px;
	background-size:177px auto;
}

#home .hero::after{
	bottom:-60px;
	width:197px;
	height:150px;
	background-size:197px auto;
}
}


/* splide
---------------------------------------- */
#home .hero .splide{
	z-index:1;
}

#home .hero .splide img{
	border-radius:10.4166vw;
}

@media screen and (max-width:767px){
#home .hero .splide img{
	border-radius:13.3333vw;
}
}


/* ----------------------------------------
	shop
---------------------------------------- */
#home .shop{
	width:1200px;
	margin:0 auto;
	padding:100px 0;
}

#home .shop ul{
	display:flex;
}

#home .shop ul li{
	margin:0 0 0 90px;
}
#home .shop ul li:nth-child(1){ margin-left:0; }
#home .shop ul li:nth-child(2){ margin:0 100px 0 80px; }

@media screen and (max-width:767px){
#home .shop{
	width:auto;
	padding:50px 10px 30px;
}

#home .shop ul{
	flex-wrap:wrap;
	justify-content:center;
}

#home .shop ul li{
	width:33.33%;
	margin:0;
	padding:0 10px 20px;
	text-align:center;
}
#home .shop ul li:nth-child(1){ margin-left:1px; }
#home .shop ul li:nth-child(2){ margin:0; }
}


/* ----------------------------------------
	news
---------------------------------------- */
#home .news .inner{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	min-height:402px;
	padding-top:85px;
	padding-bottom:30px;
	background:url(../../img/home/bg_news.png) repeat-x center bottom #edf0f1;
	border-radius:30px;
}

#home .news h2{
	min-width:194px;
}

@media screen and (max-width:767px){
#home .news .inner{
	display:block;
	min-height:auto;
	padding-top:50px;
	padding-bottom:125px;
	background-position:left -140px bottom;
	background-size:850px 115px;
}

#home .news h2{
	min-width:auto;
	margin:0 0 40px 0;
}
}


/* widget_btn
---------------------------------------- */
#home .news .widget_btn{
	position:absolute;
	top:242px;
	left:5.2083vw;
	margin:0;
}

#home .news .widget_btn a{
	min-width:194px;
	min-height:70px;
	border-radius:10px;
}

@media screen and (max-width:767px){
#home .news .widget_btn{
	position:static;
}

#home .news .widget_btn a{
	min-width:auto;
	min-height:60px;
	width:100%;
	border-radius:5px;
}
}


/* ----------------------------------------
	philosophy
---------------------------------------- */
#home .philosophy{
	overflow:hidden;
}

#home .philosophy .inner{
	padding-top:180px;
	padding-bottom:240px;
}

#home .philosophy::before{
	content:"";
	position:absolute;
	top:600px;
	left:50%;
	transform:translateX(-50%);
	width:2134px;
	height:470px;
	background:url(../../img/home/bg_philosophy.png) no-repeat center;
}

#home .philosophy .inner{
	padding-right:2.5vw;
}

#home .philosophy h2{
	margin:0 0 70px 0;
}

@media screen and (max-width:767px){
#home .philosophy .inner{
	padding-top:50px;
	padding-bottom:50px;
}

#home .philosophy::before{
	top:50%;
	transform:translate(-50%,-50%);
	width:1067px;
	height:235px;
	background-size:cover;
}

#home .philosophy .inner{
	padding-right:20px;
}

#home .philosophy h2{
	margin:0 0 40px 0;
}

#home .philosophy .flex{
	display:block;
}
}


/* block
---------------------------------------- */
#home .philosophy .block{
	min-width:480px;
	width:32.8125vw;
	margin:0 4.6875vw 0 0;
}

#home .philosophy .block p{
	font-size:1.8rem;
	line-height:2;
}

#home .philosophy .block p.lead{
	margin:0 0 60px 0;
}

@media screen and (max-width:767px){
#home .philosophy .block{
	min-width:auto;
	width:auto;
	margin:0;
}

#home .philosophy .block p{
	margin:0 0 40px 0;
	font-size:1.6rem;
}

#home .philosophy .block p.lead{
	margin:0 0 40px 0;
}
}


/* img
---------------------------------------- */
#home .philosophy .img{
	flex:1;
}

#home .philosophy .img img{
	border-radius:7.8125vw;
}


/* ----------------------------------------
	outline
---------------------------------------- */
#home .outline::before{
	content:"";
	position:absolute;
	top:-135px;
	right:0;
	width:486px;
	height:378px;
	background:url(../../img/home/bg_outline_before.png) no-repeat center;
	z-index:1;
}

#home .outline::after{
	content:"";
	position:absolute;
	bottom:-356px;
	left:0;
	width:358px;
	height:560px;
	background:url(../../img/home/bg_outline_after.png) no-repeat center;
}

#home .outline .inner{
	padding-top:120px;
	padding-bottom:140px;
	background:#ffe9ea;
	border-radius:30px;
}

#home .outline h2{
	margin:0 0 68px 0;
}

#home .outline .flex{
	gap:0 1.5625vw;
	justify-content:space-between;
	align-items:stretch;
}

@media screen and (max-width:767px){
#home .outline::before{
	top:-20px;
	width:183px;
	height:142px;
	background-size:183px auto;
}

#home .outline::after{
	bottom:-70px;
	width:90px;
	height:140px;
	background-size:90px auto;
}

#home .outline .inner{
	padding-top:50px;
	padding-bottom:50px;
}

#home .outline h2{
	position:relative;
	margin:0 0 40px 0;
	z-index:2;
}

#home .outline .flex{
	display:block;
}
}


/* company
---------------------------------------- */
#home .outline .company{
	flex:1;
	padding:68px 3.125vw 110px;
	background:#ffffff;
	border-radius:20px;
}

#home .outline .company table th{
	min-width:120px;
	width:8.3333vw;
	padding:18px 0;
	border-bottom:2px solid #222222;
	text-align:center;
	font-weight:500;
}

#home .outline .company table td{
	position:relative;
	padding:18px 1.5625vw 18px 3.02083vw;
	border-bottom:2px solid #dbdbdb;
	font-weight:500;
}

#home .outline .company table td::before{
	content:"";
	position:absolute;
	bottom:-2px;
	left:0;
	width:1.45833vw;
	height:2px;
	background:#ffffff;
}

@media screen and (max-width:767px){
#home .outline .company{
	margin:0 0 40px 0;
	padding:20px 20px 40px;
	font-size:1.4rem;
}

#home .outline .company table th{
	min-width:auto;
	width:auto;
	padding:13px 10px;
	white-space:nowrap;
}

#home .outline .company table td{
	padding:13px 10px 13px 20px;
}

#home .outline .company table td::before{
	width:10px;
}
}


/* group
---------------------------------------- */
#home .outline .group{
	position:relative;
	min-width:460px;
	width:27.0833vw;
}

#home .outline .group h3{
	position:absolute;
	top:-54px;
	left:12px;
	padding:0 0 0 23px;
	font-size:2.4rem;
	font-weight:700;
	line-height:1;
}

#home .outline .group h3::before{
	content:"";
	position:absolute;
	top:50%;
	left:0;
	transform:translateY(-50%);
	width:9px;
	height:9px;
	background:#222222;
	border-radius:50%;
}

#home .outline .group ul{
	display:flex;
	flex-direction:column;
	height:100%;
}

#home .outline .group ul li{
	flex-grow:1;
	height:50%;
	margin:0 0 23px 0;
}
#home .outline .group ul li:nth-of-type(2){ margin-bottom:8px; }

#home .outline .group ul li a{
	display:block;
	height:100%;
	background:#ffffff;
	border-radius:20px;
	box-shadow:0 8px 0 0 #d2989b;
	text-decoration:none;
}
#home .outline .group ul li:nth-child(2) a{ box-shadow:0 8px 0 0 #5db7cc; }

#home .outline .group dl{
	display:flex;
	flex-direction:column;
	justify-content:center;
	height:100%;
	text-align:center;
}

#home .outline .group dl dt{
	margin:30px 0 40px 0;
}

#home .outline .group dl dd{
	font-weight:700;
}

@media screen and (max-width:767px){
#home .outline .group{
	min-width:auto;
	width:auto;
}

#home .outline .group h3{
	position:relative;
	top:auto;
	left:auto;
	margin:0 0 20px 10px;
	font-size:2.0rem;
}

#home .outline .group ul{
	display:block;
	height:auto;
}

#home .outline .group ul li,
#home .outline .group ul li a{
	height:auto;
}

#home .outline .group dl{
	min-height:200px;
	height:auto;
	padding:30px 20px;
}

#home .outline .group dl dt{
	margin:0 0 30px 0;
}
}


/* ----------------------------------------
	contact
---------------------------------------- */
#home .contact .inner{
	padding-top:350px;
	padding-bottom:180px;
	background:url(../../img/home/bg_contact.png) no-repeat right bottom;
}

#home .contact h2{
	margin:0 0 24px 0;
}

#home .contact p{
	margin:0 0 40px 0;
	line-height:1.75;
}

@media screen and (max-width:767px){
#home .contact{
	padding:0;
}

#home .contact .inner{
	padding:50px 40px 240px;
	background-position:center bottom;
	background-size:auto 200px;
}

#home .contact h2{
	margin:0 0 30px 0;
}
}


/* widget_btn
---------------------------------------- */
#home .contact .widget_btn{
	justify-content:flex-start;
	margin:0;
}


/* ========================================================================
	新着情報						[ /news/ ]
======================================================================== */
#news{
}


/* ========================================================================
	お問い合わせ					[ /contact/ ]
======================================================================== */
#contact{
}