@charset "UTF-8";
/*
 * 参考
 * https://github.com/Andy-set-studio/modern-css-reset/blob/master/src/reset.css
*/
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd,
ul {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: inline-block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/*****************************************
 * 数値から単位を取り除く
 * 参考
 * https://css-tricks.com/snippets/sass/
******************************************/
/*****************************************
 * px→remの計算
 * 参考
 * https://webdou.net/sass-rem/
 * Sassではmath.div関数の使用が推奨のため、スラッシュ(/)演算子から変更
******************************************/
/*****************************************
 * vwの計算
 * 参考
 * https://webdou.net/sass-vw/
 * Sassではmath.div関数の使用が推奨のため、スラッシュ(/)演算子から変更
******************************************/
html {
  font-size: 16px;
}
@media screen and (max-width: 400px) {
  html {
    font-size: 4vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.3333333333vw;
  }
}
@media (min-width: 1200px) {
  html {
    font-size: 16px;
  }
}

body {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  color: #000;
}

a {
  text-decoration: none;
  color: inherit;
  transition: opacity 0.3s;
}

@media screen and (min-width: 768px) {
  a:hover {
    opacity: 0.8;
  }
}

.title {
  font-size: 1.625rem;
  line-height: 1.5384615385;
  letter-spacing: 0.1em;
  color: #fff;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .title {
    font-size: 3rem;
    line-height: 1.75;
  }
}

.title.title--black {
  color: #000;
}

.title.title--small {
  font-size: 1.375rem;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .title.title--small {
    font-size: 2.375rem;
    line-height: 1.5263157895;
  }
}

.title.title--contents04-small {
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .title.title--contents04-small {
    font-size: 1.75rem;
  }
}

.text {
  font-size: 0.8125rem;
  line-height: 1.7307692308;
  color: #fff;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .text {
    font-size: 1.5rem;
    line-height: 1.75;
  }
}

.text.text--regular {
  font-size: 0.875rem;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .text.text--regular {
    font-size: 1.75rem;
  }
}

.text.text--small {
  font-size: 0.75rem;
  line-height: 2.32;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .text.text--small {
    font-size: 1.375rem;
    line-height: 1;
  }
}

.text.text--contets02 {
  font-size: 1.125rem;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .text.text--contets02 {
    font-size: 1.375rem;
    line-height: 1.9090909091;
  }
}

.text.text--contets03 {
  color: #000;
  font-size: 1.125rem;
  line-height: 1.3888888889;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .text.text--contets03 {
    font-size: 1.375rem;
    line-height: 1.5454545455;
  }
}

.text.text--contets02 + .text.text--contets02 {
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .text.text--contets02 + .text.text--contets02 {
    margin-top: 1.25rem;
  }
}

.text.text--contets03 + .text.text--contets03 {
  margin-top: 0.5625rem;
}
@media screen and (min-width: 768px) {
  .text.text--contets03 + .text.text--contets03 {
    margin-top: 0.5rem;
  }
}

.button {
  display: flex;
  align-items: center;
  justify-content: center;
}

.button-contents02 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 3rem;
  font-size: 1rem;
  padding: 1.25rem;
  background: #000;
  color: #fff;
  letter-spacing: 0.05em;
  line-height: 1;
  border-radius: 0.625rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .button-contents02 {
    width: 11.875rem;
    height: 3.75rem;
    border-radius: 0.3125rem;
    font-size: 1.25rem;
    line-height: 2.1;
  }
}
.button-contents02:hover {
  opacity: 0.6;
}

.button-contents02::after {
  content: "";
  background: url(../../assets/images/icon-arrow.png) no-repeat;
  background-size: contain;
  background-position: center;
  width: 0.375rem;
  height: 0.625rem;
  position: absolute;
  top: 50%;
  right: 3%;
  transform: translateY(-20%);
}
@media screen and (min-width: 768px) {
  .button-contents02::after {
    width: 0.5rem;
    height: 0.875rem;
    margin-left: 1.875rem;
    transform: translateY(-37%);
  }
}

