@import url('https://fonts.googleapis.com/css2?family=Alata&family=Noto+Sans+JP:wght@400;500;700;900&family=Noto+Serif+JP:wght@400;500;600;700;900&display=swap');


html {
	font-size:62.5%;
}


body {
	font-size:1.6em;
	font-family: 'Noto Sans JP', sans-serif;
	color:#333;
	font-weight: 400;
	letter-spacing:.05em;
}

* {
	box-sizing: border-box;
}

 /* --------------------------

基本サイズ10px
3rem = 30px
1.6rem = 16px

--------------------*/


#wrap,
section,
article,
main {
	width:100%;
	position:relative;
	overflow:hidden;
}

#wrap {
	opacity:0;
	transition:all 2s;
}

.display_on {
	opacity:1!important;
}



main {
	padding-bottom:150px;
	display:block;
}


.inner {
	max-width:1100px;
	margin:0 auto;
}


img {
	max-width:100%;
	vertical-align:bottom;
}

a {
	color:#333;
	transition:all .4s;
}

a:hover {
	opacity:0.6;
}





/* ---------  header ------------ */

header {
	width:100%;
	height:150px;
	position:relative;
	z-index:80;
}

.header_main .logo{
	padding:4rem 2rem 0 5rem;
	background:#fff;
	height:27rem;		
}

/* .header_nav */
.header_nav li{
	width:220px;
	line-height:1;
}
.header_nav li a{
	border-right:rgba(255,255,255,.6) solid 1px;
	background:#000f74;
	display:block;
	text-align:center;
}
.header_nav li:last-child a{
	border-right:none;
}
.header_nav li a span{
	background-repeat:no-repeat;
	background-position:0 55%;
	color:#fff;
	font-size:1.3rem;
	display:inline-block;
	padding-top:1.7rem;
	padding-bottom:1.7rem;
}
.header_nav li.search a span{
	background-image:url(../images/hd-nav-search.png);
	-moz-background-size:2.1rem auto;
	background-size:2.1rem auto;
	padding-left:3rem;		
}
.header_nav li.delivery a span{
	background-image:url(../images/hd-nav-delivery.png);
	-moz-background-size:2.7rem auto;
	background-size:2.7rem auto;
	padding-left:4rem;		
}
.header_nav li.mypage a{
	background:#e61801;	
}
.header_nav li.mypage a span{
	background-image:url(../images/hd-nav-mypage.png);
	-moz-background-size:2rem auto;
	background-size:2rem auto;
	padding-left:3rem;	
}

/* .header_global_nav */
.header_global_nav{
	padding:2rem 13rem 2rem 0;
}
.header_global_nav li a{
	display:block;
	padding:2rem;
}
.header_global_nav li a span{
	font-size:1.6rem;
	font-weight:500;
	colo:#000;	
}


/* ---------  Nav ------------ */

nav {
	position:relative;
	width:100% !important;
	height:100vh;
	background:rgba(0,15,116,0.9);
	-moz-background-size:50% auto;
	background-size:50% auto;
	z-index:80;
	transition:transform .3s;
	opacity:0;
	transform:scale(0.5);
	visibility:hidden ;
	position: fixed;
	top:0;
	left:0;
}

nav.nav_active {
	visibility: visible;
	transform:scale(1);
	opacity:1;
}

.nav_conts{	
	color:#fff;
	width:50%;
}

.nav_conts a{
	color:#fff;	
}

.nav_outer{
	width:100%;
	padding:40px 30px;
	height:100vh;
}

/* .nav_bg */
.nav_bg{
	background:url(../images/nav-bg.png) no-repeat 50% 50%;
	-moz-background-size:cover;
	background-size:cover;
	width:50%;
	height:100vh;
}

/* .nav_list */
.nav_list{
	margin-bottom:4rem;
	max-width:380px;
}
.nav_list_box:nth-child(odd){
	padding-right:8rem;	
}
.nav_list_box:nth-child(even){
	padding-right:0;	
}
.nav_list_box ul.blank{
	margin-bottom:2em;
}
.nav_list ul li{
	padding:.8rem 0;	
}
.nav_list ul li a{
	font-size:1.3rem;	
}
.nav_list_child{
	padding:.8rem 0 0;	
}
.nav_list_child li{
	position:relative;	
}
.nav_list_child li::before{
	content:"";
	width:.5rem;
	height:.2rem;
	background:#fff;
	position:absolute;
	top:55%;
	left:0;
	display:block;	
}
.nav_list_child li a{
	padding-left:1.2rem;	
}

