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


@media screen and (min-width:768px), print{
/*----------------------------------------------------------------------

PC Style

----------------------------------------------------------------------*/

/**********************************************************/
/* メイン画像 */
/**********************************************************/

.main_img {
	width:100%;
	height:650px;
	position:relative;
}

.main_img img {
	width:100%;
	height:650px;
	object-fit:cover;
}

.main_img h1 {
	font-size:2.2rem;
	font-weight:900;
	letter-spacing:0.1rem;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	position:absolute;
	left:50%;
	top:15%;
	margin-left:-400px;
	text-shadow:#FFF 1px 1px 1px;
}

.main_img h1 span {
	font-size:4.6rem;
}

.main_img h1 span.sub {
	font-size:1.6rem;
}


/**********************************************************/
/* メインエリア */
/**********************************************************/

main h2 {
	display:flex;
	align-items: center;
	justify-content: center;
	color:#FFF;
	font-size:3rem;
	letter-spacing:0.3rem;
	margin-bottom:45px;
}
main h2::before,
main h2::after {
	content:'';
	width:100px;
	height:1px;
	background:#FFF;
}
main h2::before {
	margin-right:20px;
}
main h2::after {
	margin-left:20px;
}

main h3 {
}

main h2.men,
main h3.men {
	background: url(../images/title_men.png) no-repeat top center / 44px;
	padding-top:55px;
}

.news {
	padding:55px 70px;
	background:url(../images/top/news_bg.jpg) no-repeat center top ;
	background-size:cover;
}

.news ul {
	width:660px;
	margin:0 auto;
	background:#FFF;
	padding:15px;
}

.news ul li {
	padding:15px 0;
	border-bottom:solid 2px #CCC;
	position:relative;
}

.news ul li img {
	width:120px;
	height:100px;
	object-fit: cover;
	float:left;
}

.news ul li .right {
	width:490px;
}

.news ul li time {
	display:block;
	font-size:1.5rem;
	line-height:1.0;
}

.news ul li h3 {
	font-size:1.8;
	font-weight:900;
}

.news ul li p {
	line-height:1.6;
}

.news ul li a {
	display:block;
	color:#FFF;
	background:#C1282D;
	font-weight:700;
	padding:3px 30px;
	position:absolute;
	bottom:0;
	right:0;
}
.news ul li a:hover {
	background:#DA4E51;
	transition:0.3s;
}

.greeting {
	padding:70px 0 90px;
}

.greeting .inner {
	width:860px;
	margin:0 auto;
}

.greeting .inner img {
	width:300px;
	float:left;
}

.greeting .inner .right {
	width:400px;
	height:400px;
}

.greeting .inner .right h3 {
	font-size:3rem;
	margin-left:15px;
}

.greeting .inner .right p.sig {
	text-align:end;
	font-weight:700;
	margin:0 15px 0 0;
}

.noodles {
	padding:55px 0 75px;
	color:#FFF;
	background:#000 url(../images/top/greeting_bg.png) no-repeat top center;
	background-size:cover;
}

.noodles .inner h2 {
	margin-bottom:120px;
}

.noodles .inner .right,
.noodles .inner .left {
	width:550px;
	height:550px;
}

.noodles .inner .vertical {
	padding:40px 105px 40px 0;
}

.noodles .inner .left.vertical {
	margin-bottom:80px;
}

.noodles .inner img {
	width:550px;
	height:550px;
	object-fit: cover;
	display:block;
}

.noodles .inner h3 {
	font-size:3rem;
	margin-left:15px;
}

.noodles .inner p {
	margin-left:15px;
}

.noodles a,
.works a {
	display:inline-block;
	margin:0 auto;
	color:#FFF;
	background:#C1282D;
	font-size:2rem;
	padding:10px 70px;
}

.interval {
	width:100%;
}

.works {
	padding:55px 0 120px;
}

.works h2 {
	color:#000;
	margin-bottom:70px;
}
.works h2::before,
.works h2::after {
	background:#111;
}

.works p {
	margin-bottom:30px;
}

.works a {
	margin-top:50px;
}

}



