@charset "UTF-8";
/* Reset ----------*/
* {
  margin: 0;
  padding: 0;
}

*,
::before,
::after {
  box-sizing: border-box;
}

body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Meiryo", sans-serif;
  font-size: 16px;
  letter-spacing: -0.05em;
}

/* @mixin ----------*/
/* header ----------*/
header {
  margin: 0 auto;
  font-size: 0;
  background-color: #fff;
  position: relative;
}
header .logoList {
  margin: 0 auto 0 0;
  padding: 4% 0;
}
@media print, screen and (min-width: 768px) {
  header .logoList {
    padding: 12px 0;
  }
}
header .logoList > li {
  padding: 0 3%;
  display: inline-block;
  vertical-align: middle;
}
@media print, screen and (min-width: 768px) {
  header .logoList > li {
    padding: 0 20px;
  }
}
header .logoList > li:nth-child(1) {
  border-right: solid 1px #808080;
  width: 26%;
}
@media print, screen and (min-width: 768px) {
  header .logoList > li:nth-child(1) {
    width: auto;
  }
  header .logoList > li:nth-child(1) img {
    width: 124px;
  }
}
header .logoList > li:nth-child(2) {
  width: 22%;
}
@media print, screen and (min-width: 768px) {
  header .logoList > li:nth-child(2) {
    width: auto;
  }
  header .logoList > li:nth-child(2) img {
    width: 109px;
  }
}
header .snsList {
  margin: -4% auto 0;
  width: 50%;
  text-align: right;
  position: absolute;
  top: 50%;
  right: 0;
}
@media print, screen and (min-width: 768px) {
  header .snsList {
    margin: -20px auto 0;
  }
}
header .snsList > li {
  margin: 0 5%;
  width: 16%;
  display: inline-block;
  vertical-align: middle;
}
@media print, screen and (min-width: 768px) {
  header .snsList > li {
    margin: 0 10px;
    width: 40px;
  }
}

/* contents ----------*/
.contents {
  position: relative;
}

/* animation ----------*/
.fade {
  opacity: 0;
  transition: 0.8s;
  visibility: hidden;
}
.fade.go {
  opacity: 1;
  transform: translateY(0) translateX(0);
  visibility: visible;
}
.fade-up {
  opacity: 0;
  transition: 0.8s;
  visibility: hidden;
  transform: translateY(50px);
}
.fade-up.go {
  opacity: 1;
  transform: translateY(0) translateX(0);
  visibility: visible;
}
@media print, screen and (min-width: 768px) {
  .fade-up {
    transform: translateY(100px);
  }
}
.fade-down {
  opacity: 0;
  transition: 0.8s;
  visibility: hidden;
  transform: translateY(-50px);
}
.fade-down.go {
  opacity: 1;
  transform: translateY(0) translateX(0);
  visibility: visible;
}
@media print, screen and (min-width: 768px) {
  .fade-down {
    transform: translateY(-100px);
  }
}
.fade-left {
  opacity: 0;
  transition: 0.8s;
  visibility: hidden;
  transform: translateX(-50px);
}
.fade-left.go {
  opacity: 1;
  transform: translateY(0) translateX(0);
  visibility: visible;
}
@media print, screen and (min-width: 768px) {
  .fade-left {
    transform: translateX(-100px);
  }
}
.fade-right {
  opacity: 0;
  transition: 0.8s;
  visibility: hidden;
  transform: translateX(50px);
}
.fade-right.go {
  opacity: 1;
  transform: translateY(0) translateX(0);
  visibility: visible;
}
@media print, screen and (min-width: 768px) {
  .fade-right {
    transform: translateX(100px);
  }
}
.fade-top--right {
  opacity: 0;
  transition: 0.8s;
  visibility: hidden;
  transform: translateY(-20px) translateX(20px);
}
.fade-top--right.go {
  opacity: 1;
  transform: translateY(0) translateX(0);
  visibility: visible;
}
@media print, screen and (min-width: 768px) {
  .fade-top--right {
    transform: translateY(-100px) translateX(100px);
  }
}
.fade-top--left {
  opacity: 0;
  transition: 0.8s;
  visibility: hidden;
  transform: translateY(-20px) translateX(-20px);
}
.fade-top--left.go {
  opacity: 1;
  transform: translateY(0) translateX(0);
  visibility: visible;
}
@media print, screen and (min-width: 768px) {
  .fade-top--left {
    transform: translateY(-100px) translateX(-100px);
  }
}
.fade-bottom--right {
  opacity: 0;
  transition: 0.8s;
  visibility: hidden;
  transform: translateY(20px) translateX(20px);
}
.fade-bottom--right.go {
  opacity: 1;
  transform: translateY(0) translateX(0);
  visibility: visible;
}
@media print, screen and (min-width: 768px) {
  .fade-bottom--right {
    transform: translateY(100px) translateX(100px);
  }
}
.fade-bottom--left {
  opacity: 0;
  transition: 0.8s;
  visibility: hidden;
  transform: translateY(20px) translateX(-20px);
}
.fade-bottom--left.go {
  opacity: 1;
  transform: translateY(0) translateX(0);
  visibility: visible;
}
@media print, screen and (min-width: 768px) {
  .fade-bottom--left {
    transform: translateY(100px) translateX(-100px);
  }
}