/* .nav_info */
.nav_info{
	max-width:380px;
}
.nav_info .tel{
	margin-bottom:2rem;
}
.nav_info .tel span{
	background:url(../images/icon-tel-wh.png) no-repeat 0 50%;
	-moz-background-size:2.1rem auto;
	background-size:2.1rem auto;
	font-size:2.4rem;
	display:inline-block;
	padding:.3rem 0 .3rem 3.8rem;	
}
.nav_info .tel span::after{
	content:"（代表）";	
	font-size:1.4rem;
	font-family: 'Noto Sans JP', sans-serif;
}
.nav_info .tel a{
	display:none;	
}

.nav_info .link{
	margin-bottom:2.5rem;
}
.nav_info .link li{
	padding:.5rem 0;
}

.nav_info .sns li{
	display:inline-block;
	margin-right:1rem;
	width:2.1rem;
}
.nav_info .sns li img{
	width:100%;
	height:auto;
}	


/* --- Nav Botton --- */

.snavbtn {
	display:block;
	width:78px;
	height:78px;
	z-index:99;
	position:fixed;
	top:7.5rem;
	right:3rem;
	cursor:pointer;
	color:#333;
	transition: .3s;
}

.snavbtn span {
	display:block;
	width:40px;
	height:2px;
	background:#333;
	transition:all 0.3s;
	margin-left:auto;
	margin-right:auto;
}

.snavbtn.btn_close{
	color:#fff;
	top:2.2rem;
	right:0;
}
.snavbtn.btn_close span {
	background:#fff;
}

.snavbtn span:first-child {
	
}

.snavbtn span:not(:last-child) {
	margin-bottom:7px;
}

.snavbtn span:last-child {
}

.snavbtn span.bnone {
	opacity:0;
}

.snavbtn span.lineup {
	transform:translate(0px, -9px) rotate(45deg);
}

.snavbtn span.linedown {
	transform:translate(0px, 9px) rotate(-45deg);
}

.snavbtn h4 {
	text-align:center;
	font-size:1.2rem;
	transition:all .3s;
	letter-spacing: 0.1rem;
}
.snavbtn:hover h4 {
	letter-spacing:0.3rem;
}
.snavbtn.btn_close h4{
	display:none;
}

/* .is-fixed */
.snavbtn.is-fixed {
	padding-top:2.2rem;
	top:0;
	right:0;
	background:#000f74;
	color:#fff;
}
.snavbtn.is-fixed span {
	background:#fff;
}
.snavbtn.is-fixed.btn_close{
	background:none;
}


/* --- page top --- */

#page-top {
	width:56px;
	height:56px;
	position: absolute;
	top:-128px;
	right:30px;
	z-index:10;
	background:#000f74;
}

#page-top img {
	width:20px;
	height:26px;
}

/* ---------  footer ------------ */

footer {
	width:100%;
	background:#efefef;
	padding:7rem 0 4rem;
}

footer .inner {
	position:relative;
	width:1150px;
}

/* .ft_ttl */
.ft_ttl{
	border-bottom:#c9c9c9 dotted 1px;
	padding-bottom:1.6rem;
	margin-bottom:.8rem;	
}
.ft_ttl .company{
	font-size:1.8rem;
	font-weight:500;
	margin-right:1em;	
}
.ft_ttl .address{
	font-size:1.3rem;	
}


/* .ft_nav_list */
.ft_nav_list{
	margin-bottom:4rem;
	padding-right:8rem;
}
.ft_nav_list_box{
	padding-right:8rem;	
}
.ft_nav_list_box ul.blank{
	margin-bottom:1.5em;
}
.ft_nav_list ul li{
	padding:.5rem 0;	
}
.ft_nav_list ul li a{
	font-size:1.3rem;	
}
.ft_nav_list_child{
	padding:.5rem 0 0;	
}
.ft_nav_list_child li{
	position:relative;	
}
.ft_nav_list_child li::before{
	content:"";
	width:.5rem;
	height:.2rem;
	background:#333;
	position:absolute;
	top:55%;
	left:0;
	display:block;	
}
.ft_nav_list_child li a{
	padding-left:1.2rem;	
}

