@charset "UTF-8";
/* CSS Document */


/*==============================
メイン設定
==============================*/

/*------------------------------
メインフォト設定
------------------------------*/

/*メインフォト*/
.mainPhoto{
	width: 100%;
	height: 640px;
	background: url(../images/top/bg_main@2x.jpg) no-repeat center center / cover;
}

/*------------------------------
intro設定
------------------------------*/

/*intro全体*/
#intro{
	padding: 0 0 600px;
	margin-top: 120px;
	width: 100%;
	position: relative;
}

/*intro 見出し*/
#intro h2 {
	height: fit-content;
    width: 30%;
    margin: 0 auto;
    min-width: 240px;
}


/*intro 説明*/
#intro .desc{
	margin: 100px auto 0;
	width: 100%;
	color: #4D4D4D;
	font-size: 1.4rem;
	line-height: 36px;
	text-align: center;
	position: relative;
	z-index: 1;
}

/*more*/
#intro .more{
	margin: 50px auto 0;
	position: relative;
	z-index: 1;
}

/*オンラインショップボタン*/
#intro .shopBtn{
	margin: 60px auto 0;
	width: 254px;
	height: 50px;
	text-align: center;
	position: relative;
	z-index: 1;
}

/*オンラインショップボタン リンク*/
#intro .shopBtn a{
	display: block;
	width: 100%;
	height: 100%;
	color: #4D4D4D;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 50px;
	border:1px solid #4D4D4D;
	transition: 0.15s;
}

/*オンラインショップボタン リンク ホバー設定*/
#intro .shopBtn a.active{
	color: #FFF;
	background: #4D4D4D;
	transition: 0.3s;
}

/*イントロ写真1*/
#intro .photoDeco01{
	width: 348px;
	height: 278px;
	background: url(../images/top/bg_intro01@2x.jpg) center center / cover;
	position: absolute;
	top: 0;
	right: 0;
}

/*イントロ写真2*/
#intro .photoDeco02{
	width: 226px;
	height: 342px;
	background: url(../images/top/bg_intro02@2x.jpg) center center / cover;
	position: absolute;
	top: 80px;
	left: 0;
}

/*イントロ写真3*/
#intro .photoDeco03{
	width: 324px;
	height: 240px;
	background: url(../images/top/bg_intro03@2x.jpg) center center / cover;
	position: absolute;
	top: 500px;
	right: 100px;
}

/*イントロ写真4*/
#intro .photoDeco04{
	width: 442px;
	height: 352px;
	position: absolute;
	top: 580px;
	left: 0;
}

/*イントロ写真4 装飾*/
#intro .photoDeco04::before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: url(../images/top/bg_intro04@2x.jpg) center center / cover;
	position: absolute;
	z-index: 1;
}


/*イントロ写真4 装飾*/
#intro .photoDeco04::after{
	content: "";
	display: block;
	width: 252px;
	height: 252px;
	background: #1C2E4E;
	position: absolute;
	bottom: -50px;
	right: -50px;
}
/*------------------------------
StoreIntroduction設定
------------------------------*/
#StoreIntroduction{
	padding: 100px 0;
	width: 100%;
	background: url(../images/top/bg_store@2x.jpg) center center / cover;
}

/*StoreIntroduction 見出し*/
#StoreIntroduction h2{
	font-size: 3rem;
	font-weight: 600;
}

/*StoreIntroduction 見出し*/
#StoreIntroduction .StoreBox,
#rollingstock .StoreBox,
#techo .StoreBox,
#message  .StoreBox{
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 60px;
	margin: 0 auto;
	width: 96%;
	max-width:1080px;
	z-index: 1;
}

/*StoreIntroduction 見出し*/
#StoreIntroduction .StoreItem{
	display: grid;
	grid-template-columns: repeat(1, 1fr);
}

/*StoreIntroduction 見出し*/
#StoreIntroduction .StoreCaption{
	font-size: 1.2rem;
}