.boyon {
  opacity: 0;
  transition: 0.8s;
  visibility: hidden;
}
.boyon.go {
  opacity: 1;
  transform: translateY(0) translateX(0);
  visibility: visible;
}
.boyon.go {
  -webkit-animation: boyon-ani 0.8s ease-out forwards;
          animation: boyon-ani 0.8s ease-out forwards;
}

@-webkit-keyframes boyon-ani {
  0% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.1);
  }
  50% {
    transform: scale(0.9);
  }
  65% {
    transform: scale(1);
  }
  85% {
    transform: scale(0.95);
  }
}

@keyframes boyon-ani {
  0% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.1);
  }
  50% {
    transform: scale(0.9);
  }
  65% {
    transform: scale(1);
  }
  85% {
    transform: scale(0.95);
  }
}
.time-early {
  transition: 0.6s;
}
.time-01 {
  transition-delay: 0.1s;
}
.time-03 {
  transition-delay: 0.3s;
}
.time-05 {
  transition-delay: 0.5s;
}
.time-10 {
  transition-delay: 1s;
}
.time-15 {
  transition-delay: 1.5s;
}
.time-20 {
  transition-delay: 2s;
}
.time-25 {
  transition-delay: 2.5s;
}
.time-30 {
  transition-delay: 3s;
}

/* video-wrap ----------*/
.video-wrap {
  text-align: center;
}
.video-wrap iframe {
  aspect-ratio: 16/9;
  height: auto;
  margin: 0 auto;
  max-width: 1000px;
  width: 100%;
}

/* btn ----------*/
.btn {
  background-color: #504637;
  border: 1px solid transparent;
  color: #fff;
  display: grid;
  align-items: center;
  grid-template-columns: 1fr -webkit-min-content;
  grid-template-columns: 1fr min-content;
  gap: 8px;
  padding: 5px 15px;
  text-align: center;
  width: 100%;
}
.btn .icon {
  display: block;
  height: 13px;
  width: 7px;
}
.btn .icon svg {
  display: block;
  fill: #fff;
  height: 13px;
  width: 7px;
}
@media print, screen and (max-width: 767px) {
  .btn {
    max-width: 300px;
  }
}
.btn:hover {
  background-color: #fff;
  border-color: #504637;
  color: #504637;
  text-decoration: none;
}
.btn:hover .icon svg {
  fill: #504637;
}

