
/**********************************/

#topMain2 {
		position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: -1;
}

.topKeyimages {
  background: url(../images/top/bg-top-keyimages.jpg) no-repeat top/cover;
  height: 100vh;
  position: relative;
}



.ttl-wrap_x {
		position: relative;
        transform: translateY(20vh);
        transition: transform 0.5s ease-out;
        width:100%;
        height: 1560px;
 
}

.fade-logo {
	 	text-align: center;
	padding-top: 5em;
}

.fade-txt {
	margin:0px auto 0px auto;
}








/**********************************/





#topMain section .ttl-wrap {
  text-align: center;
}
#topMain section h2 {
  text-align: center;
  position: relative;
}


#topMain section .btn {
  text-align: center;
}
#topMain section .btn a {
  display: inline-block;
  font-size: 16px;
  position: relative;
  width: 300px;
  height: 50px;
  line-height: 50px;
  color: #fff;
  border: #fff 1px solid;
  border-radius: 30px;
	font-weight: 500;
}
#topMain section .btn a:hover {
  background: #fff;
  color: #003d63;
}
#topMain section .btn a:after {
  position: absolute;
  content: "";
  background: url(../images/top/btn-arrow.png) no-repeat center/contain;
  width: 20px;
  height: 18px;
  top: 15px;
  right: 40px;
}
#topMain section .btn a:hover:after {
  position: absolute;
  content: "";
  background: url(../images/top/btn-arrowHover.png) no-repeat center/contain;
  width: 20px;
  height: 18px;
  top: 15px;
  right: 40px;
}

@media screen and (max-width: 767px) {

}


@media screen and (min-width: 768px) {
  .topKeyimages .fade-logo {
    text-align: center;
    /*position: absolute;*/
    z-index: 1000;
    top: 13em;
    width: 100%;
  }



    .fade-txt {
        text-shadow: 0px 0px 10px rgba(11, 37, 79, 0.9), 0px 0px 10px rgba(11, 37, 79, 0.9);
        z-index: 1000;
        position: absolute;
        top: 24em;
        left: calc(50% - 165px);
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        font-size: 32px;
        color: #fff;
        transform: translateY(0);
    }



	.fade-txt h3{
		font-size: 30px;
		font-weight: 400;
	}
}
@media screen and (max-width: 1366px) {

.ttl-wrap_x {
	height: 1700px;
}
.fade-txt {
  text-shadow: 0px 0px 10px rgba(11, 37, 79, 0.9), 0px 0px 10px rgba(11, 37, 79, 0.9);
  z-index: 1000;
  
  /* テキストを上に揃える */
	position: absolute;
	top: 26em;
        left: calc(50% - 120px);
  
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  
  font-size: 28px;
  color: #fff;
  
  /* 縦書きを上に揃えるためにトランスフォーム */
  transform: translateY(0); /* これで上に揃います */
}
.fade-txt h3 {
        font-size: 36px;
        font-weight: 400;
    }



}

@media screen and (max-width: 1280px) {
  .topKeyimages h2 {
    width: 90%;
    left: 0;
  }
  .topKeyimages h2 img {
    width: 60%;
  }
}
@media screen and (max-width: 767px) {
  .topKeyimages {
    /*height: 85vh;*/
	  background: url(../images/top/bg-top-keyimagesSP.jpg) no-repeat top / cover;
    position: relative;
  }
  
  
  .ttl-wrap_x {
       height: 200vh;
       
 
}

	.fade-logo {
	/*text-align: left;*/
	/*position: absolute;*/
	/*z-index: 10;*/
	/*top: -420px;*/
	/*bottom: 0;*/
	/*left: 125px;*/
	/*right: 0;*/
	/*width: 100%;*/
	/*max-width: 1330px;*/
	/*margin: auto;*/
	/*display: -webkit-box;*/
	/*display: -ms-flexbox;*/
	/*display: flex;*/
	/*-webkit-box-align: center;*/
	/*-ms-flex-align: center;*/
	/*align-items: center;*/
	/*-webkit-box-pack: start;*/
	/*-ms-flex-pack: start;*/
	/*justify-content: flex-start;*/
}
  .topKeyimages .ttl-wrap {
    position: absolute;
    bottom: 182px;
  }
  .topKeyimages h2 {
    position: relative;
    top: 65px;
    padding: 0;
    text-align: left;
    z-index: 10;
    left: 0px;
  }
  .topKeyimages h2 img {
    width: 100%;
  }
	.fade-txt {
        text-shadow: 0px 0px 10px rgba(11, 37, 79, 0.9), 0px 0px 10px rgba(11, 37, 79, 0.9);
        z-index: 1000;
        top: 35em;
        left: calc(50% - 110px);
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        font-size: 18px;
        color: #fff;
        transform: translateY(0);
    }
	.fade-txt h3 {
        font-size: 30px;
        font-weight: 400;
    }
}