/* .ft_nav_info */
.ft_nav_info{
	padding-top:1rem;	
}
.ft_nav_info .tel{
	margin-bottom:1.5rem;
}
.ft_nav_info .tel span{
	background:url(../images/icon-tel-bk.png) no-repeat 0 50%;
	-moz-background-size:2.1rem auto;
	background-size:2.1rem auto;
	font-size:2.4rem;
	display:inline-block;
	padding:.3rem 0 .3rem 3.8rem;	
}
.ft_nav_info .tel span::after{
	content:"（代表）";	
	font-size:1.4rem;
	font-family: 'Noto Sans JP', sans-serif;
}
.ft_nav_info .tel a{
	display:none;	
}

.ft_nav_info .link{
	margin-bottom:2.5rem;
}
.ft_nav_info .link li{
	padding:.5rem 0;
}

.ft_nav_info .sns li{
	display:inline-block;
	margin-right:1rem;
	width:2.1rem;
}
.ft_nav_info .sns li img{
	width:100%;
	height:auto;	
}


/* .footer_bottom */
.footer_bottom{
	padding-top:7rem;	
}

/* .ft_bottom_nav */
.ft_bottom_nav li{
	font-size:1.2rem;
	line-height:1;
	padding:0 1em;
	border-right:#333 solid 1px;	
}
.ft_bottom_nav li:first-child{
	padding-left:0;	
}
.ft_bottom_nav li:last-child{
	padding-right:0;
	border-right:none;	
}

/* .copyright */
.copyright{
	font-size:1rem;	
}


/* ---------  footer ここまで ------------ */



/* --- .main_visual --- */

.main_visual{
	background:#fff;
	position:relative;
	height:78rem;
}

.main_visual .bg{
	width:1100px;
	margin:0 auto;
	position:relative;
	height:78rem;
}
.main_visual .bg::before{
	content:"";
	width:calc(100% + 1020px);
	height:66rem;
	display:block;
	position:absolute;
	bottom:0;
	right:8rem;
	background:url(../images/main-visual-bg.jpg) no-repeat 100% 50%;
	-moz-background-size:cover;
	background-size:cover;
	z-index:0;
}


/* .main_visual_outer */
.main_visual_outer{
	width:1100px;
	position:absolute;	
	top:0;
	right:0;
	left:0;
	margin:auto;
	height:78rem;
	z-index:1;		
}


/* .main_visual_inner */
.main_visual_inner{
	width:calc(25vw + 1020px);
	height:66rem;
	position:absolute;
	top:0;
	left:8rem;
}


/* .main_visual_slider */
.main_visual_slider{
	width:100%;
	height:66rem;
	overflow:hidden;
	position:absolute;
	top:0;
	z-index:2;
}
.main_visual_slider .mv{
	height:66rem;
	width:100%;
	background-position:50% 50%;
	background-repeat:no-repeat;
	-moz-background-size:cover;
	background-size:cover;
}
.main_visual_slider .mv1{
	background-image:url(../images/main-visual-slide01.jpg);	
}
.main_visual_slider .mv2{
	background-image:url(../images/main-visual-slide02.jpg);	
}
.main_visual_slider .mv3{
	background-image:url(../images/main-visual-slide03.jpg);	
}
.main_visual_slider .mv4{
	position:relative;
}


/* YouTube layout */
.top-movie-box{
	height: 100%;
	position: relative;
	z-index: 0;
	overflow: hidden;
}
.top-movie-box::before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.movie-cover{
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: opacity 0.5s;
}
#movie{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
}


/* .catch */
.main_visual .catch{
	color:#fff;
	position:absolute;
	z-index:3;
	top:0;
	left:0;
	padding-left:13rem;	
	display: flex;
	align-items: center;
	height:100%;
}
.main_visual .catch .en{
	font-size:1.6rem;
	line-height:1.8;
	font-weight:400;
	margin-bottom:1.5rem;
}
.main_visual .catch .ja{
	font-size:6.6rem;
	line-height:1.3;
	font-weight:400;
}

/*  .scroll  */
.main_visual .scroll{
	position:absolute;
	left:-16rem;
	bottom:-5rem;
}
.main_visual .scroll a{
	display: inline-block;
	position:relative;
	width:9rem;
	height:9rem;
}
.main_visual .scroll a::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right:0;
	margin:auto;
	width: 25px;
	height: 84px;
	background:url(../images/scroll.png) no-repeat 50% 0;
	animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}