/* interview-txt ----------*/
.interview-txt {
  line-height: 34px;
  margin-bottom: -30px;
  text-align: justify;
}
@media print, screen and (max-width: 767px) {
  .interview-txt {
    line-height: 25px;
  }
}
.interview-txt dt {
  color: #808080;
  font-size: 17px;
  padding-bottom: 30px;
}
@media print, screen and (max-width: 767px) {
  .interview-txt dt {
    font-size: 15px;
    padding-bottom: 20px;
  }
}
.interview-txt dd {
  font-size: 16px;
  padding-bottom: 30px;
}
@media print, screen and (max-width: 767px) {
  .interview-txt dd {
    font-size: 14px;
    padding-bottom: 20px;
  }
}

/* section ----------*/
.section {
  overflow: hidden;
  padding-top: 150px;
  padding-bottom: 150px;
  position: relative;
}
@media print, screen and (max-width: 767px) {
  .section {
    padding-top: 90px;
    padding-bottom: 90px;
  }
}

/* inr ----------*/
.inr {
  margin: 0 auto;
  max-width: 1160px;
  padding: 0 30px;
  width: 100%;
}
.inr-small {
  max-width: 810px;
}

/* img-box ----------*/
.img-box {
  margin-bottom: 100px;
}
@media print, screen and (max-width: 767px) {
  .img-box {
    margin-bottom: 50px;
  }
}
.img-box img {
  display: block;
  border: 10px solid #fff;
}
@media print, screen and (max-width: 767px) {
  .img-box img {
    border-width: 8px;
  }
}
.img-box figcaption {
  color: #504637;
  font-size: 14px;
  margin-top: 10px;
  text-align: center;
}
@media print, screen and (max-width: 767px) {
  .img-box figcaption {
    font-size: 12px;
    margin-top: 5px;
  }
}

/* first-vision ----------*/
.first-vision {
  position: relative;
}
.first-vision::before, .first-vision::after {
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  width: 28.6%;
  z-index: 2;
}
.first-vision::before {
  background-image: url(../images/first-vision-object-left.png);
  left: 0;
}
@media print, screen and (max-width: 767px) {
  .first-vision::before {
    background-image: url(../images/first-vision-object-left-sp.png);
    width: 24%;
  }
}
.first-vision::after {
  background-image: url(../images/first-vision-object-right.png);
  right: 0;
}
@media print, screen and (max-width: 767px) {
  .first-vision::after {
    background-image: url(../images/first-vision-object-right-sp.png);
    width: 24%;
  }
}

