/*******************************
vol027.scss
*******************************/
html {
  min-width: 1200px;
}

.contents {
  background-color: #f1e6dc;
  padding-top: 56px;
}

.cut {
  pointer-events: none;
  position: absolute;
  top: 0;
  z-index: 10;
}
.cut--1 {
  margin-top: 50px;
  left: -33px;
  width: 73px;
  animation: cut_1 1200ms infinite steps(1) 400ms;
}
@keyframes cut_1 {
  0%, 100% {
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    -webkit-transform: rotate(4deg);
    -moz-transform: rotate(4deg);
    -ms-transform: rotate(4deg);
    -o-transform: rotate(4deg);
    transform: rotate(4deg);
  }
}
.cut--1_other {
  width: 78px;
  margin-top: -76px;
  left: auto;
  right: 48px;
}
.cut--1_comment {
  margin-top: 50px;
  left: -48px;
  width: 8px;
  animation: cut_1_comment 1200ms infinite steps(1);
}
@keyframes cut_1_comment {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}
.cut--2 {
  margin-top: 40px;
  left: 316px;
  width: 50px;
  animation: cut_2 800ms infinite steps(1) 400ms;
}
@keyframes cut_2 {
  0%, 100% {
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    -webkit-transform: rotate(-6deg);
    -moz-transform: rotate(-6deg);
    -ms-transform: rotate(-6deg);
    -o-transform: rotate(-6deg);
    transform: rotate(-6deg);
  }
}
.cut--3 {
  margin-top: 412px;
  left: -24px;
  width: 140px;
}
.cut--3.show {
  animation: cut_3 5600ms infinite steps(1);
}
@keyframes cut_3 {
  0%, 42%, 46%, 50%, 100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
  44%, 48% {
    -webkit-transform: translateY(-3.6%);
    -moz-transform: translateY(-3.6%);
    -ms-transform: translateY(-3.6%);
    -o-transform: translateY(-3.6%);
    transform: translateY(-3.6%);
  }
}
.cut--3_other {
  width: 98px;
  margin-top: 320px;
  left: auto;
  right: -48px;
}
.cut--4 {
  margin-top: 408px;
  right: 20px;
  width: 126px;
}
.cut--4.show {
  animation: cut_4 2400ms infinite steps(1);
}
@keyframes cut_4 {
  0%, 100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-2%);
    -moz-transform: translateY(-2%);
    -ms-transform: translateY(-2%);
    -o-transform: translateY(-2%);
    transform: translateY(-2%);
  }
}
.cut--5 {
  margin-top: -60px;
  left: 12px;
  width: 109px;
}
.cut--6 {
  margin-top: 280px;
  right: -112px;
  width: 92px;
}
.cut--6_comment {
  margin-top: 120px;
  right: -96px;
  width: 37px;
  animation: cut_6_comment 6800ms infinite steps(1);
}
.cut--6_comment .char {
  opacity: 0;
  animation: cut_6_comment_char 6800ms infinite steps(1);
}
.cut--6_comment .char--1 {
  animation-delay: 80ms;
}
.cut--6_comment .char--2 {
  animation-delay: 160ms;
}
.cut--6_comment .char--3 {
  animation-delay: 240ms;
}
.cut--6_comment .char--4 {
  animation-delay: 320ms;
}
.cut--6_comment .char--5 {
  animation-delay: 400ms;
}
.cut--6_comment .char--6 {
  animation-delay: 480ms;
}
.cut--6_comment .char--7 {
  animation-delay: 560ms;
}
.cut--6_comment .char--8 {
  animation-delay: 640ms;
}
.cut--6_comment .char--9 {
  animation-delay: 1080ms;
}
.cut--6_comment .char--10 {
  animation-delay: 1520ms;
}
.cut--6_comment .char--11 {
  animation-delay: 1960ms;
}
@keyframes cut_6_comment_char {
  0% {
    opacity: 0;
  }
  32% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes cut_6_comment {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
.cut--7 {
  margin-top: 160px;
  right: -66px;
  width: 36px;
  animation: cut_7 1200ms infinite steps(1);
}
@keyframes cut_7 {
  0% {
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    -webkit-transform: rotate(8deg);
    -moz-transform: rotate(8deg);
    -ms-transform: rotate(8deg);
    -o-transform: rotate(8deg);
    transform: rotate(8deg);
  }
}
.cut--7_comment {
  margin-top: 118px;
  right: -100px;
  width: 41px;
}
.cut--7_comment .wrap {
  overflow: hidden;
  height: 0;
  padding-bottom: 114.63415%;
  animation: cut_7_comment 3600ms infinite ease-in-out;
}
@keyframes cut_7_comment {
  0% {
    padding-bottom: 58.53659%;
    animation-timing-function: ease-in-out;
  }
  8% {
    padding-bottom: 114.63415%;
    animation-timing-function: steps(1);
  }
  12% {
    padding-bottom: 58.53659%;
    animation-timing-function: ease-in-out;
  }
  20% {
    padding-bottom: 114.63415%;
    animation-timing-function: steps(1);
  }
  100% {
    padding-bottom: 114.63415%;
    animation-timing-function: ease-in-out;
  }
}
.cut--8 {
  margin-top: 372px;
  left: -47px;
  width: 114px;
}
.cut--8_comment {
  margin-top: 220px;
  left: -76px;
  width: 49px;
  animation: cut_8_comment 5200ms infinite steps(1);
}
@keyframes cut_8_comment {
  0%, 94% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
  91%, 97% {
    -webkit-transform: scale(1.08);
    -moz-transform: scale(1.08);
    -ms-transform: scale(1.08);
    -o-transform: scale(1.08);
    transform: scale(1.08);
  }
}
.cut--8_smoke {
  margin-top: 312px;
  left: -44px;
  width: 200px;
  animation: cut_8_smoke 4200ms cubic-bezier(0.645, 0.045, 0.355, 1) infinite;
}
@keyframes cut_8_smoke {
  from, to {
    opacity: 0;
  }
  25% {
    opacity: 0.68;
  }
  50% {
    opacity: 0.44;
  }
  75% {
    opacity: 0.84;
  }
}
.cut--9 {
  margin-top: 272px;
  right: -96px;
  width: 70px;
}
.cut--9_comment {
  margin-top: 244px;
  right: -120px;
  width: 71px;
  animation: cut_9_comment 5200ms infinite steps(1);
}
@keyframes cut_9_comment {
  0%, 94% {
    opacity: 1;
  }
  91%, 97% {
    opacity: 0;
  }
}
.cut--10 {
  margin-top: 360px;
  left: -44px;
  width: 85px;
  animation: cut_10 4800ms infinite steps(1);
}
@keyframes cut_10 {
  0%, 28%, 36% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
  24%, 32% {
    -webkit-transform: translateY(-5%);
    -moz-transform: translateY(-5%);
    -ms-transform: translateY(-5%);
    -o-transform: translateY(-5%);
    transform: translateY(-5%);
  }
}
.cut--10_comment {
  margin-top: 236px;
  left: -68px;
  width: 46px;
  animation: cut_10_comment 1200ms infinite steps(1);
}
@keyframes cut_10_comment {
  0% {
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    -webkit-transform: rotate(-4deg);
    -moz-transform: rotate(-4deg);
    -ms-transform: rotate(-4deg);
    -o-transform: rotate(-4deg);
    transform: rotate(-4deg);
  }
}
.cut--11 {
  left: -128px;
  margin-top: 60px;
  width: 81px;
}
.cut--11_comment_1 {
  left: -168px;
  margin-top: 12px;
  width: 136px;
  animation: cut_11_comment_1 7200ms infinite steps(1);
}
@keyframes cut_11_comment_1 {
  0% {
    opacity: 1;
  }
  72%,100% {
    opacity: 0;
  }
}
.cut--11_comment_1 .txt {
  animation: cut_11_comment_1_txt 7200ms infinite steps(1);
}
.cut--11_comment_1 .txt--2 {
  animation-delay: 600ms;
}
.cut--11_comment_1 .txt--3 {
  animation-delay: 1100ms;
}
.cut--11_comment_1 .txt--4 {
  animation-delay: 1500ms;
}
.cut--11_comment_1 .txt--5 {
  animation-delay: 1900ms;
}
@keyframes cut_11_comment_1_txt {
  0% {
    opacity: 1;
  }
  72% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.cut--11_comment_2 {
  left: -138px;
  margin-top: 212px;
  width: 103px;
}
.cut--11_smoke {
  left: -208px;
  margin-top: 52px;
  width: 240px;
  animation: cut_11_smoke 4000ms ease-in-out infinite;
}
@keyframes cut_11_smoke {
  from, to {
    opacity: 0;
  }
  25% {
    opacity: 0.68;
  }
  50% {
    opacity: 0.44;
  }
  75% {
    opacity: 0.84;
  }
}
.cut--12 {
  top: auto;
  left: 580px;
  bottom: 0;
  width: 342px;
  opacity: 0;
  -webkit-transform: translateX(16%);
  -moz-transform: translateX(16%);
  -ms-transform: translateX(16%);
  -o-transform: translateX(16%);
  transform: translateX(16%);
}
.cut--12.show {
  opacity: 1;
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  -ms-transform: translateX(0);
  -o-transform: translateX(0);
  transform: translateX(0);
  transition: all 480ms cubic-bezier(0.225, 0.86, 0.295, 1);
}
.cut--12_comment {
  top: auto;
  right: -90px;
  bottom: 0;
  margin-bottom: 200px;
  width: 48px;
  opacity: 0;
}
.cut--12_comment.show {
  opacity: 1;
  transition: all 480ms ease-in-out 360ms;
}
.cut--12_comment .quat {
  animation: cut_12_comment_quat 4400ms infinite steps(1);
}
@keyframes cut_12_comment_quat {
  0%, 84%, 92% {
    opacity: 1;
  }
  88%, 96% {
    opacity: 0;
  }
}
.main,
.lesson {
  box-sizing: border-box;
  width: 1120px;
  margin: 0 auto;
  border-left: 1px solid #887d75;
  border-right: 1px solid #887d75;
}

.main {
  padding-bottom: 40px;
}
.main .cuts {
  opacity: 0;
}
.main .cuts.show {
  opacity: 1;
  transition: all 260ms ease-in-out 400ms;
}
.main .box {
  position: relative;
  width: 972px;
  margin: 0 auto;
}
.main .box .cut--3,
.main .box .cut--4 {
  opacity: 0;
}
.main .box .cut--3.show,
.main .box .cut--4.show {
  transition: opacity 360ms ease-in-out;
  opacity: 1;
}
.main .box .mv {
  opacity: 0;
}
.main .box .mv.show {
  transition: opacity 360ms ease-in-out;
  opacity: 1;
}
.main .box .ttl {
  position: absolute;
  top: 51px;
  left: 52px;
  width: 0;
  overflow: hidden;
}
.main .box .ttl .a {
  fill: #fff;
}
.main .box .ttl img {
  width: 307px;
}
.main .box .ttl.show {
  animation: ttl_crop 320ms cubic-bezier(0.165, 0.84, 0.44, 1) 400ms;
  animation-fill-mode: both;
}
@keyframes ttl_crop {
  from {
    width: 0;
  }
  to {
    width: 307px;
  }
}
.main .box .sub {
  position: absolute;
  top: 157px;
  right: 36px;
  width: 156px;
  opacity: 0;
}
.main .box .sub.show {
  opacity: 1;
  transition: all 260ms ease-in-out 400ms;
}
.main .box .btn {
  opacity: 0;
  position: absolute;
  top: -8px;
  right: 33px;
  width: 99px;
}
.main .box .btn.show {
  opacity: 1;
  transition: opacity 360ms ease-in-out;
  animation: main_btn 4800ms infinite 520ms;
}
@keyframes main_btn {
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -moz-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -o-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -ms-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from, 12%, to {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
  2.4% {
    -webkit-transform: scale(0.93);
    -moz-transform: scale(0.93);
    -o-transform: scale(0.93);
    -ms-transform: scale(0.93);
    transform: scale(0.93);
  }
  4.8% {
    -webkit-transform: scale(1.07);
    -moz-transform: scale(1.07);
    -o-transform: scale(1.07);
    -ms-transform: scale(1.07);
    transform: scale(1.07);
  }
  7.2% {
    -webkit-transform: scale(0.98);
    -moz-transform: scale(0.98);
    -o-transform: scale(0.98);
    -ms-transform: scale(0.98);
    transform: scale(0.98);
  }
  9.6% {
    -webkit-transform: scale(1.02);
    -moz-transform: scale(1.02);
    -o-transform: scale(1.02);
    -ms-transform: scale(1.02);
    transform: scale(1.02);
  }
}
.main .box .left,
.main .box .right {
  position: absolute;
  top: 50%;
  width: 9px;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
.main .box .left {
  left: -42px;
}
.main .box .right {
  right: -42px;
}
.main .intro {
  padding: 56px 0 16px;
}
.main .intro .ttl {
  width: 213px;
  margin: auto;
}
.main .intro .txt {
  margin-top: 28px;
  font-size: 13px;
  line-height: 1.84615;
  text-align: center;
}
.main .prof {
  padding: 56px 0 16px;
}
.main .prof .ttl {
  width: 143px;
  margin: 0 auto;
}
.main .prof .list {
  width: 832px;
  margin: 22px auto 0;
}
.main .prof .list:after {
  content: ' ';
  display: block;
  clear: both;
}
.main .prof .term {
  float: left;
  width: 208px;
  text-align: center;
}
.main .prof .term .thumb {
  width: 190px;
  margin: 0 auto;
}
.main .prof .term .name {
  margin-top: 16px;
  font-size: 13px;
  font-weight: bold;
  line-height: 1;
}
.main .prof .term .pos {
  margin-top: 12px;
  font-size: 10px;
  line-height: 1;
}
.main .prof .txt {
  margin-top: 32px;
  font-size: 13px;
  line-height: 1.84615;
  text-align: center;
}

.lesson {
  padding-top: 40px;
}
.lesson .head {
  position: relative;
  width: 950px;
  margin: 0 auto;
  padding: 18px 0;
  border-top: 2px solid #5b5049;
  border-bottom: 1px solid #5b5049;
}
.lesson .head .left,
.lesson .head .right {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
.lesson .head .left {
  left: 20px;
  width: 133px;
}
.lesson .head .num {
  width: 80px;
  margin: 0 auto;
  padding: 2px 30px;
  border-left: 1px solid #5b5049;
  border-right: 1px solid #5b5049;
}
.lesson .head .right {
  right: 20px;
  width: 111px;
}
.lesson > .ttl,
.lesson > .copy {
  width: 480px;
  margin: 0 auto;
}
.lesson > .ttl {
  margin: 54px auto 30px;
}
.lesson > .copy {
  margin-bottom: 24px;
}
.lesson .marker {
  z-index: 0;
  position: relative;
  background: linear-gradient(rgba(0, 0, 0, 0) 64%, #faec86 64%, #faec86 90%, rgba(0, 0, 0, 0) 90%, rgba(0, 0, 0, 0) 100%);
}
.lesson .slider {
  position: relative;
}
.lesson .slider .slides {
  opacity: 0;
  height: 0;
}
.lesson .slider .slide {
  z-index: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.lesson .slider .slide img {
  position: absolute;
  right: 0;
}
.lesson .slider .controller {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -40px;
  text-align: center;
}
.lesson .slider .controller li {
  position: relative;
  display: inline-block;
  width: 11px;
  height: 11px;
}
.lesson .slider .controller li:after {
  content: ' ';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 5px;
  height: 5px;
  margin: auto;
  background-color: #aabebf;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
.lesson .slider .controller li.now:after {
  background-color: #ff4c43;
}

.lesson--1 {
  padding-bottom: 68px;
}
.lesson--1 .mv {
  position: relative;
  width: 810px;
  margin: 0 auto 44px;
}
.lesson--1 .mv:after {
  content: ' ';
  display: block;
  clear: both;
}
.lesson--1 .mv .left,
.lesson--1 .mv .right {
  width: 404px;
}
.lesson--1 .mv .left {
  float: left;
}
.lesson--1 .mv .right {
  float: right;
}
.lesson--1 > .txt {
  width: 716px;
  margin: 0 auto;
  font-size: 14px;
  line-height: 1.92857;
  text-align: justify;
}
.lesson--1 .slider {
  width: 721px;
  margin: 52px auto 0;
}

.lesson--2 .mv,
.lesson--3 .mv {
  position: relative;
  width: 810px;
  margin: 0 auto 80px;
}

.lesson--2 {
  padding-bottom: 88px;
}
.lesson--2 .cont {
  width: 856px;
  margin: 40px auto 0;
}
.lesson--2 .cont:after {
  content: ' ';
  display: block;
  clear: both;
}
.lesson--2 .cont .txt {
  position: relative;
  float: left;
  width: 512px;
  padding-right: 36px;
  font-size: 14px;
  line-height: 1.92857;
  text-align: justify;
}
.lesson--2 .cont .txt:after {
  content: ' ';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 1px;
  background-image: linear-gradient(to bottom, #8c8580, #8c8580 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 100%);
  background-size: 1px 4px;
}
.lesson--2 .cont .imgs {
  position: relative;
  float: right;
  width: 271px;
  padding-top: 5px;
}
.lesson--2 .cont .imgs .img {
  margin-top: 3px;
}

.lesson--3 {
  padding-bottom: 56px;
}
.lesson--3 > .txt {
  width: 770px;
  margin: 0 auto;
  font-size: 14px;
  line-height: 1.92857;
  text-align: justify;
}
.lesson--3 .step {
  position: relative;
  width: 690px;
  margin: 44px auto 0;
}
.lesson--3 .step .imgs:after {
  content: ' ';
  display: block;
  clear: both;
}
.lesson--3 .step .imgs .img {
  float: left;
  width: 341px;
  margin: 2px;
}
.lesson--3 .step .txt {
  margin-top: 16px;
  padding: 0 4px;
  font-size: 11px;
  line-height: 2;
}
.lesson--3 .step .txt:after {
  content: ' ';
  display: block;
  clear: both;
}
.lesson--3 .step .txt .dt {
  clear: both;
  float: left;
  width: 36px;
  font-weight: bold;
}
.lesson--3 .step .txt .dd {
  float: left;
  width: 646px;
  margin-bottom: 4px;
}

.lesson--finish {
  padding-bottom: 104px;
}
.lesson--finish .mv {
  position: relative;
  width: 810px;
  margin: 52px auto 56px;
}
.lesson--finish .mv .ttl {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  width: 643px;
  margin: auto;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
.lesson--finish > .txt {
  width: 800px;
  margin: 28px auto 0;
  text-align: justify;
  font-size: 14px;
  line-height: 1.92857;
}

.about {
  padding-bottom: 4.0625%;
  color: #fff;
  text-align: center;
  background-image: url("/special/happyoutside/vol027/image/about.jpg");
  background-size: cover;
  background-position: center;
}
.about .cont {
  box-sizing: border-box;
  width: 1120px;
  margin: 0 auto;
  padding-top: 148px;
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
.about .cont > .ttl {
  width: 243px;
  margin: 0 auto;
}
.about .cont > .copy {
  margin-top: 30px;
  font-size: 17px;
  font-weight: bold;
}
.about .cont > .txt {
  width: 794px;
  margin: 30px auto 0;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.78571;
}
.about .cont > .txt a {
  text-decoration: underline;
}
.about .cont .share {
  margin-top: 90px;
}
.about .cont .share .ttl {
  width: 60px;
  margin: 0 auto;
}
.about .cont .share .list {
  margin-top: 24px;
}
.about .cont .share .link {
  display: inline-block;
  width: 49px;
  margin: 0 7px;
}
.about .cont .location {
  margin: 36px 22px 18px auto;
  font-size: 12px;
  text-align: right;
  line-height: 1;
}

.cookingArchives {
  margin-top: 80px;
}