/* --- .main_title --- */
.main_title{
	background:#fff;
	height:47rem;
	position:relative;
}

.main_title .bg{
	width:1100px;
	margin:0 auto;
	position:relative;
	height:47rem;
}
.main_title .bg::before{
	content:"";
	width:calc(100% + 1020px);
	height:35rem;
	display:block;
	position:absolute;
	bottom:0;
	right:8rem;
	background:url(../images/main-title-bg.jpg) no-repeat 100% 50%;
	background-repeat:no-repeat;
	-moz-background-size:cover;
	background-size:cover;
	z-index:0;
}


.main_title .title{
	flex-direction: column;
	height:40vw;
	max-height:47rem;
	color:#fff;
}
.main_title .title span{
	display:block;	
}
.main_title .title .en{
	font-size:3.6rem;
	font-weight:500;
	margin-bottom:.5em;
	font-family: 'Alata', sans-serif;
	letter-spacing:.05em;
}
.main_title .title .ja{
	font-size:1.8rem;
	font-weight:500;
	letter-spacing:.1em;
}
.main_title_inner{
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	z-index:2;
}
.main_title .mv{
	width:1100px;
	position:absolute;	
	top:0;
	right:0;
	left:0;
	margin:auto;
	height:47rem;
	z-index:1;	
}
.main_title .mv::before{
	content:"";
	width:calc(25vw + 1020px);
	height:42rem;
	display:block;
	background-position:0 50%;
	background-repeat:no-repeat;
	-moz-background-size:cover;
	background-size:cover;
	overflow:hidden;
	z-index:1;
	position:absolute;
	top:0;
	left:8rem;
}





/* ---------  ver.PC-SmartPhone ------------ */


@media screen and (max-width:1199px){

.header_global_nav li a{
	padding:2rem 1rem;
}
.header_global_nav li a span{
	font-size:1.6rem;
	font-weight:500;
	colo:#000;	
}

	
}


@media screen and (max-width:1099px){

/* --- header --- */

header {
	height:78px;
	background:#fff;
}

.header_main .logo{
	padding:0 0 0 .7rem;
	height:auto;	
}
.header_main .logo a{
	display: flex;
	justify-content: center;
	align-items: center;
	height:78px;
}
.header_main .logo img{
	width:20rem;
}
.header_main .logo img.sp_none{
	display:none;
}
.header_main .logo img.pc_none{
	display:block;
}

.header_conts{
	display:none;
}


/* --- Nav Botton --- */

.snavbtn {
	top:2.2rem;
	right:0;
}


/* --- footer --- */

footer {
	padding:4rem 0;
}

footer .inner {
	width:100%;
	margin:0 auto;
	padding:0 4vw;
}

footer .inner,
.footer_left,
.footer_right {
	width:100%;
	min-width: 100%;
}

/* .ft_logo */
.ft_logo{
	margin-bottom:1.5rem;	
}
.ft_logo img{
	width:9rem;	
}

/* .ft_ttl */
.ft_ttl{
	padding-bottom:2rem;
	margin-bottom:1rem;	
}
.ft_ttl span{
	display:block;	
}
.ft_ttl .company{
	margin-bottom:.8rem;	
}

/* .ft_nav_list */
.ft_nav_list{
	order:2;
	border-top:#c9c9c9 dotted 1px;
	border-bottom:#c9c9c9 dotted 1px;
	padding:1.5rem 1.5rem 2rem;
	margin-bottom:0;
	width:100%;
}
.ft_nav_list_inner{
	max-width:44rem;
	margin:0 auto;
}


/* .ft_nav_info */
.ft_nav_info{
	order:1;
	margin:0 auto;
	padding-bottom:2rem;
}


/* .footer_bottom */
.footer_bottom{
	padding-top:3rem;			
}

/* .ft_bottom_nav */
.ft_bottom_nav{
	padding-bottom:2rem;
}



/* --- page top --- */

#page-top {
	top:-7rem;
	right:0;
}


/* --- .main_visual --- */
.main_visual{
	background:#fff;
	height:58vw;
}

.main_visual .bg{
	display:none;	
}

/* .main_visual_outer */
.main_visual_outer{
	width:100%;
	height:58vw;	
}

/* .main_visual_inner */
.main_visual_inner{
	left:0;
	width:100%;
	height:58vw;
}