/*StoreIntroduction 見出し*/
#StoreIntroduction .StoreLead{
	font-size: 1.5rem;
}

/*StoreIntroduction 見出し*/
#StoreIntroduction .StoreBox p,
#StoreIntroduction h2,
#StoreIntroduction .StoreCaption,
#StoreIntroduction .StoreLead{
	line-height: 180%;
}

/*StoreIntroduction 見出し*/
#StoreIntroduction .StoreBoxInner,
#techo .StoreBoxInner,
#rollingstock .StoreBoxInner,
#message  .StoreBoxInner {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	row-gap: 36px;
	width: calc(100% - 120px);
}

/*StoreIntroduction 見出し*/
#StoreIntroduction .StoreBtn{
	font-size: 1.5rem;
	line-height: 180%;
	border: 1px solid #4d4d4d;
	padding: 10px;
	width: fit-content;
	height: fit-content;
	transition: 0.15s;
}
#StoreIntroduction .StoreBtn:hover {
	color: #fff;
	background: #4d4d4d;
	transition: .3s;
}

/*------------------------------
Rollingstock設定
------------------------------*/
#rollingstock{
	position: relative;
	background: #fff;
	padding: 120px 40px;
	overflow: hidden;

}
#rollingstock:before{
	position: absolute;
	content: "";
	width: 580px;
    height: 590px;
    background: url(../images/miwa/homeitem/kamiito/bg_illust01.svg) no-repeat center center / cover;
    right: -160px;
    top: -160px;
    display: block;
    z-index: 0;
    opacity: .4;
}
#rollingstock:after{
	position: absolute;
	content: "";
	width: 580px;
    height: 590px;
    background: url(../images/miwa/homeitem/kamiito/bg_illust01.svg) no-repeat center center / cover;
    left: -160px;
    bottom: -240px;
    display: block;
    z-index: 0;
    opacity: .4;
    transform: rotate(180deg);
}

#rollingstock h2{
	font-size: 3rem;
}


#rollingstock img{
	border: 1px solid rgba(0, 0, 0, .1);
}
#rollingstock .StoreBox{
	width: calc(100% - 100px);
}
#rollingstock .StoreBoxInner {
	width: calc(100% - 100px);
	grid-template-rows: auto 1fr;
}
.rollingstock-text {
	display: grid;
	grid-template-rows: auto 1fr;
	gap: 20px;
}
.rollingstock-text p{
	line-height: 200%;
}
#rollingstock .StoreBtn {
    font-size: 1.5rem;
    line-height: 180%;
    text-align: center;
    border: 1px solid #4d4d4d;
    padding: 10px;
    width: 40%;
    height: fit-content;
    transition: 0.15s;
}
#rollingstock .StoreBtn:hover {
    color: #fff;
    background: #4d4d4d;
    transition: .3s;
}

/*------------------------------
techo設定
------------------------------*/
#techo{
	position: relative;
	background: #F1EFE8;
	padding: 120px 40px;
	overflow: hidden;
}

#techo h2{
	font-size: 3rem;
}
#techo img{
	border: 1px solid rgba(0, 0, 0, .1);
}
#techo .StoreBox{
	width: calc(100% - 100px);
}
#techo .StoreBoxInner {
	width: calc(100% - 100px);
	grid-template-rows: auto 1fr;
}

#techo .StoreBtn {
    font-size: 1.5rem;
    line-height: 180%;
    text-align: center;
    border: 1px solid #4d4d4d;
    padding: 10px;
    width: 40%;
    height: fit-content;
    transition: 0.15s;
}
#techo .StoreBtn:hover {
    color: #fff;
    background: #4d4d4d;
    transition: .3s;
}
#techo .techo-img {
	position: relative;
	height: fit-content;
	padding-top: 40px;
}
#techo .techo-img:before {
	position: absolute;
	content: "";
	width: 360px;
    height: 245px;
    background: url(../images/top/techo-bg.svg) no-repeat center center / cover;
    bottom: -32px;
    right: -32px;
    z-index: -1;
}
.techo-text {
	display: grid;
	grid-template-rows: auto 1fr;
	gap: 20px;
}
.techo-text p{
	line-height: 200%;
}