.button-contents03 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 3rem;
  padding: 1.25rem;
  background: #9D9D8E;
  color: #fff;
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.5625;
  border-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .button-contents03 {
    width: 30.625rem;
    height: 3.75rem;
    border-radius: 0.3125rem;
    font-size: 1.25rem;
    line-height: 2.1;
  }
}
.button-contents03:hover {
  opacity: 0.6;
}

.button-contents03::after {
  content: "";
  background: url(../../assets/images/icon-arrow.png) no-repeat;
  background-size: contain;
  background-position: center;
  width: 0.375rem;
  height: 0.625rem;
  position: absolute;
  right: 0.625rem;
  top: 45%;
  transform: translate(-3%);
}

.u-md-show {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-md-show {
    display: block;
  }
}

.u-md-none {
  display: block;
}
@media screen and (min-width: 768px) {
  .u-md-none {
    display: none;
  }
}

.fv {
  background: #EEEEE6;
  width: 100%;
  padding-bottom: 3.125rem;
}
@media screen and (min-width: 768px) {
  .fv {
    padding-bottom: 8.125rem;
  }
}

.fv__inner {
  max-width: 100%;
  padding: 0 0.9375rem;
}
@media screen and (min-width: 768px) {
  .fv__inner {
    max-width: 64.375rem;
    width: 100%;
    padding: 0 1.5625rem;
    margin: 0 auto;
  }
}

.fv__slider {
  height: auto;
  overflow-x: hidden;
  margin: 0 calc(50% - 50vw);
}
@media screen and (min-width: 768px) {
  .fv__slider {
    width: 100%;
    margin: 0 auto;
  }
}

.fv__slider .swiper-area {
  position: relative;
  display: flex;
  align-items: center;
}

.fv__slider .swiper-slide {
  width: 100%;
}

.fv__slider .swiper-slide picture {
  margin: 0 auto;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.fv__slider .swiper-slide img {
  margin: 0 auto;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.fv__slider .swiper-pagination-bullet {
  width: 0.46875rem;
  height: 0.46875rem;
  background: #fff;
  border-radius: unset;
}
@media screen and (min-width: 768px) {
  .fv__slider .swiper-pagination-bullet {
    width: 0.9375rem;
    height: 0.9375rem;
  }
}

.fv__title {
  margin-top: 1.75rem;
}
@media screen and (min-width: 768px) {
  .fv__title {
    margin-top: 5rem;
  }
}

.fv-items {
  margin-top: 1.75rem;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .fv-items {
    margin-top: 5rem;
  }
}

.fv-item:not(:first-child) {
  margin-top: 1.125rem;
}
@media screen and (min-width: 768px) {
  .fv-item:not(:first-child) {
    margin-top: 3.125rem;
  }
}

.fv-item, .fv-links {
  display: inline-block;
  width: 100%;
  height: auto;
}

.fv-img {
  max-width: 61.25rem;
  width: 100%;
  height: 20rem;
}

.fv-img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 980/320;
  -o-object-fit: cover;
     object-fit: cover;
}

.fv-img1 {
  width: 100%;
  height: auto;
}

.fv-img1 img {
  width: 100%;
  height: 100%;
  aspect-ratio: 680/680;
  -o-object-fit: cover;
     object-fit: cover;
}

.contents01 {
  background: #000;
  width: 100%;
  padding-top: 2.1875rem;
  padding-bottom: 2.1875rem;
}
@media screen and (min-width: 768px) {
  .contents01 {
    padding-top: 8.125rem;
    padding-bottom: 8.125rem;
  }
}

.contents01__inner {
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
  padding: 0 0.9375rem;
}
@media screen and (min-width: 768px) {
  .contents01__inner {
    max-width: 56.25rem;
    padding: 0 1.5625rem;
  }
}

.contents01__title.title {
  font-size: 1.625rem;
}
@media screen and (min-width: 768px) {
  .contents01__title.title {
    font-size: 3rem;
  }
}

.contents01__body {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.contents01-kamonImage {
  margin-top: 1.375rem;
  width: 1.3125rem;
  height: 1.3125rem;
}
@media screen and (min-width: 768px) {
  .contents01-kamonImage {
    margin-top: 3.5rem;
    width: 2.6875rem;
    height: 2.6875rem;
  }
}

.contents01-kamonImage:not(:first-child) {
  margin-top: 1.625rem;
}
@media screen and (min-width: 768px) {
  .contents01-kamonImage:not(:first-child) {
    margin-top: 3.25rem;
  }
}

.contents01-kamonImage img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.contents01-image {
  margin-top: 1.5rem;
  max-width: 50rem;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .contents01-image {
    margin-top: 3.125rem;
  }
}

.contents01-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 800/400;
}

.contents01-text {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .contents01-text {
    margin-top: 3.125rem;
  }
}

.contents01-text .title {
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .contents01-text .title {
    margin-top: 1.875rem;
  }
}

.contents01-text-span1 {
  letter-spacing: -0.2em;
  display: inline-flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .contents01-text-span1 {
    letter-spacing: -0.2em;
  }
}

.contents01-text .text {
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .contents01-text .text {
    margin-top: 1.875rem;
  }
}

.contents01-text-span {
  display: inline-flex;
  align-items: center;
  letter-spacing: -0.2em;
}
@media screen and (min-width: 768px) {
  .contents01-text-span {
    letter-spacing: normal;
  }
}

.contents02 {
  background: #9D9D8E;
  width: 100%;
  padding-top: 2.1875rem;
  padding-bottom: 3.125rem;
}
@media screen and (min-width: 768px) {
  .contents02 {
    padding-top: 8.125rem;
    padding-bottom: 8.125rem;
  }
}

.contents02__inner {
  max-width: 100%;
  padding: 0 3.5625rem;
}
@media screen and (min-width: 768px) {
  .contents02__inner {
    max-width: 64.375rem;
    width: 100%;
    padding: 0 1.5625rem;
    margin: 0 auto;
  }
}

.contents02__title .text.text--small {
  font-size: 1rem;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .contents02__title .text.text--small {
    font-size: 1.375rem;
    line-height: 1;
  }
}

.contents02__title .title.title--small {
  font-size: 1.5625rem;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .contents02__title .title.title--small {
    margin-top: 1.125rem;
    font-size: 2.375rem;
    line-height: 1;
  }
}

.contents02__items {
  margin-top: 2.1875rem;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2.5rem;
}
@media screen and (min-width: 768px) {
  .contents02__items {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.875rem;
  }
}

.contents02__item-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 310/380;
}