/* main-visual ----------*/
.main-visual {
  position: relative;
  width: 100%;
}
.main-visual-object, .main-visual-object-2 {
  opacity: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.main-visual-object.visible, .main-visual-object-2.visible {
  transition: opacity 1.5s ease;
  opacity: 1;
}

/* interview-wrap ----------*/
.interview-wrap {
  background-color: #fde5ee;
  position: relative;
}
.interview-wrap::before, .interview-wrap::after {
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  width: 21.4%;
}
.interview-wrap::before {
  background-image: url(../images/interview-wrap-object-left.png);
  background-position: top left;
  left: 0;
}
@media print, screen and (max-width: 1200px) {
  .interview-wrap::before {
    background-size: contain;
    background-repeat: repeat-y;
    width: 25%;
  }
}
.interview-wrap::after {
  background-image: url(../images/interview-wrap-object-right.png);
  background-position: top right;
  right: 0;
}
@media print, screen and (max-width: 1200px) {
  .interview-wrap::after {
    background-size: contain;
    background-repeat: repeat-y;
    width: 25%;
  }
}

/* section-01 ----------*/
.section-01 {
  margin-top: -120px;
  padding-top: 120px;
  padding-bottom: 0;
}
.section-01-warp {
  background-color: transparent;
  overflow: visible;
  position: relative;
}
.section-01-box {
  background-color: #fde5ee;
  padding-top: 180px;
  padding-bottom: 150px;
}
@media print, screen and (max-width: 1280px) {
  .section-01-box {
    padding-top: 150px;
    padding-bottom: 100px;
  }
}
@media print, screen and (max-width: 960px) {
  .section-01-box {
    padding-top: 100px;
    padding-bottom: 90px;
  }
}
@media print, screen and (max-width: 767px) {
  .section-01-box {
    padding-top: 25%;
  }
}
@media print, screen and (max-width: 500px) {
  .section-01-box {
    padding-top: 31%;
    padding-bottom: 50px;
  }
}
.section-01-box::before {
  background: #fde5ee;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  transform: skewY(-3deg);
  transform-origin: top left;
  width: 100%;
  z-index: 0;
}
.section-01-ttl {
  background-image: url(../images/section-01-ttl-pc.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0;
  overflow: hidden;
  padding-bottom: 250px;
  position: absolute;
  top: -120px;
  left: 0;
  transition: opacity 0.5s ease;
  width: 100%;
  z-index: 1;
}
@media print, screen and (max-width: 1280px) {
  .section-01-ttl {
    padding-bottom: 200px;
  }
}
@media print, screen and (max-width: 960px) {
  .section-01-ttl {
    top: -90px;
    padding-bottom: 150px;
  }
}
@media print, screen and (max-width: 767px) {
  .section-01-ttl {
    background-image: url(../images/section-01-ttl.png);
    padding-bottom: 31%;
    top: -15%;
  }
}
@media print, screen and (max-width: 500px) {
  .section-01-ttl {
    padding-bottom: 40%;
    top: -10%;
  }
}
.section-01-ttl.visible {
  -webkit-animation: boyon-ani-2 0.8s ease-out forwards;
          animation: boyon-ani-2 0.8s ease-out forwards;
  opacity: 1;
}
@-webkit-keyframes boyon-ani-2 {
  0% {
    transform: scale(1.1);
  }
  30% {
    transform: scale(1.2);
  }
  50% {
    transform: scale(1);
  }
  65% {
    transform: scale(1.1);
  }
  85% {
    transform: scale(1);
  }
}
@keyframes boyon-ani-2 {
  0% {
    transform: scale(1.1);
  }
  30% {
    transform: scale(1.2);
  }
  50% {
    transform: scale(1);
  }
  65% {
    transform: scale(1.1);
  }
  85% {
    transform: scale(1);
  }
}
.section-01-ttl span {
  border: 0;
  clip: rect(0 0 0 0);
  display: block;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.section-01 .inr {
  color: #504637;
  max-width: 810px;
  position: relative;
  z-index: 1;
}
@media print, screen and (max-width: 960px) {
  .section-01 .inr {
    max-width: 660px;
  }
}
@media print, screen and (max-width: 767px) {
  .section-01 .inr {
    max-width: 100%;
    padding: 0 20%;
  }
}
.section-01 .read-txt {
  font-size: 19px;
  line-height: 44px;
  text-align: justify;
}
@media print, screen and (max-width: 960px) {
  .section-01 .read-txt {
    font-size: 17px;
    line-height: 34px;
  }
}
@media print, screen and (max-width: 767px) {
  .section-01 .read-txt {
    font-size: 15px;
    line-height: 28px;
  }
}
@media print, screen and (max-width: 500px) {
  .section-01 .read-txt {
    font-size: 13px;
    line-height: 30px;
  }
}
.section-01 .read-cap {
  font-size: 17px;
  margin-top: 40px;
  text-align: right;
}
@media print, screen and (max-width: 960px) {
  .section-01 .read-cap {
    font-size: 14px;
    line-height: 32px;
    margin-top: 25px;
  }
}
@media print, screen and (max-width: 500px) {
  .section-01 .read-cap {
    font-size: 12px;
    line-height: 21px;
    margin-top: 15px;
    text-align: center;
  }
}

/* section-interview ----------*/
.section-interview {
  background-color: #f8f6f7;
  padding-top: 200px;
  padding-bottom: 200px;
}
@media print, screen and (max-width: 767px) {
  .section-interview {
    padding-top: 90px;
    padding-bottom: 90px;
  }
}
.section-interview-ttl {
  margin-right: auto;
  margin-bottom: 45px;
  margin-left: auto;
  max-width: 233px;
  width: 100%;
}
@media print, screen and (max-width: 767px) {
  .section-interview-ttl {
    margin-bottom: 20px;
    max-width: 180px;
  }
}

/* section-02 ----------*/
.section-02 .inr {
  position: relative;
  z-index: 1;
}
.section-02-ttl {
  margin-left: -15px;
  margin-bottom: 40px;
  max-width: 790px;
  width: 100%;
}
.section-02-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 110px;
}
@media print, screen and (max-width: 767px) {
  .section-02-box {
    margin-bottom: 50px;
  }
}
@media print, screen and (min-width: 768px) {
  .section-02-box .interview-txt {
    max-width: 46.8%;
  }
}
@media print, screen and (max-width: 767px) {
  .section-02-box .interview-txt {
    order: 2;
  }
}
.section-02-box .interview-img {
  margin-top: 10px;
  margin-right: 20px;
  max-width: 44.3%;
}
@media print, screen and (max-width: 767px) {
  .section-02-box .interview-img {
    margin-top: 0;
    margin-right: auto;
    margin-left: auto;
    max-width: 60%;
    order: 1;
  }
}
@media print, screen and (max-width: 500px) {
  .section-02-box .interview-img {
    max-width: 75%;
  }
}
.section-02-box .img-box {
  margin-bottom: 0;
  transform: rotate(3deg);
}
@media print, screen and (max-width: 767px) {
  .section-02-box .img-box {
    margin-bottom: 50px;
  }
}
.section-02-imglist {
  display: flex;
  justify-content: center;
  margin-top: 100px;
  padding-right: 30px;
  padding-left: 30px;
  position: relative;
  z-index: 1;
}
@media print, screen and (max-width: 1000px) {
  .section-02-imglist {
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 50px;
  }
}
.section-02-imglist-item {
  max-width: 42.9%;
}
@media print, screen and (max-width: 1300px) {
  .section-02-imglist-item {
    max-width: 55%;
  }
}
@media print, screen and (max-width: 1000px) {
  .section-02-imglist-item {
    max-width: 70%;
  }
}
@media print, screen and (max-width: 767px) {
  .section-02-imglist-item {
    max-width: 85%;
  }
}
.section-02-imglist-item:nth-of-type(1) {
  margin-right: -55px;
}
@media print, screen and (max-width: 1000px) {
  .section-02-imglist-item:nth-of-type(1) {
    margin-right: 0;
  }
}
.section-02-imglist-item:nth-of-type(1) .img-box {
  transform: rotate(-3deg);
}
@media print, screen and (max-width: 1000px) {
  .section-02-imglist-item:nth-of-type(1) .img-box {
    margin-bottom: 40px;
  }
}
@media print, screen and (max-width: 1000px) {
  .section-02-imglist-item:nth-of-type(2) {
    margin-left: auto;
  }
}
.section-02-imglist-item:nth-of-type(2) .img-box {
  margin-top: 40px;
  transform: rotate(3deg);
}
@media print, screen and (max-width: 1000px) {
  .section-02-imglist-item:nth-of-type(2) .img-box {
    margin-top: 0;
  }
}

/* section-03 ----------*/
.section-03 {
  padding-top: 30px;
}
@media print, screen and (max-width: 767px) {
  .section-03 {
    padding-top: 0;
  }
}
.section-03 .inr {
  position: relative;
  z-index: 1;
}
.section-03-ttl {
  margin-right: auto;
  margin-bottom: 40px;
  margin-left: auto;
  max-width: 790px;
  width: 100%;
}
@media print, screen and (max-width: 767px) {
  .section-03-ttl {
    padding-left: 20px;
    padding-right: 40px;
  }
}
.section-03 .img-box-wrap {
  margin-top: 90px;
  margin-right: auto;
  margin-bottom: 70px;
  margin-left: auto;
  max-width: 750px;
}
@media print, screen and (max-width: 767px) {
  .section-03 .img-box-wrap {
    margin-top: 50px;
    margin-bottom: 50px;
  }
}
.section-03 .img-box {
  transform: rotate(3deg);
}

/* section-04 ----------*/
.section-04 .inr {
  position: relative;
  z-index: 1;
}
.section-04-ttl {
  margin-right: auto;
  margin-bottom: 40px;
  margin-left: auto;
  max-width: 790px;
  width: 100%;
}
@media print, screen and (max-width: 767px) {
  .section-04-ttl {
    padding-left: 30px;
    padding-right: 30px;
  }
}

/* section-04 ----------*/
.section-04 {
  padding-top: 30px;
  padding-bottom: 0;
}
@media print, screen and (max-width: 767px) {
  .section-04 {
    padding-top: 0;
  }
}
.section-04 .img-box {
  margin-top: 80px;
  margin-bottom: 80px;
}
@media print, screen and (max-width: 767px) {
  .section-04 .img-box {
    margin-top: 50px;
    margin-bottom: 50px;
  }
}

/* img-loop ----------*/
.img-loop {
  margin-top: 150px;
  overflow: hidden;
  padding-bottom: 200px;
  position: relative;
  width: 100%;
  z-index: 1;
}
@media print, screen and (max-width: 767px) {
  .img-loop {
    margin-top: 70px;
    padding-bottom: 90px;
  }
}
.img-loop-box {
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  will-change: transform;
  -webkit-animation: scroll-img 50s linear infinite;
          animation: scroll-img 50s linear infinite;
}
@media print, screen and (max-width: 767px) {
  .img-loop-box {
    -webkit-animation: scroll-img 40s linear infinite;
            animation: scroll-img 40s linear infinite;
  }
}
.img-loop-box img {
  height: 491px;
  margin-left: 20px;
  -o-object-fit: contain;
     object-fit: contain;
  width: auto;
}
@media print, screen and (max-width: 767px) {
  .img-loop-box img {
    height: 300px;
    margin-left: 15px;
  }
}

@-webkit-keyframes scroll-img {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

@keyframes scroll-img {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
/* section-lineup ----------*/
.section-lineup {
  background-color: #f8f6f7;
  padding-top: 200px;
  padding-bottom: 200px;
}
@media print, screen and (max-width: 767px) {
  .section-lineup {
    padding-top: 90px;
    padding-bottom: 90px;
  }
}
.section-lineup-ttl {
  margin-right: auto;
  margin-bottom: 85px;
  margin-left: auto;
  max-width: 669px;
  width: 100%;
}
@media print, screen and (max-width: 767px) {
  .section-lineup-ttl {
    margin-bottom: 40px;
    max-width: 350px;
  }
}
.section-lineup-list {
  display: flex;
}
@media print, screen and (min-width: 768px) {
  .section-lineup-list {
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media print, screen and (max-width: 767px) {
  .section-lineup-list {
    flex-direction: column;
    gap: 60px;
  }
}
.section-lineup-list-item {
  width: 43.6%;
}
@media print, screen and (max-width: 767px) {
  .section-lineup-list-item {
    margin: 0 auto;
    width: 90%;
  }
}
.section-lineup-btn {
  font-size: 22px;
  margin-top: 25px;
  padding: 5px 20px;
}
@media print, screen and (max-width: 767px) {
  .section-lineup-btn {
    font-size: 16px;
    margin: 20px auto 0;
  }
}

/* section-planning ----------*/
.section-planning {
  background-size: auto auto;
  background-color: rgb(249, 149, 180);
  background-image: repeating-linear-gradient(135deg, transparent, transparent 8px, rgb(250, 171, 199) 8px, rgb(250, 171, 199) 12px);
  padding: 90px 20px;
}
.section-planning .inr {
  background-color: #fdf9eb;
  border-radius: 30px;
  max-width: 1210px;
  padding: 130px 75px;
}
@media print, screen and (max-width: 767px) {
  .section-planning .inr {
    border-radius: 15px;
    padding: 50px 30px;
  }
}
.section-planning-ttl {
  margin-right: auto;
  margin-bottom: 110px;
  margin-left: auto;
  max-width: 410px;
  width: 100%;
}
@media print, screen and (max-width: 767px) {
  .section-planning-ttl {
    margin-bottom: 50px;
    max-width: 300px;
  }
}
.section-planning-ttl-02 {
  margin-bottom: 50px;
}
@media print, screen and (max-width: 500px) {
  .section-planning-ttl-02 {
    margin-bottom: 30px;
    width: 85%;
  }
}
.section-planning-ttl-03 {
  margin-right: auto;
  margin-bottom: 70px;
  margin-left: auto;
  max-width: 492px;
  width: 100%;
}
@media print, screen and (max-width: 500px) {
  .section-planning-ttl-03 {
    margin-bottom: 30px;
  }
}
.section-planning-box {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 100px;
}
@media print, screen and (max-width: 500px) {
  .section-planning-box {
    margin-bottom: 70px;
  }
}
@media print, screen and (max-width: 767px) {
  .section-planning-box {
    flex-direction: column;
    justify-content: center;
  }
}
.section-planning-box-txt {
  width: 41.4%;
}
@media print, screen and (max-width: 767px) {
  .section-planning-box-txt {
    margin: 0 auto 50px;
    width: 70%;
  }
}
@media print, screen and (max-width: 500px) {
  .section-planning-box-txt {
    margin: 0 auto 35px;
    width: 100%;
  }
}
.section-planning-box-txt p {
  color: #504637;
  font-size: 18px;
  line-height: 37px;
  text-align: justify;
}
@media print, screen and (max-width: 500px) {
  .section-planning-box-txt p {
    font-size: 14px;
    line-height: 28px;
  }
}
.section-planning-box-img {
  display: block;
  width: 51.3%;
}
@media print, screen and (max-width: 767px) {
  .section-planning-box-img {
    margin: 0 auto;
    width: 70%;
  }
}
@media print, screen and (max-width: 500px) {
  .section-planning-box-img {
    width: 100%;
  }
}
.section-planning-btn {
  background-color: transparent;
  border-color: #504637;
  color: #504637;
  font-size: 22px;
  line-height: 30px;
  margin-top: 60px;
  margin-right: auto;
  margin-left: auto;
  max-width: 315px;
}
@media print, screen and (max-width: 500px) {
  .section-planning-btn {
    font-size: 16px;
    line-height: 28px;
    margin-top: 30px;
  }
}
.section-planning-btn .icon svg {
  fill: #000;
}
.section-planning-btn:hover {
  background-color: transparent;
  opacity: 0.3;
}
.section-planning-txt {
  color: #504637;
  font-size: 21px;
  line-height: 30px;
  margin-top: 20px;
  text-align: center;
}
@media print, screen and (max-width: 500px) {
  .section-planning-txt {
    font-size: 16px;
    line-height: 28px;
    margin-top: 10px;
  }
}
.section-planning-txt + .section-planning-ttl-03 {
  margin-top: 100px;
}
@media print, screen and (max-width: 500px) {
  .section-planning-txt + .section-planning-ttl-03 {
    margin-top: 70px;
  }
}
.section-planning .shimekiri {
  display: block;
  margin-right: auto;
  margin-left: auto;
  max-width: 488px;
  width: 100%;
}
.section-planning .terms {
  color: #504637;
  font-size: 18px;
  line-height: 36px;
  margin-top: 110px;
  margin-right: auto;
  margin-left: auto;
  max-width: 750px;
  padding-top: 50px;
  position: relative;
  width: 100%;
}
@media print, screen and (max-width: 500px) {
  .section-planning .terms {
    font-size: 16px;
    line-height: 28px;
    margin-top: 70px;
  }
}
.section-planning .terms::before {
  background-image: url(../images/section-planning-dots.png);
  background-position: top left;
  background-size: 6px 3px;
  background-repeat: repeat-x;
  content: "";
  display: block;
  height: 3px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.section-planning .terms-ttl {
  color: #f87ca8;
}
.section-planning .terms-list-num {
  margin-bottom: 35px;
}
.section-planning .terms-list-nakaguro {
  margin-bottom: 100px;
}
@media print, screen and (max-width: 500px) {
  .section-planning .terms-list-nakaguro {
    margin-bottom: 50px;
  }
}
.section-planning .terms-list-nakaguro li::before {
  content: "●";
  display: inline-block;
}
.section-planning .terms-list-kome {
  font-size: 15px;
  margin-top: 90px;
  text-align: right;
}
@media print, screen and (max-width: 500px) {
  .section-planning .terms-list-kome {
    font-size: 12px;
    margin-top: 70px;
  }
}
.section-planning .terms-list-kome li::before {
  content: "※";
  display: inline-block;
}
.section-planning .terms-btn {
  display: block;
  margin-right: auto;
  margin-left: auto;
  max-width: 420px;
  width: 100%;
}
.section-planning .terms-btn:hover {
  opacity: 0.5;
}

/* section-05 ----------*/
.section-05 {
  background-color: #f8f6f7;
  color: #504637;
  padding-top: 200px;
  padding-bottom: 200px;
}
@media print, screen and (max-width: 767px) {
  .section-05 {
    padding-top: 90px;
    padding-bottom: 90px;
  }
}
.section-05-ttl {
  margin-right: auto;
  margin-bottom: 70px;
  margin-left: auto;
  max-width: 233px;
  width: 100%;
}
@media print, screen and (max-width: 767px) {
  .section-05-ttl {
    margin-bottom: 20px;
    max-width: 180px;
  }
}
.section-05 figure {
  margin-bottom: 50px;
}
@media print, screen and (max-width: 767px) {
  .section-05 figure {
    margin-bottom: 35px;
  }
}
.section-05 figure img {
  border: none;
}
.section-05 figure figcaption {
  margin-top: 7px;
}
.section-05-name {
  font-size: 20px;
  line-height: 36px;
  margin-bottom: 10px;
  text-align: center;
}
@media print, screen and (max-width: 767px) {
  .section-05-name {
    font-size: 18px;
    line-height: 28px;
  }
}
.section-05-name small {
  font-size: 16px;
}
@media print, screen and (max-width: 767px) {
  .section-05-name small {
    font-size: 12px;
  }
}
.section-05-info {
  font-size: 16px;
  line-height: 34px;
}
@media print, screen and (max-width: 767px) {
  .section-05-info {
    font-size: 14px;
    line-height: 24px;
  }
}
.section-05-info + .img-box {
  margin-top: 100px;
}
@media print, screen and (max-width: 767px) {
  .section-05-info + .img-box {
    margin-top: 70px;
  }
}

/* other ----------*/
@media print, screen and (max-width: 767px) {
  .pc-block {
    display: none;
  }
}

.sp-block {
  display: none;
}
@media print, screen and (max-width: 767px) {
  .sp-block {
    display: block;
  }
}

.visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}

/* footer ----------*/
footer {
  background-color: #fff;
  margin: 0 auto;
  padding: 16vw 0;
}
@media print, screen and (min-width: 768px) {
  footer {
    margin: 0 auto;
    padding: 150px 0 100px;
  }
}
footer .linkList {
  font-size: 0;
  margin: 0 auto 5%;
  text-align: center;
  width: 90%;
}
@media print, screen and (min-width: 768px) {
  footer .linkList {
    margin: 0 auto 60px;
  }
}
footer .linkList > li {
  display: inline-block;
  margin: 2% 0;
  vertical-align: top;
}
@media print, screen and (min-width: 768px) {
  footer .linkList > li {
    border-left: solid 1px #000;
    margin: 10px 0;
  }
  footer .linkList > li:first-child {
    border-left: none;
  }
}
footer .linkList > li:nth-child(2) {
  border-left: solid 1px #000;
}
footer .linkList > li a {
  color: #000;
  display: block;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 3vw;
  line-height: 1.2;
  margin: 0 1em;
}
@media print, screen and (min-width: 768px) {
  footer .linkList > li a {
    font-size: 16px;
  }
}
footer .footer-bottom {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 2.8vw;
  margin: 0 auto;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  footer .footer-bottom {
    font-size: 13px;
  }
}
/*# sourceMappingURL=style.css.map */