@media screen and (max-width:767px){
/*----------------------------------------------------------------------

SP Style

----------------------------------------------------------------------*/

/**********************************************************/
/* メイン画像 */
/**********************************************************/

.main_img {
	width:100%;
	position:relative;
}

.main_img img {
	width:100%;
}

.main_img h1 {
	width:80%;
	font-size:1.5rem;
	font-weight:700;
	line-height:1.5;
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	text-shadow:#FFF 1px 1px 1px;
}

.main_img h1 span {
	font-size:2.6rem;
}

.main_img h1 span.sub {
	font-size:1.3rem;
}


/**********************************************************/
/* メインエリア */
/**********************************************************/

main h2 {
	display:flex;
	align-items: center;
	justify-content: center;
	color:#FFF;
	font-size:2rem;
	margin-bottom:25px;
}
main h2::before,
main h2::after {
	content:'';
	width:100px;
	height:1px;
	background:#FFF;
}
main h2::before {
	margin-right:20px;
}
main h2::after {
	margin-left:20px;
}

main h3 {
	margin-bottom:15px;
}

main h2.men,
main h3.men {
	background: url(../images/title_men.png) no-repeat left center / 30px;
	padding-left:40px;
}

.news {
	padding:55px 70px;
	background:url(../images/top/news_bg.jpg) no-repeat center top ;
	background-size:cover;
}

.news ul {
	width:100%;
	margin:0 auto;
	background:#FFF;
	padding:15px;
}

.news ul li {
	padding:15px 0;
	border-bottom:solid 2px #CCC;
	position:relative;
}

.news ul li img {
	width:120px;
	height:100px;
	object-fit: cover;
	float:left;
}

.news ul li .right {
	width:490px;
}

.news ul li time {
	display:block;
	font-size:1.5rem;
	line-height:1.0;
}

.news ul li h3 {
	font-size:1.8;
	font-weight:900;
}

.news ul li p {
	line-height:1.6;
}

.news ul li a {
	display:block;
	color:#FFF;
	background:#C1282D;
	font-weight:700;
	padding:3px 30px;
	position:absolute;
	bottom:0;
	right:0;
}
.news ul li a:hover {
	background:#DA4E51;
	transition:0.3s;
}

.greeting {
	padding:0;
}

.greeting .inner {
	width:100%;
	margin:0 auto;
}

.greeting .inner img {
	width:100%;
}

.greeting .inner .right {
	width:90%;
	margin:0 auto;
	padding:25px 0;
}

.greeting .inner .right h3 {
	font-size:2rem;
	margin-left:15px;
}

.greeting .inner .right p {
	line-height:1.5;
}

.greeting .inner .right p.sig {
	text-align:end;
	font-weight:700;
	margin:10px 0;
}

.noodles {
	padding:30px 0;
	color:#FFF;
	background:#000 url(../images/top/greeting_bg.png) no-repeat top center;
	background-size:cover;
}

.noodles .inner h2 {
	margin-bottom:30px;
	line-height:1.3;
}

.noodles .inner .right,
.noodles .inner .left {
	width:100%;
}

.noodles .inner .vertical {
	padding:40px 0;
}

.noodles .inner .left.vertical {
	margin-bottom:20px;
}

.noodles .inner img {
	width:100%;
	object-fit: cover;
	display:block;
}

.noodles .inner h3 {
	font-size:2rem;
	margin-left:15px;
}

.noodles .inner p {
	margin-left:10px;
}

.noodles a,
.works a {
	display:inline-block;
	margin:0 auto;
	color:#FFF;
	background:#C1282D;
	font-size:2rem;
	padding:0 25px;
	margin-bottom:30px;
}

.interval {
	width:100%;
}

.works {
	padding:30px 0 0;
}

.works h2 {
	color:#000;
	margin-bottom:30px;
}
.works h2::before,
.works h2::after {
	background:#111;
}

.works p {
	margin-bottom:30px;
}

.works a {
	margin-top:30px;
}




}