/*------------------------------
message設定
------------------------------*/
#message {
	background: #fff;
	position: relative;
    background: #fff;
    padding: 120px 40px;
}
#message h2 {
	font-size: 3rem;
	line-height: 180%;
}
#message .message-img {
	position: relative;
	height: fit-content;
	padding-top: 40px;
}
#message .message-img:before {
	position: absolute;
	content: "";
	width: 360px;
    height: 245px;
    background: #1C2E4E;
    bottom: -32px;
    right: -32px;
    z-index: -1;
}

/*------------------------------
Recruit設定
------------------------------*/
#Recruit{
	padding: 100px 0;
}

#Recruit h2 {
	font-size: 3.2rem;
	font-weight: 600;
	line-height: 160%;
	text-align: center;
}

#Recruit p {
	font-size: 1.5rem;
	line-height: 200%;
	text-align: center;

}
#Recruit .RecruitText {
	padding: 24px 0 80px;
}

#Recruit .photo{
	position: relative;
	z-index: -1;
}
#Recruit .photoItem {
	position: absolute;
	width: 200px;
	height: 260px;
}
#Recruit .photoDeco01{
	background: url(../images/top/bg_recruit01@2x.jpg) center center / cover;
	top: -280px;
	left: 160px;
	z-index: 2;
}
#Recruit .photoDeco02{
	position: relative;
	background: url(../images/top/bg_recruit02@2x.jpg) center center / cover;
	top: -40px;
	left: 240px;
}
#Recruit .photoDeco02:before{
	position: absolute;
	content: "";
	width: 150px;
	height: 150px;
	background: #1C2E4E;
	top: -60px;
	left: -100px;
	z-index: -1;
}
#Recruit .photoDeco03{
	background: url(../images/top/bg_recruit03@2x.jpg) center center / cover;
	top: -280px;
	right: 160px;
	z-index: 2;
}
#Recruit .photoDeco04{
	background: url(../images/top/bg_recruit04@2x.jpg) center center / cover;
	top: -40px;
	right: 240px;
}
#Recruit .photoDeco04:before{
	position: absolute;
	content: "";
	width: 160px;
	height: 160px;
	background: #1C2E4E;
	top: -40px;
	right: -20px;
	z-index: -1;
}

#Recruit .RecruitBtn{
	display: block;
	font-size: 1.5rem;
	line-height: 180%;
	border: 1px solid #4d4d4d;
	padding: 10px;
	width: 260px;
	height: fit-content;
	text-align: center;
	margin: 12px auto 0;
	transition: 0.15s;
}
#Recruit .RecruitBtn:hover {
	color: #fff;
	background: #4d4d4d;
	transition: .3s;
}

/*------------------------------
aboutMiwa設定
------------------------------*/

/*aboutMiwa全体*/
#aboutMiwa{
	padding: 190px 0 300px;
	width: 100%;
	background: url(../images/top/bg_about@2x.jpg) center center / cover;
}

/*aboutMiwa 見出し*/
#aboutMiwa h2{
	color: #FFF;
	font-size: 3rem;
	font-weight: 600;
	text-align: center;
}

/*aboutMiwa 説明*/
#aboutMiwa .desc{
	margin: 30px auto 0;
	color: #FFF;
	font-size: 1.4rem;
	line-height: 36px;
	font-weight: 300;
	text-align: center;
}

/*more*/
#aboutMiwa .moreW{
	margin: 50px auto 0;
}

/*取扱商品ボタンリスト*/
#aboutMiwa .itemBtnList{
	margin: 65px auto 0;
	width: 530px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

