@charset "utf-8";

html,
body {
  margin: 0;
  padding: 0;
}
body {
/*background: #c4da76;*/
background: #fff;
}
.wrapper {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  overflow: hidden;
}

@media screen and (min-width: 1201px) {
  .wrapper {
    max-width: 1200px;
  }
}

.parallax-section {
  position: relative;
  overflow: hidden;
}

.parallax-bg-single {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 300vh;
  background: url("../images/bg_top.jpg") center 0px / cover no-repeat;
  z-index: 1;
  pointer-events: none;
  will-change: transform, top, left, width;
}

.parallax-bg-single.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
}

.head_area {
  position: relative;
  z-index: 2;
  min-height: 40vh;
  padding: 6% 0 2%;
  box-sizing: border-box;
  background: transparent;
}

.parallax-pin-area {
  position: relative;
  z-index: 2;
  background: transparent;
  padding-bottom:80px;
}

.parallax-body {
  position: relative;
  z-index: 2;
  padding: 0 0;
  background: transparent;
}

.inner {
  width: min(90%, 1000px);
  margin-left: auto;
  margin-right: auto;
  padding: 40px 30px;
  background: #f5f2d6;
  box-sizing: border-box;
  border-radius: 30px;
  position: relative;
}

.head_inner {
  position: relative;
}

.header_logo {
  width: 100%;
  max-width: 12%;
  position: absolute;
  top: 3%;
  left: 0px;
}

.head01 {
  width: 100%;
  max-width: 50%;
  margin: 0 auto;
}

.head02 {
  width: 100%;
  max-width: 70%;
  margin: 0 auto;
}

.head03 {
  width: 100%;
  max-width: 45%;
  margin: 0 auto;
}

.head04 {
  width: 100%;
  max-width: 16%;
  margin: 0 auto;
  position: absolute;
  top: 24%;
  right: 0px;
}
.head05_wrap {
  width: 100%;
  max-width: 36%;
  position: absolute;
  top: 28%;
  right: -50px;
  animation: floatX 7.3s ease-in-out infinite;
}

.head05 {
  width: 100%;
  animation:
    floatY 5.8s ease-in-out infinite,
    floatRotate 8.7s ease-in-out infinite;
  will-change: transform;
}

.head05 img {
  display: block;
  width: 100%;
  height: auto;
}

.head06 {
  width: 100%;
  max-width: 60%;
  margin: 0 auto;
  position: absolute;
  top: 74%;
  left: 4%;
}


.head07_wrap {
  position: absolute;
  left: 0;
  top: calc(74% + 8%);
  z-index: 5;
  width: 100%;
  pointer-events: none;
}

.head07_move {
  position: absolute;
  left: -30%;
  top: 0;
  width: 100%;
  max-width: 30%;
  offset-distance: 0%;
  offset-rotate: 0deg;
  will-change: offset-distance;
}

.head07_move img {
  display: block;
  width: 100%;
  height: auto;
}

.head07_move.is-run {
  animation: uniOneMove 5s ease-out forwards;
}

.head07_inner {
  transform-origin: center center;
  will-change: transform;
}

.head07_inner.is-wobble {
  animation: uniWobble 0.6s ease-in-out;
}

@keyframes uniOneMove {
  0% {
    offset-distance: 0%;
  }
  100% {
    offset-distance: 100%;
  }
}

@keyframes uniWobble {
  0%   { transform: translate(0px, 0px) rotate(0deg); }
  25%  { transform: translate(2px, -1px) rotate(0.4deg); }
  50%  { transform: translate(-2px, 1px) rotate(-0.4deg); }
  75%  { transform: translate(1px, -1px) rotate(0.3deg); }
  100% { transform: translate(0px, 0px) rotate(0deg); }
}

.head08 {
  width: 100%;
  max-width: 70%;
  margin: 0 auto;
  margin-top: 68%;
}

@keyframes uniOneMove {
  0% {
    offset-distance: 0%;
  }
  100% {
    offset-distance: 100%;
  }
}

/* 2秒待ってから細かく右往左往 */
@keyframes uniHoverWobble {
  0%   { transform: translate(0px, 0px) rotate(0deg); }
  12%  { transform: translate(2px, -1px) rotate(0.3deg); }
  25%  { transform: translate(-2px, 1px) rotate(-0.3deg); }
  38%  { transform: translate(1px, 1px) rotate(0.2deg); }
  50%  { transform: translate(-1px, -1px) rotate(-0.2deg); }
  62%  { transform: translate(2px, 0px) rotate(0.25deg); }
  75%  { transform: translate(-2px, 1px) rotate(-0.25deg); }
  88%  { transform: translate(1px, -1px) rotate(0.15deg); }
  100% { transform: translate(0px, 0px) rotate(0deg); }
}







@keyframes floatX {
  0%   { transform: translateX(0); }
  40%  { transform: translateX(-6px); }
  70%  { transform: translateX(8px); }
  100% { transform: translateX(0); }
}