/* TOPInstagram */
.top-insta {
  background: #003d63;
  padding-top: 120px;
	padding-bottom: 110px;
}
.top-insta h2 {
  margin-bottom: 60px;
	color: #fff;
	display: flex;
    justify-content: center;
    flex-direction: column;
	 letter-spacing: 0.1em;
	position: relative;
}
.top-insta h2 span{
  color: #a47575;
	font-size: 20px;
	padding-top: 10px;
}
.top-insta h2:before {
    background: url(../images/global/foot-insta.svg) no-repeat center / cover;
    content: "";
    position: absolute;
    top: -50px;
    left: calc(50% - 20px);
    max-width: 100%;
    width: 35px;
    height: 35px;
}
.top-insta .btn {
  margin-top: 60px;
}
#topMain .top-insta .btn a {
  width: 320px;
}
@media screen and (max-width: 767px) {
  .top-insta {
    padding-top: 120px;
    text-align: center;
  }

  .top-insta li {
    margin-bottom: 30px;
  }
	#topMain .top-insta .btn a {
    width: 280px;
}
}

/*こだわり*/
  .top-about {
    padding-top: 120px;
    padding-bottom: 150px;
    background: url(../images/top/bg-white.jpg) no-repeat center/cover;
  }
  .top-about h2{
    color: #003d63; 
  }
  .top-about h2 img{
    width: 80%;
  }

.top-about ul.kodawari li .ttl {
	font-size: 23px;
	font-family: sans-serif;
	  font-weight: 600;
	color: #003d63;
	padding-top: 30px;
}
  .top-about ul.kodawari li .txt {
    font-size: 15px;
    text-align: justify;
    letter-spacing: 0.1em;
    font-family: sans-serif;
    font-weight: 500;
    padding-top: 10px;
  }
  .top-about .btn {
    margin-top: 40px;
  }
  .top-about ul.kodawari li{
    width: 35%;
	 padding: 0 20px;
  }
@media screen and (min-width: 768px) {
.top-about ul.kodawari{
	padding-top: 5em;
}
}
@media screen and (max-width: 767px) {
  .top-about {
    padding-top: 50px;
    padding-bottom: 80px;
    background: url(../images/top/bg-about01SP.jpg) no-repeat center/cover;
  }
  .top-about .txt {
    font-size: 16px;
    text-align: justify;
  }
  .top-about .btn {
    margin-top: 40px;
  }
	.top-about ul.kodawari li {
    width: 100%;
    padding: 0 20px;
		padding-bottom: 40px;
}
}


/*味噌ラーメン*/

.top-newmenu {
  position: relative;
  background: url(../images/top/bg-newmenu.jpg) no-repeat center / cover;
  padding-top: 65em;
  background-attachment: fixed; /* 背景を固定 */
}