/*取扱商品ボタン*/
#aboutMiwa .itemBtnList li{
	width: 254px;
	height: 50px;
	text-align: center;
}

/*取扱商品ボタン リンク*/
#aboutMiwa .itemBtnList li a{
	display: block;
	width: 100%;
	height: 100%;
	color: #FFF;
	font-size: 1.4rem;
	line-height: 50px;
	font-weight: 600;
	border:1px solid #FFF;
	transition: 0.15s;
}

/*取扱商品ボタン リンク ホバー設定*/
#aboutMiwa .itemBtnList li a.active{
	color: #4D4D4D;
	background: #FFF;
	transition: 0.3s;
}

/*------------------------------
topics設定
------------------------------*/

/*topics全体*/
#topics{
	padding: 290px 0 530px;
	width: 100%;
	position: relative;
}

/*topics*/
.topicsWrap{
	margin: 0 auto;
	padding: 48px 54px;
	width: 800px;
	background: #FFF;
	position: relative;
	z-index: 10;
}

/*topics 見出し*/
.topicsWrap h2{
	color: #4D4D4D;
	font-size: 3rem;
}

/*topicsリスト*/
.topicsList{
	margin: 45px 0 0 0;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

/*topics 日付*/
.topicsList dt{
	margin: 0 0 24px 0;
	width: 110px;
}

/*topics 内容*/
.topicsList dd{
	margin: 0 0 24px 0;
	width: calc(100% - 110px);
	white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/*more*/
.topicsWrap .more{
	margin: 0 54px 0 0;
	text-align: right;
}


/*topics写真1*/
#topics .photoDeco01{
	width: 398px;
	height: 314px;
	position: absolute;
	top: -60px;
	right: 0;
}

/*topics写真1*/
#topics .photoDeco01::before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: url(../images/top/bg_topics01@2x.jpg) center center / cover;
	position: absolute;
	z-index: 1;
}

/*topics写真1 装飾*/
#topics .photoDeco01::after{
	content: "";
	display: block;
	width: 174px;
	height: 174px;
	background: #1C2E4E;
	position: absolute;
	bottom: -50px;
	left: -115px;
	z-index: -1;
}

/*topics写真4*/
#topics .photoDeco02{
	width: 508px;
	height: 280px;
	position: absolute;
	bottom: 90px;
	left: 0;
}

/*topics写真4*/
#topics .photoDeco02:before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: url(../images/top/bg_topics02@2x.jpg) center center / cover;
	position: absolute;
}

/*topics写真4 装飾*/
#topics .photoDeco02::after{
	content: "";
	display: block;
	width: 206px;
	height: 206px;
	background: #1C2E4E;
	position: absolute;
	top: -65px;
	right: -60px;
	z-index: -1;
}

/*==============================
レスポンシブ設定
==============================*/