.contents02__item-body {
  margin-top: 1.125rem;
}
@media screen and (min-width: 768px) {
  .contents02__item-body {
    margin-top: 1.875rem;
  }
}

.contets02-button {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .contets02-button {
    margin-top: 2.1875rem;
  }
}

.contents03 {
  background: #fff;
  width: 100%;
  padding-top: 2.1875rem;
  padding-bottom: 3.75rem;
}
@media screen and (min-width: 768px) {
  .contents03 {
    padding-top: 8.125rem;
    padding-bottom: 8.125rem;
  }
}

.contents03__inner {
  max-width: 100%;
  padding: 0 3.5625rem;
}
@media screen and (min-width: 768px) {
  .contents03__inner {
    max-width: 64.375rem;
    width: 100%;
    padding: 0 1.5625rem;
    margin: 0 auto;
  }
}

.contents03__title .text,
.contents03__title .title {
  color: #7C8070;
}

.contents03__title .text.text--small {
  font-size: 1rem;
  line-height: 1.8125;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .contents03__title .text.text--small {
    font-size: 1.375rem;
    line-height: 1;
  }
}

.contents03__title .title.title--small {
  font-size: 1.5625rem;
  line-height: 1.16;
  letter-spacing: 0.1em;
  margin-top: 0.5625rem;
}
@media screen and (min-width: 768px) {
  .contents03__title .title.title--small {
    font-size: 2.375rem;
    line-height: 1;
  }
}

.contents03__items {
  margin-top: 2.1875rem;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2.0625rem;
}
@media screen and (min-width: 768px) {
  .contents03__items {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.875rem;
  }
}

.contents03__item-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 310/380;
}

.contents03__item-body {
  margin-top: 1.125rem;
}
@media screen and (min-width: 768px) {
  .contents03__item-body {
    margin-top: 1.875rem;
  }
}

.contets03-button {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .contets03-button {
    margin-top: 5rem;
  }
}