.top-newmenu .txt-fade-img{
	position: absolute;
	display: flex;
	top: 130px;
	right: 130px;
	z-index: 99;
}

  .top-newmenu .txt-newmenu{
    -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
	margin-left: 22em;
	  position: relative;
  }

  .top-newmenu .txt-newmenu p {
	  color: #fff;
	  font-size: 18px;
	  line-height: 30px;
    padding-right: 15px;
	  padding-top: 20px;
  }
  .top-newmenu .txt-newmenu h4 {
    color: #fff;
	  font-size: 28px;
    padding-right: 35px;
  }
.top-newmenu .bg-blue{
	background: #003d63;
	position: absolute;
	bottom: -270px;
	width: 100%;
  	padding-top: 60px;
    padding-bottom: 60px;
	z-index: 10;
}

@media screen and (min-width: 768px) {
  .top-newmenu .txt {
    width: 800px;
    margin: 0 auto;
  }
}

@media screen and (max-width: 1680px) {
.top-newmenu .txt-fade-img {
    position: absolute;
    display: flex;
    top: 20px;
    right: 15px;
    z-index: 99;
}
.top-newmenu .txt-newmenu {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    margin-left: 10em;
    position: relative;
}
	  .top-newmenu .txt-newmenu h4 {
    padding-right: 15px;
  }
}
@media screen and (min-width:767px) and (max-width:1366px) {
	.ttl-wrap_x {
        height: 2480px;
    }
		.top-newmenu {
    position: relative;
    /*padding-top: 40em;*/
     background: url(../images/top/bg-newmenuPad.jpg) no-repeat center/cover;
      /* background-attachment: fixed; 背景を固定 */
  	padding-top: 65em;
    }
	.top-newmenu .txt-newmenu {
		padding-right: 40px;
		margin-left: 5em;
		
	}
	.top-newmenu .txt-newmenu p {
    color: #fff;
    font-size: 18px;
    line-height: 26px;
    padding-right: 10px;
    padding-top: 20px;
}
	.fade-txt {
        text-shadow: 0px 0px 10px rgba(11, 37, 79, 0.9), 0px 0px 10px rgba(11, 37, 79, 0.9);
        z-index: 1000;
        position: absolute;
        top: 50em;
        left: calc(50% - 120px);
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        font-size: 28px;
        color: #fff;
        transform: translateY(0);
    }

}
@media screen and (max-width: 767px) {
.top-newmenu {
  position: relative;
  background: url(../images/top/bg-newmenuSP.jpg) no-repeat top;
  padding-top: 65em;
 /* background-attachment: fixed;  背景を固定 */
}
	.top-newmenu .bg-blue {
    background: #003d63;
    position: absolute;
    bottom: -53px;
        width: 100%;
        height: 49%;
        padding-top: 35px;
        padding-bottom: 19px;
    z-index: 10;
}
    .top-newmenu .txt-newmenu h4 {
        color: #fff;
        font-size: 19px;
        padding-right: 9px;
    }
	    .top-newmenu .txt-newmenu p {
        color: #fff;
                font-size: 13px;
        line-height: 20px;
        padding-right: 0px;
			padding-top: 15px;
    }
	.top-newmenu .txt-fade-img {
    position: absolute;
    display: flex;
    top: 170px;
    right: -20px;
    z-index: 99;
}
	.top-newmenu .txt-fade-img img{
	max-width: 80%;
}
    .top-newmenu .txt-newmenu {
        margin-left: 2em;
    }
}

/*マップ*/
  .top-company {
    padding-top: 30em;
    padding-bottom: 10em;
    background: url(../images/top/bg-white02.jpg) no-repeat center/cover;
	  position: relative;
  }
.top-company::before {
    position: absolute;
    content: "";
    background: url(../images/top/bg-logo01.png) no-repeat;
    width: 100%;
    height: 100%;
    top: -220px;
    left: 0;
    z-index: 20;
	 pointer-events: none;
}
.top-company .wrap{
	max-width: 1300px;
}
  .top-company h2{
	  display: flex;
    justify-content: center;
    flex-direction: column;
	  max-width: 20%;
    margin: 0 auto;
  }