/*768px以下の場合*/
@media screen and (max-width:768px){

	/*==============================
	メイン設定
	==============================*/

	/*------------------------------
	メインフォト設定
	------------------------------*/

	/*メインフォト*/
	.mainPhoto{
		height: 300px;
	}

	/*------------------------------
	intro設定
	------------------------------*/

	/*intro全体*/
	#intro{
		padding: 0;
		margin-top: 200px;
	}

	/*intro 見出し*/
	#intro h2{
		margin: -140px auto 0;
	}

	/*intro 説明*/
	#intro .desc{
		margin: 40px auto 0;
	}

	/*more*/
	#intro .more{
		margin: 40px auto 0;
	}

	/*オンラインショップボタン*/
	#intro .shopBtn{
		margin: 50px auto 0;
	}

	#intro .photo{
		margin: 100px 0 0 0;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}

	/*イントロ写真1*/
	#intro .photoDeco01{
		width: calc(100% / 4);
		height: 200px;
		position: static;
	}

	/*イントロ写真2*/
	#intro .photoDeco02{
		width: calc(100% / 4);
		height: 200px;
		position: static;
	}

	/*イントロ写真3*/
	#intro .photoDeco03{
		width: calc(100% / 4);
		height: 200px;
		position: static;
	}

	/*イントロ写真4*/
	#intro .photoDeco04{
		width: calc(100% / 4);
		height: 200px;
		position: static;
	}

	/*イントロ写真4 装飾*/
	#intro .photoDeco04::after{
		display: none;
	}

	/*------------------------------
	rollingstock設定
	------------------------------*/
	#rollingstock{
		padding: 0;
	}
	#rollingstock h2{
		font-size: 2.6rem;
	}
	#rollingstock .StoreBtn{
		width: 260px;
		margin: auto;
	}
	#rollingstock:before{
		width: 380px;
    	height: 390px;
	    right: -100px;
	    top: -100px;
	}
	#rollingstock:after{
		width: 380px;
    	height: 390px;
	}
	/*------------------------------
	techo設定
	------------------------------*/
	#techo{
		padding: 0;
	}
	#techo h2{
		font-size: 2.6rem;
	}
	#techo .StoreBtn{
		width: 260px;
		margin: auto;
	}
	#techo:before{
		width: 380px;
    	height: 390px;
	    right: -100px;
	    top: -100px;
	}
	#techo:after{
		width: 380px;
    	height: 390px;
	}
	#techo .techo-img:before{
		height: 0;
		width: 0;
	}
	#techo .techo-img{
		padding-top: 0;
	}

	/*------------------------------
	message設定
	------------------------------*/
	#message{
		padding: 0;
	}
	#message h2{
		font-size: 2.5rem;
	}
	#message .message-img{
		padding-top: 0;
	}
	 #message .StoreBoxInner {
	 	padding: 80px 24px 40px;
	 	width: 100%;
	 }
	 #message .message-img:before{
	 	height: 0;
	 	width: 0;
	 }

	/*------------------------------
	StoreIntroduction設定
	------------------------------*/
	#StoreIntroduction{
		padding: 0;
		background: none;
	}
	#StoreIntroduction .StoreBox,
	#rollingstock .StoreBox,
	#techo .StoreBox,
	#message .StoreBox{
		display: block;
		width: 100%;
	}
	#StoreIntroduction h2 {
		font-size: 2.6rem;
	}
	#StoreIntroduction .StoreBoxInner,
	#techo .StoreBoxInner,
	#rollingstock .StoreBoxInner{
		width: 100%;
		padding: 80px 24px;
	}
	#StoreIntroduction .StoreBoxInner{
		background: url(../images/top/bg_store_sp@2x.jpg) center center / cover;
	}
	#StoreIntroduction .StoreBtn{
		width: 80%;
		height: fit-content;
		text-align: center;
		margin: 0 auto;
	}

	/*------------------------------
	Recruit設定
	------------------------------*/
	#Recruit{
		padding: 80px 0 0;
	}
	#Recruit h2{
		font-size: 2.6rem;
	}
	#Recruit .RecruitText{
		padding: 24px 0;
	}
	#Recruit .photo{
		margin: 40px 0 0 0;
		display: grid;
		flex-wrap: wrap;
		grid-template-columns: repeat(2, 1fr);
		gap: 2px;
	}
	#Recruit .photoItem{
		position: static;
		height: 190px;
		width: 100%;
	}
	#Recruit .photoDeco02:before,
	#Recruit .photoDeco04:before{
		display: none;
	}


	/*------------------------------
	aboutMiwa設定
	------------------------------*/

	/*aboutMiwa全体*/
	#aboutMiwa{
		padding: 100px 0;
	}


	/*------------------------------
	topics設定
	------------------------------*/

	/*topics全体*/
	#topics{
		padding: 100px 0 0;
	}

	/*topics*/
	.topicsWrap{
		padding: 48px 54px;
		width: calc(100% - 80px);
	}

	/*topicsリスト*/
	.topicsList{
		margin: 30px 0 0 0;
	}

	/*topics 日付*/
	.topicsList dt{
		margin: 0 0 20px 0;
		width: 100px;
	}

	/*topics 内容*/
	.topicsList dd{
		margin: 0 0 20px 0;
		width: calc(100% - 100px);
	}

	/*more*/
	.topicsWrap .more{
		margin: 0 54px 0 0;
	}

	#topics .photo{
		margin: 100px 0 0 0;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}

	/*topics写真1*/
	#topics .photoDeco01{
		width: calc(100% / 2);
		height: 200px;
		position: static;
	}

	/*topics写真1 装飾*/
	#topics .photoDeco01::after{
		display: none;
	}

	/*topics写真2*/
	#topics .photoDeco02{
		width: calc(100% / 2);
		height: 200px;
		position: static;
	}

	/*topics写真2 装飾*/
	#topics .photoDeco02::after{
		display: none;
	}



}