@keyframes floatY {
  0%,
  100% { transform: translateY(0); }
  50%  { transform: translateY(-28px); }
}

@keyframes floatRotate {
  0%,
  100% { rotate: 0deg; }
  50%  { rotate: 1.2deg; }
}










@media screen and (max-width: 767px) {
  .head_area {
    padding: 6% 0 5%;
  }

  .parallax-pin-area {
    min-height: 100vh;
    padding-bottom:40px;
  }
.parallax-bg-single {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1800px;
  background: url("../images/bg_top.jpg") center top / cover no-repeat;
  z-index: 1;
  pointer-events: none;
  will-change: transform, top, left, width;
}
  .parallax-body {
    padding: 0 0;
  }

  .inner {
    padding: 30px 15px;
  }
  
.head06 img {
  transform: rotate(0deg);
}
  .head06 {
    top: 380px;
    left: 10px;
    transform: rotate(45deg);
  }

  .head07_wrap {
    top: 420px;
  }
  .head08 {
  width: 100%;
  max-width: 70%;
  margin: 0 auto;
margin-top:300px;
}
}
  



.line01 span:after {
    background: radial-gradient(circle farthest-side, #40210f, #40210f 60%, transparent 60%, transparent);
    background-size: 6px;
    content: '';
    display: inline-block;
    height: 6px;
    width: 100%;
}
h2.title01 {
  display: block;
  padding-bottom:20px;
  width:100%;
  text-align: center;
}
h2.line01 span {
  display: block;
}
h2.title01 span img {
width:45%;
margin-bottom:1em;
margin-left:auto;
margin-right:auto;
}
.ico_ribon01 {
width:40%;
max-width: 250px;
position: absolute;
top:-3%;
left:-2%;
}
.ico_ribon02 {
width:40%;
max-width: 250px;
position: absolute;
top:-3%;
right:-2%;
}
@media screen and (max-width: 767px) {
.ico_ribon01 {
width:40%;
max-width: 30%;
position: absolute;
top:-1.6%;
left:-2%;
}
}

p.main_text {
font-size:18px;
line-height: 1.8;
color:#40210f;
}
p.main_text2 {
font-size:15px;
line-height: 1.6;
color:#40210f;
}
@media screen and (max-width: 767px) {
p.main_text {
font-size:3vw;
line-height: 1.8;
color:#40210f;
}
p.main_text2 {
font-size:3.0vw;
line-height: 1.5;
color:#40210f;
}
}
.box1_w {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
position: relative;
}
.box1_1 {
width:58%;
background-image: linear-gradient(#eddd61, #f4eba6);
padding: 15px;
position: relative;
margin-bottom:20px;
}
.box1_2 {
width:40%;
background-image: linear-gradient(#eddd61, #f4eba6);
padding: 15px;
position: relative;
margin-bottom:20px;
}
.box1_3 {
width:45%;
background-image: linear-gradient(#eddd61, #f4eba6);
padding: 15px;
position: relative;
margin-bottom:20px;
}
.box1_4 {
width:53%;
background-image: linear-gradient(#eddd61, #f4eba6);
padding: 15px;
position: relative;
margin-bottom:20px;
}
.box h2 span:after {
background: radial-gradient(circle farthest-side, #40210f, #40210f 60%, transparent 60%, transparent);
background-size: 4px;
content: '';
display: inline-block;
height: 4px;
width: 100%;
}
.box h2 {
text-align: center;
font-size:18px;
padding-bottom:0px;
color:#40210f;
line-height: 1.4;
margin-bottom:1em;
}
.box h2 strong {
text-align: center;
font-size:24px;
padding-bottom:0px;
color:#40210f;
line-height: 1.4;
margin-bottom:1em;
font-weight:bold;
}
.box p {
font-size:14px;
color:#40210f;
}
.box1_1 .ico {
width:140px;
position: absolute;
top:-20px;
left:-10px;
}
.box1_2 .ico {
width:60px;
position: absolute;
top:-20px;
left:-10px;
z-index: 2;
}
.box1_2 .ico2 {
width:100px;
position: absolute;
top:-20px;
right:-10px;
z-index: 3;
}
.box1_3 .ico {
width:100px;
position: absolute;
top:-20px;
right:0px;
}
.box2_w {
display:flex;
justify-content: space-between;
flex-wrap: wrap;
position: relative;
}
.box2_1 {
width:46%;
}
.box2_2 {
width:42%;
padding-top:40px;
}
.box4_w {
display:flex;
justify-content: space-between;
flex-wrap: wrap;
position: relative;
}
.box4_1 {
width:49%;
display:flex;
justify-content: space-between;
position: relative;
}
.box4 {
padding-bottom:30px;
}
.box4_2 {
width:48%;
}
.box4_1_1 {
width:48%;
}
.box4_1_2 {
width:48%;
padding-top:50px;
}
@media screen and (max-width: 767px) {
.box4 {
padding-bottom:15px;
}
.box4_w {
display:block;
}
.box4_1 {
width:100%;
display:flex;
justify-content: space-between;
}
.box4_2 {
width:100%;
}
}
p.caption {
font-size:14px;
color:#40210f;
}
.box2_w p.caption {
margin-top:-3em;
}
@media screen and (max-width: 767px) {
.box2_w p.caption {
margin-top:-0em;
}
.box1_w {
display: block;
justify-content: space-between;
flex-wrap: wrap;
position: relative;
}
.box1_1 {
width:100%;
padding: 14px;
margin-bottom: 20px;
}
.box1_2 {
width:100%;
padding: 14px;
margin-bottom: 20px;
}
.box1_3 {
width:100%;
padding: 14px;
margin-bottom: 20px;
}
.box1_4 {
width:100%;
padding: 14px;
margin-bottom:0px;
}
p.main_text {
font-size:3vw;
line-height: 1.8;
}
.box h2 {
font-size:3vw;
line-height: 1;
margin-bottom:1em;
}
.box h2 strong {
font-size:3.8vw;
line-height: 1;
margin-bottom:1em;
}
.box p {
font-size:3vw;
}
.box p.caption {
font-size:2vw;
}
p.caption {
font-size:2vw;
color:#40210f;
}
.box1_1 .ico {
width:25%;
position: absolute;
top:-20px;
left:-10px;
}
.box1_2 .ico {
width:15%;
position: absolute;
top:-30px;
left:-10px;
}
.box1_2 .ico2 {
width:25%;
position: absolute;
top:-20px;
right:-10px;
z-index: 3;
}
.box1_3 .ico {
width:20%;
position: absolute;
top:-20px;
right:0px;
}
.box2_w {
display: block;
justify-content: space-between;
flex-wrap: wrap;
position: relative;
}
.box2_1 {
width:100%;
margin-bottom: 0px;
}
.box2_2 {
width:80%;
margin-bottom: 0px;
margin-left:auto;
margin-right:auto;
padding-top:0px;
}
}
h2.title02 {
  display: block;
  padding-bottom:20px;
  width:100%;
  text-align: center;
}
h2.line02 span {
  display: block;
}
h2.title02 span img {
width:65%;
margin-bottom:1em;
margin-left:auto;
margin-right:auto;
}
h2.title03 {
  display: block;
  padding-bottom:20px;
  width:100%;
  text-align: center;
  color:#40210f;
}
h2.title03 span img {
width:45%;
margin-bottom:0.3em;
margin-left:auto;
margin-right:auto;
}
.box3 {
margin-top:-40px;
margin-bottom:20px
}
.box3 img {
width:100%;
}
h2.title04 {
  display: block;
  padding-bottom:20px;
  width:100%;
  text-align: center;
}
h2.title04 span img {
width:50%;
margin-bottom:1em;
margin-left:auto;
margin-right:auto;
}
h2.title05 {
  display: block;
  padding-bottom:20px;
  width:100%;
  text-align: center;
}
h2.title05 span img {
width:80%;
margin-bottom:1em;
margin-left:auto;
margin-right:auto;
}
.ico_balloon01 {
width:30%;
position: absolute;
right:-8%;
top:-6%;
}

@media screen and (max-width: 767px) {
.box3 {
margin-top:0px;
margin-bottom:20px
}
.box4 h2.title05 {
padding-bottom: 0px;
}
.box4 .box4_w {
margin-top:0px;
}
.box4_1 {
margin-bottom:25px;
}
.box4_1:nth-child(2) {
margin-bottom:15px;
}
}

.ico_balloon01 {
width:46%;
max-width: 250px;
position: absolute;
top:-10%;
right:-2%;
}
@media screen and (max-width: 767px) {
.ico_ribon02 {
width:40%;
max-width: 30%;
position: absolute;
top:-6%;
right:-2%;
}
}
.box5 {
  padding: 30px 40px;
}
@media screen and (max-width: 767px) {
.inner {
    padding: 15px 20px;
  }
.box5 {
  padding: 30px 40px;
}
}
.f_w {
width:100%;
background: #fff;
}
.f_i {
width:100%;
max-width: 1000px;
margin-left:auto;
margin-right: auto;
display:flex;
justify-content: space-between;
align-items: center;
}
.f_l1 {
width:36%;
}
.f_l2 {
width:28%;
}
.f_l3 {
width:30%;
}
.f_i p {
text-align: center;
font-size:13px;
width:100%;
display: block;
}
@media screen and (max-width: 1001px) {
.f_i {
padding-left:40px;
padding-right:40px;
}
}
@media screen and (max-width: 767px) {
.f_i {
display: block;
padding-left:20px;
padding-right:20px;
}
.f_l1 {
width:100%;
margin-bottom:40px;
padding-left:40px;
padding-right:40px;
}
.f_l2 {
width:90%;
margin-bottom:40px;
padding-left:40px;
padding-right:40px;
margin-left:auto;
margin-right:auto;
}
.f_l3 {
width:80%;
padding-left:40px;
padding-right:40px;
margin-left:auto;
margin-right:auto;
}
.f_i p {
font-size:2vw;
}
}