/* .main_visual_slider */
.main_visual_slider{
	width:100%;
	height:58vw;
}
.main_visual_slider .mv{
	width:100%;
	height:58vw;
	max-height:58vw;
}
.main_visual_slider .mv4 iframe{
	width:100%;
	height:58vw;
	max-height:58vw;	
}

#slider{background:#fff;}



/* .catch */
.main_visual .catch{
	padding-left:5vw;	
}
.main_visual .catch .en{
	font-size:1.3rem;
}
.main_visual .catch .ja{
	font-size:3.6rem;
}

/*  .scroll  */
.main_visual .scroll{
	display:none;	
}


/* --- .main_title --- */
.main_title{
	background:#fff;
	height:30vw;
}
.main_title .bg{
	display:none;	
}
.main_title .title{
	height:30vw;
}
.main_title .mv::before{
	height:30vw;
	width:100%;
	left:0;
	background-position:50% 50%;
	-moz-background-size:cover;
	background-size:cover;
}


			
}


@media screen and (max-width:1099px){

.outer{
padding:0 0 9rem;	
}

.outer .inner{
padding:0 3vw;	
}
	
}


@media screen and (max-width:939px){

/* --- nav --- */

nav {
	overflow-y:auto;
	padding-left:0;
}

.nav_inner {
	padding:8vw 4vw;
}

.nav_conts{
	width:100%;	
}

.nav_list{
	max-width:100%;
}

.nav_bg{
	display:none;	
}

/* .nav_info */
.nav_info .tel{
	text-align:center;	
}
.nav_info .tel a{
	background:url(../images/icon-tel-wh.png) no-repeat 0 50%;
	-moz-background-size:2.1rem auto;
	background-size:2.1rem auto;
	font-size:2.4rem;
	display:inline-block;
	padding:.3rem 0 .3rem 3.8rem;	
}
.nav_info .tel a::after{
	content:"（代表）";	
	font-size:1.4rem;
	font-family: 'Noto Sans JP', sans-serif;
}
.nav_info .tel span{
	display:none;	
}



/* --- footer --- */

/* .ft_nav_info */
.ft_nav_info .tel a{
	background:url(../images/icon-tel-bk.png) no-repeat 0 50%;
	-moz-background-size:2.1rem auto;
	background-size:2.1rem auto;
	font-size:2.4rem;
	display:inline-block;
	padding:.3rem 0 .3rem 3.8rem;
}
.ft_nav_info .tel a::after{
	content:"（代表）";	
	font-size:1.4rem;
	font-family: 'Noto Sans JP', sans-serif;
}
.ft_nav_info .tel span{
	display:none;	
}
	
}




/* ---------  ver.SmartPhone ------------ */

/* font-size ---

if : window size = 750px 


*/


@media screen and (max-width:768px){

.inner {
	width:100%;
	margin:0 auto;
	padding:0 4vw;
}


/* --- main --- */

main {
	padding-bottom:120px;
}


/* --- header --- */

header {
	height:62px;
}

.header_main .logo a{
	height:62px;
}
.header_main .logo img{
	width:15rem;
}


/* --- Nav Botton --- */

.snavbtn {
	width:62px;
	height:62px;
	padding-top:1.3rem;
	top:0;
	right:0;
}

.snavbtn span {
	width:26px;
}


.snavbtn.btn_close{
	top:0;
}

.snavbtn h4 {
	font-size:1rem;
}


/* .is-fixed */
.snavbtn.is-fixed {
	padding-top:1.2rem;
}


/* --- page top --- */

#page-top {
	top:-7rem;
	right:0;
}

#page-top:hover {
	opacity:1;
}


/* --- .main_visual --- */

/* .catch */
.main_visual .catch .en{
	font-size:1rem;
	margin-bottom:1rem;
}
.main_visual .catch .ja{
	font-size:2.4rem;
}


/* --- .main_title --- */
.main_title .title .en{
	font-size:2.6rem;
}
.main_title .title .ja{
	font-size:1.3rem;
}


}

@media screen and (max-width:480px){
	
/* --- Nav --- */

.nav_list_box ul.blank{
	margin-bottom:0;
}

	
/* --- .main_title --- */
	
.main_title{
	height:35vw;
}
.main_title .title{
	height:35vw;
}
.main_title .mv::before{
	height:35vw;
}


/* --- footer --- */

.ft_nav_list_box ul.blank{
	margin-bottom:0;
}

	
}
/* ---------  ver.SmartPhone fin ------------ */