/*480px以下の場合*/
@media screen and (max-width:480px){

	/*==============================
	メイン設定
	==============================*/

	/*------------------------------
	メインフォト設定
	------------------------------*/

	/*メインフォト*/
	.mainPhoto{
		height: calc(100vh - 60px);
		background: url(../images/top/bg_main_sp@2x.jpg) no-repeat center center / cover;
	}

	/*------------------------------
	intro設定
	------------------------------*/

	/*intro全体*/
	#intro{
		margin-top: 60px;
	}
	/*intro 見出し*/
	#intro h2{
		margin: 0;
		position: absolute;
		top: -500px;
		left: calc(50% - 240px / 2);
	}

	/*intro 説明*/
	#intro .desc{
		width: calc(100% - 40px);
		line-height: 30px;
	}

	/*イントロ写真*/
	#intro .photoDeco01,
	#intro .photoDeco02,
	#intro .photoDeco03,
	#intro .photoDeco04{
		width: calc(100% / 2);
		height: 150px;
	}
	/*------------------------------
	rollingstock設定
	------------------------------*/
	#rollingstock h2{
		line-height: 150%;
	}

	/*------------------------------
	aboutMiwa設定
	------------------------------*/

	/*aboutMiwa 見出し*/
	#aboutMiwa h2{
		font-size: 2.6rem;
	}

	/*aboutMiwa 説明*/
	#aboutMiwa .desc{
		margin: 30px auto 0;
		width: calc(100% - 40px);
		font-size: 1.4rem;
		line-height: 30px;
	}

	/*more*/
	#aboutMiwa .moreW{
		margin: 30px auto 0;
	}

	/*取扱商品ボタンリスト*/
	#aboutMiwa .itemBtnList{
		margin: 50px auto 0;
		width: 254px;
		flex-direction: column;
	}

	/*取扱商品ボタン*/
	#aboutMiwa .itemBtnList li{
		margin: 0 0 25px 0;
	}


	/*------------------------------
	topics設定
	------------------------------*/

	/*topics*/
	.topicsWrap{
		padding: 40px 25px;
		width: calc(100% - 40px);
	}

	/*topicsリスト*/
	.topicsList{
		margin: 30px 0 0 0;
	}

	/*topics 日付*/
	.topicsList dt{
		margin: 0 0 10px 0;
		width: 100%;
	}

	/*topics 内容*/
	.topicsList dd{
		margin: 0 0 20px 0;
		width: 100%;
		line-height: 26px;
		white-space: normal;
		overflow: scroll;
	}

	/*more*/
	.topicsWrap .more{
		margin: 20px 54px 0 0;
	}

	/*topics写真*/
	#topics .photoDeco01,
	#topics .photoDeco02{
		height: 200px;
	}



}

/*480px以下の場合*/
@media screen and (max-width:375px){

	/*==============================
	メイン設定
	==============================*/

	/*------------------------------
	intro設定
	------------------------------*/

	/*intro 見出し*/
	#intro h2{
		top: -450px;
	}

}