.top-company h2 img{
	max-width: 100%;
}
.top-company h2 span {
    color: #a47575;
    font-size: 20px;
}

.top-company .boxR {
	display: flex;
    flex-direction: column;
	justify-content: space-evenly;
}
  .top-company .txt {
    text-align: justify;
	  position: relative;
	  padding-left: 11em;
  }

.top-company .txt h3{
	font-size: 30px;
	font-weight: bold;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
.top-company .txt p{
	font-size: 18px;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

@media screen and (min-width:767px) and (max-width:1366px) {
	    .top-company .map, .top-company .map2 {
        display: flex;
        justify-content: space-evenly;
        padding-top: 8em;
        padding-bottom: 3em;
    }
.top-company::before {
    position: absolute;
	content: "";
	background: url(../images/top/bg-logo01SP.png) no-repeat;
	width: 120%;
	height: 40%;
	top: -200px;
	left: -80px;
	z-index: 20;
	pointer-events: none;
}
}
	
@media screen and (min-width: 768px) {

.top-company .map,
.top-company .map2,
	.top-company .map3{
    display: flex;
	justify-content: space-between;
	  padding-top: 8em;
	  padding-bottom: 3em;
  }
	.top-company .boxR {
		padding-left: 2em;
	}
	  .top-company .map .txt:before {
    position: absolute;
    content: "";
    background: url(../images/top/icon01.png) no-repeat center / contain;
    width: 19%;
    height: 100%;
    left: 0;
    top: 0;
}
  .top-company .map2 .txt:before {
    position: absolute;
    content: "";
    background: url(../images/top/icon02.png) no-repeat center / contain;
    width: 16%;
    height: 100%;
    left: 0;
    top: -50px;
}
	  .top-company .map3 .txt:before {
    position: absolute;
    content: "";
    background: url(../images/top/icon03.png) no-repeat center / contain;
    width: 16%;
    height: 100%;
    left: 0;
    top: 0px;
}
	
}
@media screen and (max-width: 1364px) {

}
@media screen and (max-width: 767px) {
  .top-company {
   padding-top: 10em;
    padding-bottom: 10em;
    background: url(../images/top/bg-about01SP.jpg) no-repeat center/cover;
  }

  .top-company .txt {
    font-size: 16px;
    text-align: justify;
    padding: 30px 20px;
	 padding-top: 90px;
  }
  .top-company .btn {
    margin-top: 40px;
  }
	.top-company h2 {
    display: flex;
    justify-content: center;
    flex-direction: column;
    max-width: 40%;
    margin: 0 auto;
}
	.top-company .map{
		 padding-top: 3em;
	}
		.top-company .map2{
		 padding-top: 8em;
	}
	  .top-company .map .txt:before {
    position: absolute;
    content: "";
    background: url(../images/top/icon01.png) no-repeat center / contain;
    width: 19%;
    height: 100%;
	left: 20px;
        top: -47px;
}
  .top-company .map2 .txt:before {
    position: absolute;
    content: "";
    background: url(../images/top/icon02.png) no-repeat center / contain;
    width: 16%;
    height: 100%;
    left: 20px;
    top: -96px;
}
  .top-company .map3 .txt:before {
    position: absolute;
    content: "";
    background: url(../images/top/icon03.png) no-repeat center / contain;
    width: 16%;
    height: 100%;
    left: 20px;
    top: -96px;
}
.top-company .txt h3{
	font-size: 26px;
	font-weight: bold;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
.top-company .txt p{
	font-size: 16px;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
	.top-company::before {
    position: absolute;
	content: "";
	background: url(../images/top/bg-logo01SP.png) no-repeat;
	width: 120%;
	height: 40%;
	top: -350px;
	left: -80px;
	z-index: 20;
	pointer-events: none;
}
	/* Google Mapを囲う要素 */
.gg-map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 75%; /* 比率を4:3に固定 */
}
 
/* Google Mapのiframe */
.gg-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
}