.contents04 {
  background: #000;
  width: 100%;
  padding-top: 1.125rem;
  padding-bottom: 3.625rem;
}
@media screen and (min-width: 768px) {
  .contents04 {
    padding-top: 6.25rem;
    padding-bottom: 8.75rem;
  }
}

.contents04__inner {
  max-width: 100%;
  padding: 0 0.9375rem;
}
@media screen and (min-width: 768px) {
  .contents04__inner {
    max-width: 64.375rem;
    width: 100%;
    padding: 0 1.5625rem;
    margin: 0 auto;
  }
}

.contents04__title {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-bottom: 0.78125rem;
}
@media screen and (min-width: 768px) {
  .contents04__title {
    flex-direction: row;
    padding-bottom: 2.5rem;
  }
}

.contents04__title-1 {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.contents04__title-1 .title.title--contents04-small {
  font-size: 1rem;
  line-height: 1.3125;
}
@media screen and (min-width: 768px) {
  .contents04__title-1 .title.title--contents04-small {
    font-size: 1.75rem;
    line-height: 1.3928571429;
  }
}

.contents04__title-1 .title.title--contents04-small + .contents04__title-1 .title.title--contents04-small {
  margin-top: 0.375rem;
}
@media screen and (min-width: 768px) {
  .contents04__title-1 .title.title--contents04-small + .contents04__title-1 .title.title--contents04-small {
    margin-top: 0.75rem;
  }
}

.contents04__title-2 {
  display: flex;
  align-items: center;
  justify-content: center;
}

.contents04__title-2 .title {
  line-height: 1.5;
}

.contents04__title-2 .title.title--contents04 {
  font-size: 1.8rem;
  display: inline-flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .contents04__title-2 .title.title--contents04 {
    font-size: 3.4375rem;
  }
}

.title--contents04-big {
  display: inline-block;
  margin: 0.3125rem;
  width: 1.8125rem;
  height: 3.21875rem;
}
@media screen and (min-width: 768px) {
  .title--contents04-big {
    margin: 0.625rem;
    width: 4.4375rem;
    height: 9.875rem;
  }
}

.title--contents04-big img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.contetnts04-items {
  border-top: 1px solid #fff;
}

.contetnts04-item {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .contetnts04-item {
    flex-direction: row;
  }
}

.contetnts04-item {
  margin-top: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .contetnts04-item {
    margin-top: 1.875rem;
  }
}

.contetnts04-item-title-wrap {
  display: flex;
  align-items: center;
  justify-content: stretch;
  flex-direction: row;
}
@media screen and (min-width: 768px) {
  .contetnts04-item-title-wrap {
    flex-direction: column;
    justify-content: center;
  }
}

.contetnts04-item-title-spanQ {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  transform: translate(20%, 15%);
}
@media screen and (min-width: 768px) {
  .contetnts04-item-title-spanQ {
    width: 3rem;
    height: 3rem;
    transform: translate(27%, 4%);
  }
}

.contetnts04-item-title-spanW {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.1875rem;
  height: 1.1875rem;
}
@media screen and (min-width: 768px) {
  .contetnts04-item-title-spanW {
    width: 2.375rem;
    height: 2.375rem;
  }
}

.contetnts04-item-title-span img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.contetnts04-item-title-img {
  width: 2.3125rem;
  height: 2.3125rem;
}
@media screen and (min-width: 768px) {
  .contetnts04-item-title-img {
    width: 4.625rem;
    height: 4.625rem;
  }
}

.contetnts04-item-title-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.contetnts04-item-title {
  writing-mode: horizontal-tb;
  color: #fff;
  font-size: 1.1875rem;
  line-height: 1.3157894737;
  margin-top: 0;
  margin-left: 0.375rem;
}
@media screen and (min-width: 768px) {
  .contetnts04-item-title {
    margin-top: 1.25rem;
    font-size: 2.375rem;
    writing-mode: vertical-rl;
    text-orientation: upright;
  }
}

.contetnts04-item-title-number {
  writing-mode: horizontal-tb;
  color: #fff;
  font-size: 1.1875rem;
  line-height: 1.3157894737;
}
@media screen and (min-width: 768px) {
  .contetnts04-item-title-number {
    font-size: 2.375rem;
    -ms-writing-mode: tb-rl;
    text-combine-upright: all;
  }
}

.contetnts04-item-text {
  color: #fff;
  font-size: 0.8125rem;
  line-height: 1.7307692308;
  letter-spacing: -0.1em;
}
@media screen and (min-width: 768px) {
  .contetnts04-item-text {
    font-size: 1.375rem;
    line-height: 1.7272727273;
  }
}

.contetnts04-item-img01 {
  width: 6.75rem;
}
@media screen and (min-width: 768px) {
  .contetnts04-item-img01 {
    width: 12.8125rem;
    height: 26.875rem;
  }
}

.contetnts04-item-img01 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.contetnts04-item-text-body-flex {
  margin-top: 0.5625rem;
  margin-left: 0;
  padding-top: 0;
  display: flex;
  justify-content: baseline;
  align-items: end;
}
@media screen and (min-width: 768px) {
  .contetnts04-item-text-body-flex {
    margin-top: 0;
    padding-top: 6.875rem;
    margin-left: 3.4375rem;
    flex-direction: row;
    justify-content: center;
    align-items: flex-end;
  }
}

.contetnts04-item-text-body {
  margin-top: 0.9375rem;
  margin-left: 0;
  padding-top: 0;
  display: flex;
  justify-content: center;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .contetnts04-item-text-body {
    margin-top: 0;
    padding-top: 9.375rem;
    margin-left: 3.4375rem;
  }
}

.contetnts04-item-text-body-img {
  margin-top: 0.9375rem;
  margin-left: 0;
  padding-top: 0;
  display: flex;
  justify-content: center;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .contetnts04-item-text-body-img {
    margin-top: 0;
    padding-top: 13.125rem;
    margin-left: 3.4375rem;
  }
}

@media screen and (min-width: 768px) {
  .contetnts04-item:nth-of-type(3) .contetnts04-item-text-body {
    padding-top: 5rem;
  }
}

@media screen and (min-width: 768px) {
  .contetnts04-item:nth-of-type(4) .contetnts04-item-text-body {
    padding-top: 0rem;
    margin-top: -1.875rem;
  }
}

.contetnts04-item:nth-of-type(6) {
  margin-top: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .contetnts04-item:nth-of-type(6) {
    margin-top: -9.375rem;
  }
}

@media screen and (min-width: 768px) {
  .contetnts04-item:nth-of-type(6) .contetnts04-item-text {
    padding-top: 1.875rem;
  }
}

.contetnts04-item:nth-of-type(7) {
  margin-top: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .contetnts04-item:nth-of-type(7) {
    margin-top: -9.375rem;
  }
}

.contetnts04-item-text-body-mt {
  margin-top: 0.9375rem;
  margin-left: 0;
  padding-top: 0;
  display: flex;
  justify-content: center;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .contetnts04-item-text-body-mt {
    margin-top: 18.75rem;
    margin-left: 3.4375rem;
  }
}

.contetnts04-item-img02 {
  margin-top: 0.9375rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .contetnts04-item-img02 {
    width: 27.25rem;
    height: 15.625rem;
    margin-left: unset;
    margin-right: unset;
    margin-top: 1.875rem;
  }
}

.contetnts04-item-img02 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.contetnts04-item.contetnts04-item-clumn {
  display: flex;
  flex-direction: column;
}

.contetnts04-item-flex {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .contetnts04-item-flex {
    flex-direction: row;
  }
}

.contetnts04-item-flex .contetnts04-item-title {
  letter-spacing: -0.1em;
}
@media screen and (min-width: 768px) {
  .contetnts04-item-flex .contetnts04-item-title {
    letter-spacing: normal;
  }
}

.contetnts04-item-flex .contetnts04-item-text-body {
  padding-top: 0;
}
@media screen and (min-width: 768px) {
  .contetnts04-item-flex .contetnts04-item-text-body {
    padding-top: 1rem;
  }
}

.contetnts04-item-img03 {
  margin-top: 1.875rem;
}

.contetnts04-item-discription {
  margin-top: 2.1875rem;
  width: 100%;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .contetnts04-item-discription {
    position: relative;
    display: block;
    margin-top: 7.5rem;
  }
}

.contetnts04-item-discription-body {
  padding-top: 1.4375rem;
  padding-bottom: 1.4375rem;
  padding-left: 0.625rem;
}
@media screen and (min-width: 768px) {
  .contetnts04-item-discription-body {
    padding-top: 2.8125rem;
    padding-bottom: 2.8125rem;
    padding-left: 1.25rem;
  }
}

.contetnts04-item-text-small {
  font-family: "Noto sans JP", sans-serif;
  font-size: 0.75rem;
  line-height: 1.5;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .contetnts04-item-text-small {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.contetnts04-item-discription-img {
  width: 16.25rem;
  height: 19.1875rem;
  z-index: 1;
  position: static;
}
@media screen and (min-width: 768px) {
  .contetnts04-item-discription-img {
    position: absolute;
    right: 4%;
    top: -27%;
  }
}

.contetnts04-item-discription-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 768px) {
  .contetnts04-item-text-body.contetnts04-item-text-body--pt {
    padding-top: 5.625rem;
    margin-left: 6.875rem;
  }
}

@media screen and (min-width: 768px) {
  .contetnts04-item:nth-of-type(3) .contetnts04-item-text-body {
    margin-left: 2.8125rem;
  }
}

.contetnts04-item:nth-of-type(5) .contetnts04-item-text {
  letter-spacing: -0.17em;
}

.contetnts04-item-text-span {
  letter-spacing: -0.06em;
}
@media screen and (min-width: 768px) {
  .contetnts04-item-text-span {
    letter-spacing: normal;
  }
}

.contetnts04-item-text-span2 {
  font-size: 0.6875rem;
}
@media screen and (min-width: 768px) {
  .contetnts04-item-text-span2 {
    font-size: 1.375rem;
  }
}

.contetnts04-item:nth-of-type(6) .contetnts04-item-text-body-mt {
  margin-left: 0;
}
@media screen and (min-width: 768px) {
  .contetnts04-item:nth-of-type(6) .contetnts04-item-text-body-mt {
    margin-left: 9.375rem;
  }
}

.contetnts04-item:nth-of-type(7) .contetnts04-item-text-body-mt {
  margin-left: 0;
}
@media screen and (min-width: 768px) {
  .contetnts04-item:nth-of-type(7) .contetnts04-item-text-body-mt {
    margin-left: 6.25rem;
  }
}

.contetnts04-item:nth-of-type(8) .contetnts04-item-title {
  letter-spacing: -0.1em;
}

.contetnts04-item:nth-of-type(8) .contetnts04-item-text-body-img {
  margin-left: 0;
}
@media screen and (min-width: 768px) {
  .contetnts04-item:nth-of-type(8) .contetnts04-item-text-body-img {
    margin-left: 6.875rem;
  }
}

.contetnts04-item-img03-sp {
  width: 100%;
}

.contetnts04-item-img03-sp img {
  margin-top: 1.3125rem;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .contetnts04-item-img03-sp img {
    margin-top: 2.625rem;
  }
}

.contents05 {
  background: #D6D6CD;
  width: 100%;
  padding-top: 5.3125rem;
  padding-bottom: 4.0625rem;
}
@media screen and (min-width: 768px) {
  .contents05 {
    padding-top: 8.125rem;
    padding-bottom: 8.125rem;
  }
}

.contents05__title-wrap {
  background: #000;
  width: 100%;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .contents05__title-wrap {
    height: 5.9375rem;
  }
}

.contents05__title {
  color: #fff;
  font-size: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .contents05__title {
    font-size: 3.4375rem;
  }
}

.contents05__inner {
  max-width: 100%;
  padding: 0 1.5625rem;
}
@media screen and (min-width: 768px) {
  .contents05__inner {
    max-width: 64.375rem;
    width: 100%;
    padding: 0 1.5625rem;
    margin: 0 auto;
  }
}

.contents05__img {
  display: none;
}
@media screen and (min-width: 768px) {
  .contents05__img {
    margin-top: 4.375rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

.contents05__img-sp {
  margin-top: 2.1875rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .contents05__img-sp {
    display: none;
  }
}

.contents05__img:nth-of-type(1) {
  padding-left: 7.5rem;
}
