@charset "UTF-8";

@import url(//db.onlinewebfonts.com/c/490a4d8d3a78b2c0ba5e434c76234790?family=DIN+Alternate);
body {
	width: 100vw;
	position: relative;
}

.inner {
	max-width: 1200px;
	margin: 0 auto;
}
header {
background: #5a9edb;
	position: fixed;
	top: 0;
	right: 50%;
	transform: translateX(50%);
padding: 2rem;
	height: 110px;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	z-index: 9;
	}
header h1 {
	width: 118px;
	height: 87px;
	background: url("../img/frais_logo.svg") no-repeat center center / contain;
}
header .hd_nav{
	display: flex;
	align-items: center;
font-size: 1.125rem;
	margin: 0 0 0 auto;
}
header .hd_nav li:first-child{
	padding: 5px 25px;
}
header .hd_nav li:nth-child(2) {
	padding: 5px 15px;
	padding-left: 50px;
	border: 2px solid #fff;
	border-radius: 30px;
	
	background: url("../img/frais_cart_icon.svg") no-repeat left 15px center/24.2px;
}
header .hd_nav li a{
	text-decoration: none;
	color: #fff;
	font-family: futura;
	letter-spacing: 0.1rem;
}
header .hd_nav li:first-child a::after{
	content: 'JP';
	color: #CCCCCC;
}

@media(max-width:1000px){
	header .hd_nav{
		display: flex;
		flex-flow: column-reverse;
		margin-top: 24px;
	}
	header .hd_nav li:first-child{
		margin-top: 0.2rem;
	}
	
}
@media(min-width:571px){
	.br_sr{
		display: none;
	}
}
@media(max-width:570px){
	header{
		padding: 2rem 1rem;
	}
	header h1{
transform: scale(0.8);
	}
header .hd_nav li:nth-child(2){
		transform: scale(0.8);
	}
		.shopping_cart h1{
		text-align: center;
	}
}
/*　ハンバーガーボタン　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 102;
  right: 50%;
  transform: translateX(50%);
  top   : 24px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #fff;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span{
  background :#000;
}
.hamburger.active span:nth-child(1) {
  -webkit-transform: translateY(6px);
  -moz-transform   : translateY(6px);
  transform        : translateY(6px);
}
.hamburger.active span:nth-child(2){
-webkit-transform: translateY(-4px);
  -moz-transform   : translateY(-4px);
  transform        : translateY(-4px);
}  

.hamburger.active span:nth-child(3) {
  -webkit-transform: translateY(-14px);
  -moz-transform   : translateY(-14px);
  transform        : translateY(-14px);
}

nav.globalMenuSp {
  position: fixed;
  z-index : -1;
  top  : 0;
  left : 0;
  color: #000;
  background: rgba(255,255,255,0.8);
  text-align: center;
  width: 100%;
  opacity: 0;
  transition: opacity .6s ease, visibility .6s ease;
}

nav.globalMenuSp ul {
  margin: 0 auto;
  padding: 0;
  width: 100%;
	padding-top: 80px;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}
nav.globalMenuSp ul li a:hover{
  color: rgba(52, 167, 178, 1)
}

nav.globalMenuSp ul li a {
  display: block;
  color: #000;
  padding: 1em 0;
  text-decoration :none;
	font-size: 1.5rem;
	font-weight: bold;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  opacity: 100;
	z-index: 10;
}

.top_main {
	width: 100%;
	height: 390px;
	background: #5a9edb;
	position: relative;
}
.top_main h1{
	position: absolute;
top: 50%; 
	left: 50%; 
	transform: translate(-50%,-50%);
	margin-top: 2.5rem;
	font-size: 3rem;
	color: #ffcd2c;
	letter-spacing: 0.1rem;
	white-space: nowrap;
}
.top_main h1 .before{
	color: #fff;
	font-size: 4.5rem;
	position: absolute;
	top: 35px;
	left: -75px;
	transform: rotate(-25deg);
	animation: slow 1s ease 0s infinite alternate;
}
@keyframes slow {
	0% {
		transform: rotate(-15deg);
	}
	100% {
		transform: rotate(15deg);
	}
}
.top_main h1 .after{
	color: #fff;
	font-size: 3rem;
	position: absolute;
	top:-40px;
	right: -45px;
	transform: rotate(20deg);
	animation: opposite 1s ease 0s infinite alternate;
}
@keyframes opposite {
	0% {
		transform: rotate(15deg);
	}
	100% {
		transform: rotate(-15deg);
	}
}
.top_main img{
	height: 380px;
	position: absolute;
	top: 150px;
	right: 120px;
	transform: rotate(15deg);
	animation: SlideIn 1.6s;
}
@keyframes SlideIn {
  0% {
    opacity: 0;
    transform: translateX(100px);
			
  }
  100% {
    opacity: 1;
    transform: translateX(0);
			transform: rotate(15deg);
  }
}
main{
	height: 2320px;
}
main .block01{
	max-width: 1200px;
	margin-top: 160px;
	display: flex;
	justify-content: space-between;
	align-content: center;
	overflow: hidden;
}
main .block01 .japan_map {
	width: 461px;
	margin-left: 75px;
}
main .block01 .text_area{
	max-width: 480px;
	display: flex;
	align-items: center;
	margin-right: 75px;
}
main .block01 .text_area .text_box{
position: relative;
}
main .text_box h1{
	font-size: 2.5rem;
	color: #f2ba2f;
	letter-spacing: 0.1rem;
	margin-bottom: 55px;
}
main .text_box p {
	font-size: 1.25rem;
	letter-spacing: 0.1rem;
text-align: justify;
	padding: 0 1rem;
}
main .block01 .text_area .text_box img{
	width: 136px;
	position: absolute;
bottom: -100px;
	right: 0;
}

main .block02{
	max-width: 1200px;
	margin-top: 160px;
	display: flex;
	justify-content: space-between;
	align-content: center;
}
main .block02 .text_area02 {
	max-width: 500px;
	margin-left: 75px;
}
main .block02 .text_area02 h1{
	color: #2d9196;
}
/*main .block02 .text_area02 p{
text-align: justify;
}*/
main .block02 .text_area02 .text_box{
	position: relative;
}
main .block02 .text_area02 .text_box img{
	width: 190px;
	position: absolute;
	right: -300px;
}
main .block02 .no_added_icon {
	margin-right: 75px;
}
@media(max-width:1000px){
	.top_main img{
		height: 250px;
			position: absolute;
	top: 70%;
	right: 10%;
	}
	main .block01{
		flex-direction: column;
	align-items: center;
	}
	main .block01 .japan_map{
		transform: scale(0.8);
	}
	main .block01 .text_area{
		margin-right: 0;
	}
	main .block02{
		flex-direction: column-reverse;
		align-items: center;
	}
		main .block02 .text_area02{
		margin-left: 0;
	}
	main .block02 .no_added_icon{
		margin-right: 0;
		margin-bottom: 2rem;
	}
	main .block02 .text_area02 .text_box img{
	position: absolute;
	right: 0;
}
}
@media (max-width:570px) {
	.top_main h1{
		text-align: center;
	}
		.top_main img{
		height: 200px;
		position: absolute;
	top: 80%;
	}
	main .text_box h1{
		font-size: 1.5rem;
		text-align: center;
	}
	main .text_box p{
		font-size: 1rem;
		text-align: center;
	}
	main .block01 .text_area .text_box img{
	transform: scale(0.7);
	position: absolute;
bottom: -100px;
	right: 0;
}
	main .block02 .no_added_icon{
		transform: scale(0.9);
	}
	main .block02 .text_area02 .text_box img{
		transform: scale(0.7);
	}
}
@keyframes rotate {
	0% {
		transform: rotate(0);
	}
	50% {
		transform: rotate(15deg);
	}
	100% {
		transform: rotate(0);
	}
}
main .block03{
	max-width: 1200px;
	margin-top: 250px;
	display: flex;
	justify-content: space-between;
	align-content: center;
}
.icons {
	width: 595px;
	height: 405px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.flex_item {
	width: calc(100% / 3);
	display: flex;
	justify-content: center;
}
.flex_item:nth-child(n+4){
	padding-top: 50px;
}

.flex_item .set {
		text-decoration: none;
	display: block;
	text-align: center;
	color: #f4832f;
	font-size: 1.25rem;

	letter-spacing: 0.1rem;
}
.flex_item .set p {
	margin-top: 10px;
}
main .block03 .text_box {
	margin-right: 75px;
	text-align: center;
	display:  flex;
	align-items: center;
}
main .block03 .text_box h1{
	position: relative;
}
main .block03 .text_box .left_crunchy {
	position: absolute;
	left: -65px;
	bottom: -35px;
	animation: rotate 1s ease 0s infinite alternate;
}
main .block03 .text_box .right_crunchy {
	position: absolute;
	top: -20px;
	right: -20px;
	animation: rotate 1s ease 0s infinite alternate;
}
@keyframes rotate {
	0% {
		transform: rotate(0);
	}
	50% {
		transform: rotate(15deg);
	}
	100% {
		transform: rotate(0);
	}
}
main .block03 .text_box img{
	height: 55px;
}
main .block03 .text_box span{
	font-size: 4.5rem;
	color: #5a9edb;
}
main .block04 {
	margin-top: 160px;
	text-align: center;
}
main .block04 h2 {
	
	font-size: 2rem;

	letter-spacing: 0.1rem;
}
main .block04 .product {
	width: 100%;
	height: 880px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

 main .block04 .flex_item {
	width: calc((100% - 2rem) / 3);
	display: flex;
	justify-content: center;
}
main .block04 .flex_item:nth-child(-n+3){
	padding-top: 80px;
}

main .block04 .flex_item a {
	height: 280px;
		text-decoration: none;
	display: block;
	text-align: center;
	color: #000;
	font-size: 1.25rem;

}
main .block04 .flex_item a:hover{
	color: #34a7b2;
}
main .block04 .flex_item a p {
		padding-top: 1rem;
}
main .block04 .package_box {
	width: 160px;
	
	transition: all 200ms 0s cubic-bezier(0, 1.8, 1, 1.8);

}
main .block04 .package_box:hover{
	transform: rotate(5deg);
}
@media(max-width:1070px){
	main{
	height: 2800px;
}
	main .block03{
		flex-flow: column-reverse;
		align-items: center;
	}
	.icons {
	width: 450px;
	height: 600px;

}

.flex_item {
	width: calc(100% / 2);
	display: flex;
	justify-content: center;
}
.flex_item:nth-child(n+3){
	padding-top: 50px;
}
	main .block03 .text_box{
		margin-right: 0;
		margin-bottom: 2rem;
	}
}
@media(max-width:1000px){
		main{
	height: 3200px;
}
}
@media(max-width:570px){
			main{
	height: 2700px;
}
	main .block03{
		margin-top: 200px;
	}
	main .block03 .text_box{
		transform: scale(0.7);
	}
	.icons{
		width: 350px;
		height: 500px;
		margin-top: -2rem;
	}
	main .block03 .icon_box{
transform: scale(0.5);
}
	.flex_item .set p {
	margin-top: -2rem;
}
	.flex_item:nth-child(n+3){
	padding-top: 0;
}
	main .block04{
		margin-top: 90px;
		overflow: hidden;
	}
	main .block04 .package_box{
		transform: scale(0.4);
	}
	main .block04 .package_box:hover{
	transform: rotate(5deg);
		transform: scale(0.4);
}
	main .block04 .flex_item:nth-child(-n+3){
	padding-top: 0;
}
	main .block04 .flex_item a p{
		font-size: 1rem;
		margin-top: -4rem;
	}
}


.shipping{
	width: 100%;
	height: 72px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #f5e4c3;
}
.shipping h2{
	font-family: "DIN Alternate";
	font-size: 1.25rem;
	letter-spacing: 0.1rem;
	color:rgba(52.0, 167.0, 178.0, 1.0);
}
.email{
	width: 100%;
	height: 270px;
	background: #fff;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 5;
	overflow: hidden;
}
.email .chips {
	position: absolute;
	bottom: 0;
	z-index: -1;
}
.email .apples {
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}
.email .mid_email{
	margin: 0 auto;
	width: 845px;
	height: 87px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.mid_email h1 {
	font-size: 2rem;
	letter-spacing: 0.05em;
}
.mid_email .sign_up h2 {
		font-size: 1rem;
	letter-spacing: 0.05em;
}
.mid_email .sign_up form {
	margin-top: 1rem;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.mid_email .sign_up input[type=email] {
  background-color: #e6e6e6;
	font-size: 1em;
	letter-spacing: 0.1em;
  color: #8A8A8A;
  padding: 12px 20px;
  border: none;
  border-radius: 4px 0 0 4px;
  cursor: pointer;
}
.mid_email .sign_up input::placeholder {
  color: #b3b3b3;
}
.mid_email .sign_up input[type=submit] {
	-webkit-appearance: none;
	appearance: none;
	background: rgba(0,0,0,1);
	opacity: 1;
		font-family: "DIN Alternate";
	font-size: 1.25em;
	letter-spacing: 0.1em;
  color: white;
  padding: 9px 20px;
  border: none;
  border-radius: 0 4px 4px 0;
  cursor: pointer;
	margin: 0 0 0 -2px;
}
footer {
	width: 100%;
}
footer .bottom_nav {
	display: flex;
	justify-content: space-between;
	width: 100%;
	height: 369px;
	background: rgba(52.0, 167.0, 178.0, 1.0);
	position: relative;
}
footer .bottom_nav h1 {
		width: 166px;
	height: 122px;
	background: url("../img/frais_logo.svg") no-repeat center center / contain;
	position: absolute;
	left: 106px;
	top: 77px;
}
footer .bottom_nav .bottom_menu {
	display: flex;
	justify-content: space-between;
	padding-left: 297px;
	padding-top: 100px;
}
@media(min-width:1039px){
	footer .bottom_nav .bottom_menu{
		width: 780px;
	}
}
footer .bottom_nav .bottom_menu li a{
		text-decoration: none;
	color: #fff;
	font-size: 1.5rem;
}
footer .bottom_nav .bottom_menu li a:hover{
	color: #ffcd2c;
}
footer .bottom_nav .sns_nav {
	padding-top: 100px;
	padding-right: 10%;
}
footer .bottom_nav .sns_nav span {
		color: #fff;
	font-size: 1rem;
}
footer .bottom_nav .sns_nav a {
	display: inline-block;
	text-align: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #fff;
margin-top: 1rem;
	margin-right: 0.5rem;
}
footer .bottom_nav .sns_nav a:hover{
	transform: rotate(10deg);
			display: inline-block;
	text-align: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
}
footer .bottom_nav .sns_nav a i {
	line-height: 40px;
	color: rgba(28.0, 86.0, 84.0, 1.0);
}
footer .copyright {
	width: 100%;
	height: 56px;
	background: rgba(45.0, 145.0, 150.0, 1.0);
	display: flex;
	justify-content: center;
	align-items: center;
	}
footer .copyright small {
	font-size: 0.75rem;
	font-family: "DIN Alternate";
	margin-right: 0.5rem;
	color: 	rgba(28.0, 86.0, 84.0, 1.0);
}
footer .copyright .footer_nav {
	display: flex;
}
footer .copyright .footer_nav li {
	margin-right: 0.5rem;
}
footer .copyright .footer_nav li a {
	font-size: 0.75rem;
	font-family: "DIN Alternate";
	text-decoration: none;
	color: rgba(28.0, 86.0, 84.0, 1.0);
}
footer .copyright .footer_nav li a::before {
	content: "|";
	color: rgba(28.0, 86.0, 84.0, 1.0);
	margin-right: 0.5rem;
}
@media (max-width:1038px){

.shipping h2{
		font-size: 1rem;
	}
	
	.email .mid_email{
	display: flex;
	flex-flow: column;
		justify-content: center;
	align-items: center;
}
	.mid_email h1 {
	font-size: 1.25rem;
}
	.mid_email .sign_up{
		margin-top: 2rem;
		display: flex;
		flex-flow: column;
		align-items: center;
	}
	.email .chips{
		transform: scale(0.8);
	}
.email .apples{
		transform: scale(0.8);
	position: absolute;
	top: -5%;
	right: -8%;
	}
	footer .bottom_nav {
		display: flex;
		flex-flow: column;
padding-left: 48%;
	height: 269px;
}
	footer .bottom_nav h1 {
		width: calc(166px * 0.6);
	left: 10%;
	top: 25%;
}
	footer .bottom_nav .bottom_menu {
	display: flex;
		flex-flow: column;
		padding-left: 0;
	padding-right: 0;
	padding-top: 0;
		
}
	footer .bottom_nav .bottom_menu li a{
		font-size: 1.25rem;
	}
	footer .bottom_nav .sns_nav span {
		font-size: 1.25rem;
	}
	footer .bottom_nav .sns_nav {
	padding-top: 0;
	padding-right: 10%;
}
	footer .bottom_nav .sns_nav a{
		margin-top: 0;
		margin-bottom: 1rem;
		transform: scale(0.7);
	}
}