@charset "UTF-8";
/* ページ全般の設定 */
* {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  color: #333333;
}

li {
  list-style: none;
}

a {
  color: #333333;
  text-decoration: none;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

em {
  font-style: normal;
}

@media (max-width: 960px) {
  .pc-only {
    display: none;
  }
}

@media (min-width: 961px) {
  .sp-only {
    display: none;
  }
}

.tab-only {
  display: none;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .tab-only {
    display: block;
  }
}
.flex {
  display: flex;
}
@media (max-width: 960px) {
  .flex {
    flex-direction: column;
  }
}

.grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 960px) {
  .grid-2 {
    grid-template-columns: 1fr;
  }
}

.grid-3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
@media (max-width: 960px) {
  .grid-3 {
    grid-template-columns: 1fr;
  }
}

.content-width {
  max-width: 82.9rem;
  margin: 0 auto;
}
@media (max-width: 960px) {
  .content-width {
    width: 100%;
    max-width: 100%;
  }
}

.section-title {
  font-size: 4rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  font-feature-settings: "palt";
}
@media (max-width: 960px) {
  .section-title {
    font-size: 6.7708333333vw;
    line-height: 1.3;
    letter-spacing: 0.08em;
  }
}
.section-title .orange {
  color: #ff8e00;
}
.section-title .blue {
  color: #2975cd;
}
.section-title .underline {
  border-bottom: solid 1px #333333;
}

.section-catch {
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  margin-top: 2rem;
  text-align: center;
  font-feature-settings: "palt";
}
@media (max-width: 960px) {
  .section-catch {
    font-size: 4.0625vw;
    font-weight: 500;
    margin-top: 5.2083333333vw;
  }
}

.header {
  width: 100%;
  background: #fff;
  height: 11.1rem;
  padding: 0 3.0927835052vw 0 3.0927835052vw;
}
@media (min-width:970px) {
  .header {
    padding: 0 3rem 0 rem;
  }
}
@media (max-width: 960px) {
  .header {
    height: 16.5625vw;
    padding: 0 4.6875vw 0 5.7291666667vw;
  }
}
.header .header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 11.1rem;
}
@media (max-width: 960px) {
  .header .header__inner {
    height: 16.5625vw;
    width: 100%;
    align-items: center;
  }
}
.header .header__logo {
  line-height: 1;
  display: flex;
  max-width: 28.8659793814vw;
  width: 100%;
}
@media (min-width:970px) {
  .header .header__logo {
    max-width: 28rem;
  }
}
@media (max-width: 960px) {
  .header .header__logo {
    max-width: 34.2708333333vw;
  }
}
.header .header__logo a {
  display: block;
}
.header .header__contact {
  display: flex;
  align-items: center;
  gap: 2.9896907216vw;
}
@media (min-width:970px) {
  .header .header__contact {
    gap: 2.9rem;
  }
}
.header .header__contact .tel-btn {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-size: 3.4020618557vw;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #4d4d4d;
}
@media (min-width:970px) {
  .header .header__contact .tel-btn {
    font-size: 3.3rem;
  }
}
@media (max-width: 960px) {
  .header .header__contact .tel-btn {
    display: none;
  }
}
.header .header__contact .contact-btn {
  max-width: 33.6082474227vw;
  width: 100%;
}
@media (min-width:970px) {
  .header .header__contact .contact-btn {
    max-width: 32.6rem;
  }
}
@media (max-width: 960px) {
  .header .header__contact .contact-btn {
    max-width: 50.3125vw;
  }
}

.mv {
  background-image: url(../images/bg-mv.jpg);
  background-size: cover;
  padding: 5.1546391753vw 0;
  height: 53.8144329897vw;
  position: relative;
}
@media (max-width: 960px) {
  .mv {
    background-image: url(../images/sp_bg-mv.jpg);
    height: 92.8125vw;
    padding: 3.6458333333vw 0;
    overflow: hidden;
  }
}
.mv .mv-img {
  position: absolute;
  width: 100%;
  height: 53.8144329897vw;
  bottom: 0;
  left: 0;
  z-index: 2;
}
@media (max-width: 960px) {
  .mv .mv-img {
    height: 91.25vw;
  }
}
.mv .mv__right {
  display: flex;
  flex-direction: column;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 0 0 auto;
  position: relative;
  z-index: 1;
}
.mv .mv__label {
  font-family: "Noto Serif JP", serif;
  font-size: 4.0206185567vw;
  font-weight: 700;
  width: 77%;
  margin: 0 auto;
}
@media (min-width: 961px) {
  .mv .mv__label {
    margin-left: 5.1546391753vw;
  }
}
@media (max-width: 960px) {
  .mv .mv__label {
    width: 100%;
    font-size: 4.6875vw;
    text-align: center;
    margin-left: 0;
  }
}
.mv .mv__label .label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 2.1649484536vw;
  background: #ff8e00;
  display: inline-block;
  padding: 0.5154639175vw 1.0309278351vw;
  border-radius: 0.4845360825vw;
  color: #fff;
  margin-right: 0.5rem;
  vertical-align: middle;
}
@media (max-width: 960px) {
  .mv .mv__label .label {
    font-size: 3.8541666667vw;
    padding: 1.0416666667vw 2.0833333333vw;
    margin-right: 1.0416666667vw;
    border-radius: 0.824742268vw;
  }
}
@media (min-width: 961px) {
  .mv .mv__top {
    padding-left: 8.1443298969vw;
  }
}
.mv .mv__top .mv-title {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 4.2268041237vw;
  letter-spacing: 0.085em;
  line-height: 1.2;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-feature-settings: "palt";
}
@media (max-width: 960px) {
  .mv .mv__top .mv-title {
    font-size: 5.2083333333vw;
    font-weight: 500;
    margin-top: 5.2083333333vw;
    padding-left: 0;
    width: 100%;
    letter-spacing: 0;
    position: relative;
    right: -8.3333333333vw;
  }
}
.mv .mv__top .mv-title em {
  font-size: 7.1134020619vw;
}
@media (max-width: 960px) {
  .mv .mv__top .mv-title em {
    font-size: 9.4791666667vw;
    letter-spacing: 0.05em;
  }
}
.mv .mv__top .mv-title em small {
  font-size: 4.9484536082vw;
}
@media (max-width: 960px) {
  .mv .mv__top .mv-title em small {
    font-size: 6.6666666667vw;
  }
}
.mv .mv__bottom {
  margin-top: 3rem;
  padding: 2.5rem 0;
  background: rgba(255, 142, 0, 0.81);
  width: 72.5773195876vw;
}
@media (max-width: 960px) {
  .mv .mv__bottom {
    margin-top: 11.1458333333vw;
    padding: 3.125vw 0 5.2083333333vw;
    width: 73.3333333333vw;
  }
}
.mv .mv__bottom .mv__bottom__inner {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media (max-width: 960px) {
  .mv .mv__bottom .mv__bottom__inner {
    width: 100%;
    padding-left: 15.625vw;
  }
}
.mv .mv__bottom .mv-catch {
  color: #ffff00;
  font-size: 3.2989690722vw;
  font-weight: 500;
  letter-spacing: 0.14em;
  font-feature-settings: "palt";
}
@media (max-width: 960px) {
  .mv .mv__bottom .mv-catch {
    font-size: 4.0416666667vw;
  }
}
.mv .mv__bottom p {
  font-weight: 500;
  color: #fff;
  font-size: 2.2680412371vw;
  letter-spacing: 0.1em;
}
@media (max-width: 960px) {
  .mv .mv__bottom p {
    font-size: 3.4375vw;
  }
}
.mv .mv__bottom p .yellow {
  color: #ffff00;
  letter-spacing: 0.12em;
}
.mv .mv__bottom p .yellow em {
  font-size: 2.7835051546vw;
}
@media (max-width: 960px) {
  .mv .mv__bottom p .yellow em {
    font-size: 4.0625vw;
  }
}

.cover {
  position: relative;
}
.cover img {
  height: 30rem;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: bottom;
     object-position: bottom;
}
@media (max-width: 960px) {
  .cover img {
    height: 20rem;
  }
}
.cover .cover-title {
  text-align: center;
  background: rgba(255, 255, 255, 0.8);
  position: absolute;
  transform: translateY(-50%) translateX(-50%);
  top: 50%;
  bottom: 50%;
  left: 50%;
  right: 50%;
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  padding: 1rem 0;
  font-size: 4rem;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 960px) {
  .cover .cover-title {
    font-size: 2.4rem;
    padding: 0.5rem 0;
  }
}

.message {
  padding: 9rem 2rem 8rem;
}
@media (max-width: 960px) {
  .message {
    padding: 17.7083333333vw 6.25vw 18.75vw;
  }
}
.message .message__text {
  text-align: center;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 3.0666666667;
  letter-spacing: 0.03em;
  margin-top: 3rem;
  font-feature-settings: "palt";
}
@media (max-width: 960px) {
  .message .message__text {
    font-size: 3.4375vw;
    font-weight: 400;
    margin-top: 5.2083333333vw;
    line-height: 1.8181818182;
  }
}

.worries {
  padding: 10.3092783505vw 2rem 8rem;
  background-image: url(../images/bg-worries.jpg);
  background-size: cover;
  background-position: center top;
}
@media (max-width: 960px) {
  .worries {
    padding: 14.5833333333vw 6.25vw 18.75vw;
    background-image: url(../images/sp_bg-worries.jpg);
  }
}
.worries .section-title {
  font-size: 4.1rem;
}
@media (max-width: 960px) {
  .worries .section-title {
    font-size: 6.7708333333vw;
    font-weight: 400;
    line-height: 1.6;
  }
}
@media (max-width: 960px) {
  .worries .section-title .underline {
    border-bottom: none;
  }
}
.worries .worries__list {
  width: -moz-fit-content;
  width: fit-content;
  margin: 4rem auto 0;
}
@media (max-width: 960px) {
  .worries .worries__list {
    margin: 7.2916666667vw auto 0;
  }
}
.worries .worries__list li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.85rem;
  font-weight: 400;
  line-height: 2;
}
@media (max-width: 960px) {
  .worries .worries__list li {
    font-size: 3.5416666667vw;
    align-items: self-start;
    line-height: 1.6764705882;
    margin-bottom: 2.0833333333vw;
  }
}
.worries .worries__list li:last-child {
  margin-bottom: 0;
}
.worries .worries__list li .icon {
  width: 2.5rem;
}
@media (max-width: 960px) {
  .worries .worries__list li .icon {
    width: 5.2083333333vw;
    margin-top: 0.9375vw;
  }
}

.news {
  padding: 11rem 2rem 0;
}
@media (max-width: 960px) {
  .news {
    padding: 20.3125vw 6.25vw 0;
  }
}
.news .section-title {
  font-size: 5.1rem;
  font-weight: 600;
}
@media (max-width: 960px) {
  .news .section-title {
    font-size: 7.2916666667vw;
  }
}

.column {
  padding: 13rem 2rem 17.5rem;
}
@media (max-width: 960px) {
  .column {
    padding: 26.0416666667vw 6.25vw 22.3958333333vw;
  }
}
.column .section-title {
  margin-bottom: 2rem;
  font-family: "Noto Sans JP", sans-serif;
}
@media (max-width: 960px) {
  .column .section-title {
    font-size: 6.40625vw;
    margin-bottom: 3.6458333333vw;
  }
}

@media (min-width: 961px) {
  .single .content-width,
  .archive .content-width {
    max-width: 110rem;
  }
}

.media {
  border: solid 1px #666666;
  padding: 4rem;
  margin-top: 2.5rem;
}
@media (max-width: 960px) {
  .media {
    margin-top: 2.0833333333vw;
    padding: 5.2083333333vw 6.25vw;
  }
}
.media li a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  padding: 2.5rem 0;
  border-bottom: solid 1px #666666;
}
@media (max-width: 960px) {
  .media li a {
    flex-direction: column;
    border-bottom: none;
    align-items: flex-start;
    gap: 0;
    padding: 0;
  }
}
.media li a .media__img {
  width: 100%;
  max-width: 29.3rem;
  aspect-ratio: 293/168;
  overflow: hidden;
}
@media (max-width: 960px) {
  .media li a .media__img {
    max-width: 100%;
  }
}
.media li a .media__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
  display: block;
}
.media li a .media-title {
  font-size: 2.1rem;
  font-weight: 600;
  line-height: 1.4761904762;
}
@media (max-width: 960px) {
  .media li a .media-title {
    font-size: 3.9583333333vw;
    line-height: 1.3157894737;
    margin-bottom: 3.125vw;
  }
}
.media li a .media__text {
  max-width: 46.4rem;
  color: #000000;
}
@media (max-width: 960px) {
  .media li a .media__text {
    max-width: 100%;
  }
}
.media li a .media__text p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 1.7857142857;
  margin-top: 1rem;
  font-weight: 400;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}
@media (max-width: 960px) {
  .media li a .media__text p {
    font-size: 3.3333333333vw;
    line-height: 1.5625;
    margin-top: 5.2083333333vw;
    -webkit-line-clamp: 2;
  }
}
.media li:first-child a {
  padding-top: 0;
}
.media li:last-child a {
  border-bottom: none;
  padding-bottom: 0;
}

/* 記事 */
.single {
  padding: 80px 2rem;
}

.single__inner {
  display: flex;
  gap: 60px;
}

.single__content {
  flex: 1;
  min-width: 0;
}

.single__sidebar {
  width: 300px;
  flex-shrink: 0;
}

.single__meta {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
  font-size: 1.4rem;
}
.single__meta span {
  background: #ff8e00;
  color: #fff;
  display: inline-block;
  padding: 2px 8px;
  border-radius: 5px;
}

.single__title {
  margin-bottom: 32px;
  font-size: 2.5rem;
  line-height: 1.5;
  border-left: 6px solid #ff8e00;
  padding-left: 12px;
}

.single__thumbnail {
  margin-bottom: 40px;
}

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

.single__body {
  line-height: 2;
}

.single__body h3 {
  margin: 60px 0 24px;
  font-size: 2.4rem;
  border-left: 6px solid #ff8e00;
  padding-left: 12px;
}

.single__body h4 {
  margin: 40px 0 16px;
  font-size: 2rem;
  color: #ff8e00;
}

.single__body h5 {
  margin: 40px 0 16px;
  font-size: 1.8rem;
}

.single__body p + p {
  margin-top: 20px;
}

.single__body ul {
  margin-top: 20px;
  padding-left: 1.5em;
}

.sidebar__block + .sidebar__block {
  margin-top: 40px;
}

.sidebar__title {
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 2px solid #ddd;
  font-size: 2rem;
}

.sidebar__block ul li + li {
  margin-top: 12px;
}

@media (max-width: 768px) {
  .single {
    padding: 60px 2rem;
  }
  .single__inner {
    flex-direction: column;
    gap: 50px;
  }
  .single__sidebar {
    width: 100%;
  }
  .single__title {
    font-size: 2.4rem;
  }
  .single__body h2 {
    font-size: 2rem;
  }
  .single__body h3 {
    font-size: 1.8rem;
  }
}
.single__category {
  padding-top: 40px;
  padding-bottom: 40px;
  border-top: 1px solid #ddd;
}
.single__category a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.single__category a .underline {
  text-decoration: underline;
}

.post-nav {
  display: flex;
  gap: 24px;
  padding-top: 40px;
  border-top: 1px solid #ddd;
}

.post-nav__prev,
.post-nav__next {
  flex: 1;
}

.post-nav a {
  display: block;
  height: 100%;
  padding: 24px;
  border: 1px solid #ddd;
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  transition: 0.3s;
}

.post-nav a:hover {
  border-color: #333;
}

.post-nav__label {
  display: block;
  margin-bottom: 12px;
  font-size: 1.3rem;
  color: #666;
}

.post-nav__title {
  display: block;
  line-height: 1.8;
}

.post-nav__prev .post-nav__label::before {
  content: "← ";
}

.post-nav__next {
  text-align: right;
}

.post-nav__next .post-nav__label::after {
  content: " →";
}

@media (max-width: 768px) {
  .post-nav {
    flex-direction: column;
  }
  .post-nav__next {
    text-align: left;
  }
}
/* 記事一覧 */
.archive {
  padding: 80px 2rem;
}

.archive__inner {
  display: flex;
  gap: 60px;
}

.archive__content {
  flex: 1;
  min-width: 0;
}

.archive__sidebar {
  width: 300px;
  flex-shrink: 0;
}

.archive__item {
  border-bottom: 1px solid #ddd;
}

.archive__item a {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  padding: 24px 0;
  color: inherit;
  text-decoration: none;
}

.archive__thumb {
  width: 240px;
  flex-shrink: 0;
  aspect-ratio: 240/154;
  overflow: hidden;
}
@media (max-width: 960px) {
  .archive__thumb {
    max-width: 100%;
  }
}

.archive__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
  display: block;
}

.archive__meta {
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
  font-size: 1.4rem;
}
.archive__meta span {
  background: #ff8e00;
  color: #fff;
  display: inline-block;
  padding: 2px 8px;
  border-radius: 5px;
}

.archive__title {
  margin-bottom: 12px;
  font-size: 2rem;
  line-height: 1.6;
}

.archive__excerpt {
  line-height: 1.8;
}

.pagination {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 50px;
}

.pagination a,
.pagination span {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid #ddd;
}

.sidebar__block + .sidebar__block {
  margin-top: 40px;
}

.sidebar__title {
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 2px solid #ddd;
  font-size: 2rem;
}

.sidebar__block form div {
  display: flex;
}
.sidebar__block ul .cat-item {
  border-bottom: 1px solid #ddd;
}
.sidebar__block ul .cat-item a {
  display: block;
  padding-bottom: 12px;
}

.sidebar__block #s {
  flex: 1;
  height: 48px;
  padding: 0 12px;
  border: 1px solid #ccc;
}

.sidebar__block #searchsubmit {
  width: 80px;
  height: 48px;
  border: 1px solid #333;
  background: #333;
  color: #fff;
  cursor: pointer;
}

.sidebar__block ul li + li {
  margin-top: 12px;
}

@media (max-width: 768px) {
  .archive {
    padding: 60px 2rem;
  }
  .archive__inner {
    flex-direction: column;
    gap: 50px;
  }
  .archive__sidebar {
    width: 100%;
  }
  .archive__item a {
    flex-direction: column;
  }
  .archive__thumb {
    width: 100%;
  }
  .archive__title {
    font-size: 1.8rem;
  }
}
.wp-pagenavi {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.point {
  padding: 14rem 2rem 0;
}
@media (max-width: 960px) {
  .point {
    padding: 26.0416666667vw 4.1666666667vw 0;
  }
}
.point .section-title {
  font-weight: 600;
}
.point .section-catch {
  font-size: 2.2rem;
}
.point .point__list {
  margin-top: 6rem;
}
@media (max-width: 960px) {
  .point .point__list {
    margin-top: 7.2916666667vw;
  }
}
.point .point__list li {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  margin-bottom: 6.5rem;
}
@media (max-width: 960px) {
  .point .point__list li {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    margin-bottom: 14.0625vw;
  }
}
.point .point__list li:last-child {
  margin-bottom: 0;
}
.point .point__list li .point__list__img {
  max-width: 33.8rem;
  width: 100%;
}
@media (max-width: 960px) {
  .point .point__list li .point__list__img {
    max-width: 100%;
    border-radius: 2.7083333333vw;
    overflow: hidden;
  }
}
@media (max-width: 960px) {
  .point .point__list li .point__list__img img {
    width: 100%;
  }
}
.point .point__list li .point__list__text {
  max-width: 48.5rem;
  color: #000000;
}
@media (max-width: 960px) {
  .point .point__list li .point__list__text {
    max-width: 100%;
  }
}
.point .point__list li .point__list__text .list-title {
  display: flex;
  align-items: flex-end;
  gap: 2rem;
  border-bottom: solid 1px #333333;
  padding-bottom: 2rem;
}
@media (max-width: 960px) {
  .point .point__list li .point__list__text .list-title {
    border-bottom: none;
    margin-bottom: 4.6875vw;
    padding-bottom: 0;
    gap: 3.125vw;
  }
}
.point .point__list li .point__list__text .list-title .num {
  font-family: "Times New Roman", sans-serif;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  color: #ff8e00;
  line-height: 1;
  font-weight: 400;
}
@media (max-width: 960px) {
  .point .point__list li .point__list__text .list-title .num {
    font-size: 4.4791666667vw;
  }
}
.point .point__list li .point__list__text .list-title .num em {
  font-size: 6.3rem;
  font-weight: 500;
}
@media (max-width: 960px) {
  .point .point__list li .point__list__text .list-title .num em {
    font-size: 13.5416666667vw;
  }
}
.point .point__list li .point__list__text .list-title .ja {
  font-family: "Noto Serif JP", serif;
  font-size: 2.7rem;
  font-weight: 500;
  line-height: 1.3703703704;
  letter-spacing: 0.1em;
  color: #333333;
  font-feature-settings: "palt";
  letter-spacing: 0.01em;
}
@media (max-width: 960px) {
  .point .point__list li .point__list__text .list-title .ja {
    font-size: 5.5208333333vw;
    line-height: 1.3773584906;
  }
}
.point .point__list li p {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.7857142857;
  letter-spacing: 0.014em;
  margin-top: 1rem;
  color: #333333;
}
@media (max-width: 960px) {
  .point .point__list li p {
    font-size: 3.8541666667vw;
    line-height: 1.6486486486;
    margin-top: 4.1666666667vw;
    font-feature-settings: "palt";
    letter-spacing: 0.08em;
  }
}

.cta {
  padding: 14.5rem 2rem 0;
}
@media (max-width: 960px) {
  .cta {
    padding: 17.7083333333vw 6.25vw 0;
  }
}
.cta p {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-weight: 500;
  font-size: 2.2rem;
}
@media (max-width: 960px) {
  .cta p {
    font-size: 4.375vw;
    gap: 2.0833333333vw;
  }
}
.cta p .fukidashi-l,
.cta p .fukidashi-r {
  width: 1.6rem;
}
@media (max-width: 960px) {
  .cta p .fukidashi-l,
  .cta p .fukidashi-r {
    width: 3.2291666667vw;
  }
}
.cta a {
  display: block;
  margin: 2rem auto 0;
  max-width: 57.3rem;
}
@media (max-width: 960px) {
  .cta a {
    margin: 4.1666666667vw auto 0;
    max-width: 100%;
  }
}

.cta-2 {
  padding: 12rem 2rem 0;
}

.service {
  padding: 16.5rem 2rem 0;
}
@media (max-width: 960px) {
  .service {
    padding: 19.7916666667vw 6.25vw 0;
  }
}
.service .section-catch {
  font-size: 2.2rem;
  margin-top: 5rem;
}
@media (max-width: 960px) {
  .service .section-catch {
    font-size: 4.0625vw;
  }
}
.service .service__list {
  margin-top: 1rem;
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
  row-gap: 3rem;
}
@media (max-width: 960px) {
  .service .service__list {
    margin-top: 8.3333333333vw;
    gap: 5.2083333333vw;
  }
}
.service .service__list li {
  padding: 0.8rem;
  min-height: 28.5rem;
  background: #ffedbf;
}
@media (max-width: 960px) {
  .service .service__list li {
    padding: 3.6458333333vw 2.0833333333vw 9.375vw;
    min-height: auto;
    border-radius: 1.875vw;
  }
}
.service .service__list li .list-title {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 500;
  margin-top: 1rem;
  letter-spacing: 0.04em;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 960px) {
  .service .service__list li .list-title {
    font-size: 6.25vw;
    margin-top: 0;
    margin-bottom: 4.1666666667vw;
  }
}
@media (max-width: 960px) {
  .service .service__list li .list-img {
    border-radius: 1.875vw;
    overflow: hidden;
  }
}
@media (max-width: 960px) {
  .service .service__list li .list-img img {
    width: 100%;
  }
}
.service .service__list li p {
  font-size: 1.2rem;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
  font-weight: 400;
  margin-top: 0.5rem;
}
@media (max-width: 960px) {
  .service .service__list li p {
    font-size: 3.9583333333vw;
    margin-top: 5.2083333333vw;
    letter-spacing: 0.11em;
  }
}
.service .service__list li:nth-child(2n) {
  background: #ffd6b2;
}

.example {
  padding: 15rem 2rem 22rem;
}
@media (max-width: 960px) {
  .example {
    padding: 27.0833333333vw 6.25vw 20.3125vw;
  }
}
.example .example__list {
  row-gap: 5rem;
  -moz-column-gap: 0;
       column-gap: 0;
  max-width: 81.3rem;
  margin: 5rem auto 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 960px) {
  .example .example__list {
    max-width: 100%;
    margin: 5.2083333333vw auto 0;
    -moz-column-gap: 7.2916666667vw;
         column-gap: 7.2916666667vw;
    row-gap: 10.4166666667vw;
  }
}
.example .example__list li {
  text-align: center;
}
.example .example__list li .list-title {
  font-size: 2.5rem;
  letter-spacing: 0.1em;
  font-weight: 500;
}
@media (max-width: 960px) {
  .example .example__list li .list-title {
    font-size: 4.6875vw;
  }
}
.example .example__list li p {
  font-size: 2rem;
  letter-spacing: 0.01em;
  font-weight: 300;
  font-feature-settings: "palt";
}
@media (max-width: 960px) {
  .example .example__list li p {
    font-size: 3.0208333333vw;
  }
}
.example .example__list .list-img {
  max-width: 32.8rem;
  width: 100%;
  margin: 2rem auto 0;
}
@media (max-width: 960px) {
  .example .example__list .list-img {
    max-width: 37.8125vw;
    margin: 2.6041666667vw auto 0;
  }
}

.marketing {
  padding: 7.5rem 2rem 10rem;
  background-image: url(../images/bg-marketing.jpg);
  background-size: cover;
}
@media (max-width: 960px) {
  .marketing {
    padding: 14.5833333333vw 6.25vw 16.6666666667vw;
    background-image: url(../images/sp_bg-marketing.jpg);
  }
}
@media (max-width: 960px) {
  .marketing .section-title {
    font-weight: 600;
  }
}
.marketing .marketing__list {
  gap: 2rem;
  margin-top: 3rem;
}
@media (max-width: 960px) {
  .marketing .marketing__list {
    gap: 12.5vw;
    margin-top: 12.5vw;
  }
}
.marketing .marketing__list li {
  text-align: center;
  position: relative;
}
.marketing .marketing__list li .label {
  position: absolute;
  top: 0.7rem;
  left: -0.9rem;
  display: inline-block;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 400;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.1em;
  padding: 0.6rem 1rem;
  width: 16.2rem;
  background: #ff931a;
}
@media (max-width: 960px) {
  .marketing .marketing__list li .label {
    top: 3.0208333333vw;
    left: -3.125vw;
    font-size: 4.375vw;
    padding: 1.5625vw 4.1666666667vw 1.5625vw 3.125vw;
    width: auto;
  }
}
.marketing .marketing__list li .label::before {
  position: absolute;
  content: "";
  background-image: url(../images/label-shadow.png);
  background-size: contain;
  width: 1rem;
  height: 0.55rem;
  bottom: -0.51rem;
  left: 0;
}
@media (max-width: 960px) {
  .marketing .marketing__list li .label::before {
    background-image: url(../images/sp_label-shadow.png);
    width: 3.125vw;
    height: 1.6666666667vw;
    bottom: -1.6145833333vw;
  }
}
.marketing .marketing__list li p {
  font-size: 1.1rem;
  font-weight: 400;
  letter-spacing: 0.07em;
  color: #000000;
  line-height: 1.1818181818;
  margin-top: 1rem;
}
@media (max-width: 960px) {
  .marketing .marketing__list li p {
    font-size: 3.75vw;
    margin-top: 3.6458333333vw;
    font-feature-settings: "palt";
  }
}
@media (max-width: 960px) {
  .marketing .marketing__list li .list-img img {
    width: 100%;
  }
}
.marketing .marketing__list li .list-title {
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #ff8e00;
  line-height: 1.1818181818;
  margin-top: 0.5rem;
}
@media (max-width: 960px) {
  .marketing .marketing__list li .list-title {
    font-size: 6.25vw;
    margin-top: 1.0416666667vw;
  }
}
.marketing .marketing__list li:nth-child(3) .label {
  width: 8.2rem;
}
@media (max-width: 960px) {
  .marketing .marketing__list li:nth-child(3) .label {
    width: 26.1458333333vw;
    padding: 1.5625vw 4.1666666667vw 1.5625vw 2.0833333333vw;
  }
}

.voice .voice__title {
  font-family: "Noto Serif JP", serif;
  background: #ff8e00;
  color: #fff;
  text-align: center;
  font-size: 3.1rem;
  font-weight: 400;
  padding: 2rem 0;
  letter-spacing: 0.02em;
  position: relative;
}
.voice .voice__title::after {
  position: absolute;
  content: "";
  background-image: url(../images/voice-arrow.png);
  background-size: contain;
  width: 16.0824742268vw;
  height: 3.5051546392vw;
  bottom: -3.5051546392vw;
  left: 50%;
  right: 50%;
  transform: translateX(-50%);
}
@media (max-width: 960px) {
  .voice .voice__title::after {
    background-image: url(../images/sp_voice-arrow.png);
    width: 16.1458333333vw;
    height: 3.4895833333vw;
    bottom: -3.4895833333vw;
  }
}
@media (max-width: 960px) {
  .voice .voice__title {
    font-size: 6.5625vw;
    padding: 5.7291666667vw 0 5.2083333333vw;
    line-height: 1.3650793651;
  }
}
.voice .voice__block {
  background-image: url(../images/bg-voice.jpg);
  background-size: cover;
  padding: 7rem 2rem 9rem;
}
@media (max-width: 960px) {
  .voice .voice__block {
    background-image: url(../images/sp_bg-voice.jpg);
    padding: 8.8541666667vw 6.25vw 13.5416666667vw;
  }
}
.voice .voice__list li {
  background: #fff;
  padding: 2.5rem 2.5rem 3rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2.5rem;
  border-radius: 6.8px;
}
@media (max-width: 960px) {
  .voice .voice__list li {
    flex-direction: column;
    padding: 5.2083333333vw 3.125vw;
    margin-bottom: 7.2916666667vw;
    border-radius: 2.6041666667vw;
  }
}
.voice .voice__list li .list-img {
  max-width: 26rem;
  width: 100%;
  border-radius: 6.89px;
  overflow: hidden;
}
@media (max-width: 960px) {
  .voice .voice__list li .list-img {
    border-radius: 2.6666666667vw;
    max-width: 100%;
    margin-top: 2.6041666667vw;
  }
}
@media (max-width: 960px) {
  .voice .voice__list li .list-img img {
    width: 100%;
  }
}
.voice .voice__list li .voice__list__text {
  max-width: 48.4rem;
  color: #000000;
}
@media (max-width: 960px) {
  .voice .voice__list li .voice__list__text {
    max-width: 100%;
  }
}
.voice .voice__list li .voice__list__text .list-title {
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  font-feature-settings: "palt";
}
@media (max-width: 960px) {
  .voice .voice__list li .voice__list__text .list-title {
    font-size: 4.0625vw;
  }
}
.voice .voice__list li .voice__list__text .list-title .l-orange {
  background: #ffdf97;
  display: inline-block;
  margin-bottom: 0.5rem;
  padding: 0.4rem 0.6rem;
}
@media (max-width: 960px) {
  .voice .voice__list li .voice__list__text .list-title .l-orange {
    margin-bottom: 1.5625vw;
    padding: 0.4166666667vw 1.25vw;
  }
}
.voice .voice__list li .voice__list__text .list-title .l-orange:last-of-type {
  margin-bottom: 0;
}
.voice .voice__list li .voice__list__text .list-category {
  font-family: "Noto Serif JP", serif;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-top: 1rem;
  font-feature-settings: "palt";
}
@media (max-width: 960px) {
  .voice .voice__list li .voice__list__text .list-category {
    font-size: 3.75vw;
    margin-top: 3.6458333333vw;
  }
}
.voice .voice__list li .voice__list__text .list-text {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.07em;
  margin-top: 2rem;
  font-feature-settings: "palt";
}
@media (max-width: 960px) {
  .voice .voice__list li .voice__list__text .list-text {
    font-size: 3.75vw;
    line-height: 1.6388888889;
    margin-top: 4.1666666667vw;
  }
}

.flow {
  padding: 12rem 2rem 0;
}
@media (max-width: 960px) {
  .flow {
    padding: 15.625vw 6.25vw 0;
  }
}
.flow .flow__list {
  margin-top: 4rem;
}
@media (max-width: 960px) {
  .flow .flow__list {
    margin-top: 8.3333333333vw;
  }
}
.flow .flow__list li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 7rem;
  background: #eeeeee;
  position: relative;
}
@media (max-width: 960px) {
  .flow .flow__list li {
    flex-direction: column;
    padding-bottom: 5.2083333333vw;
    padding: 5.2083333333vw 4.1666666667vw 7.2916666667vw;
  }
}
.flow .flow__list li::after {
  position: absolute;
  content: "";
  background-image: url(../images/flow-arrow.png);
  background-size: contain;
  width: 7.2rem;
  height: 2.6rem;
  bottom: -4.9rem;
  left: 50%;
  right: 50%;
  transform: translateX(-50%);
}
@media (max-width: 960px) {
  .flow .flow__list li::after {
    display: none;
  }
}
.flow .flow__list li .list-img {
  width: 34%;
}
@media (max-width: 960px) {
  .flow .flow__list li .list-img {
    width: 100%;
  }
}
@media (max-width: 960px) {
  .flow .flow__list li .list-img img {
    width: 100%;
  }
}
.flow .flow__list li .flow__list__text {
  width: 66%;
  padding: 2.5rem 2rem 2rem 8rem;
  position: relative;
}
@media (max-width: 960px) {
  .flow .flow__list li .flow__list__text {
    width: 100%;
    margin-bottom: 5.2083333333vw;
    padding: 0 0 0 13.5416666667vw;
    position: unset;
  }
}
.flow .flow__list li .flow__list__text .num {
  position: absolute;
  top: -1.5rem;
  left: -1rem;
  background: #ff8e00;
  color: #fff;
  width: 7.4rem;
  height: 7.4rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 4.1rem;
  letter-spacing: 0.06em;
  z-index: 1;
}
@media (max-width: 960px) {
  .flow .flow__list li .flow__list__text .num {
    top: -2.0833333333vw;
    left: -4.1666666667vw;
    width: 19.7916666667vw;
    height: 19.7916666667vw;
    font-size: 10.9375vw;
  }
}
.flow .flow__list li .flow__list__text .list-title {
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}
@media (max-width: 960px) {
  .flow .flow__list li .flow__list__text .list-title {
    font-size: 4.1666666667vw;
    font-feature-settings: "palt";
    letter-spacing: 0.02em;
  }
}
.flow .flow__list li p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  font-weight: 400;
  letter-spacing: 0.11em;
  line-height: 1.5384615385;
  margin-top: 1rem;
  font-feature-settings: "palt";
}
@media (max-width: 960px) {
  .flow .flow__list li p {
    font-size: 3.75vw;
    line-height: 1.5833333333;
    margin-top: 4.1666666667vw;
  }
}
.flow .flow__list li:last-child {
  margin-bottom: 0;
}
.flow .flow__list li:last-child::after {
  display: none;
}

.faq {
  padding: 10rem 0 28rem;
}
@media (max-width: 960px) {
  .faq {
    padding: 33.3333333333vw 6.25vw 32.2916666667vw;
  }
}
.faq .faq__block {
  margin-top: 2.5rem;
  background-image: url(../images/bg-faq.jpg);
  background-size: cover;
  padding: 5rem 2rem 8.5rem;
}
@media (max-width: 960px) {
  .faq .faq__block {
    background: none;
    padding: 0;
  }
}
.faq .faq__list li {
  padding: 2rem 0;
  border-top: solid 1px #b7b7b7;
}
@media (max-width: 960px) {
  .faq .faq__list li {
    padding: 5.7291666667vw 0;
  }
}
.faq .faq__list li:first-child {
  padding-top: 0;
  border-top: none;
}
.faq .faq__list li:last-child {
  padding-bottom: 0;
}
.faq .faq__list .q-title,
.faq .faq__list .answer-text {
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  align-items: center;
  display: flex;
  font-weight: 300;
  gap: 0.5rem;
}
@media (max-width: 960px) {
  .faq .faq__list .q-title,
  .faq .faq__list .answer-text {
    font-size: 4.0625vw;
    align-items: flex-start;
    line-height: 1.8;
    font-feature-settings: "palt";
  }
}
.faq .faq__list .en {
  font-family: "Noto Serif JP", serif;
  font-size: 3rem;
  font-weight: 400;
  letter-spacing: 0.05em;
}
@media (max-width: 960px) {
  .faq .faq__list .en {
    font-size: 7.1875vw;
    line-height: 1;
  }
}
.faq .faq__list .q-title .en {
  color: #ff631a;
}
@media (max-width: 960px) {
  .faq .faq__list .answer-text {
    letter-spacing: 0.01em;
  }
}
.faq .faq__list .answer-text .en {
  color: #008bff;
}

.bottom-img {
  background-image: url(../images/bg-bottom.jpg);
  background-size: cover;
  background-position: left top;
  padding: 5.1546391753vw 2rem 19.587628866vw;
}
@media (max-width: 960px) {
  .bottom-img {
    background: none;
    padding: 0;
  }
}
.bottom-img .content-width {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  max-width: 85.4639175258vw;
}
@media (max-width: 960px) {
  .bottom-img .content-width {
    max-width: 100%;
    background-image: url(../images/sp_bg-bottom.jpg);
    background-size: cover;
    background-position: left top;
    padding: 13.5416666667vw 5.2083333333vw 41.6666666667vw;
  }
}
.bottom-img .bottom-img__text .section-title {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  text-align: left;
  line-height: 1.25;
  letter-spacing: 0.08em;
  font-size: 4.1237113402vw;
}
@media (max-width: 960px) {
  .bottom-img .bottom-img__text .section-title {
    font-size: 5.2083333333vw;
    line-height: 1.6;
    font-weight: 600;
    letter-spacing: 0.01em;
  }
}
.bottom-img p {
  margin-top: 2.5rem;
  font-size: 1.4432989691vw;
  font-weight: 400;
  line-height: 2.1428571429;
  letter-spacing: 0;
  font-feature-settings: "palt";
}
@media (max-width: 960px) {
  .bottom-img p {
    margin-top: 0;
    font-size: 3.75vw;
    line-height: 1.6388888889;
    letter-spacing: 0.12em;
    padding: 4.1666666667vw 6.25vw 11.4583333333vw;
  }
}

.footer {
  background: #d1d1d1;
  padding: 4rem 2rem;
}
@media (max-width: 960px) {
  .footer {
    padding: 5.2083333333vw 6.25vw;
  }
}
.footer .footer__menu {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4rem;
}
@media (max-width: 960px) {
  .footer .footer__menu {
    flex-wrap: wrap;
    -moz-column-gap: 6.7708333333vw;
         column-gap: 6.7708333333vw;
    row-gap: 2.0833333333vw;
  }
}
.footer .footer__menu li a {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.13em;
  font-feature-settings: "palt";
}
@media (max-width: 960px) {
  .footer .footer__menu li a {
    font-size: 2.9166666667vw;
  }
}

.company {
  padding: 10rem 2rem;
}
@media (max-width: 960px) {
  .company {
    padding: 6rem 2rem;
  }
}

.company-profile {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
.company-profile .caution {
  text-align: right;
  font-size: 1.4rem;
  margin-top: 3rem;
}

.company-profile table {
  width: 100%;
  border-collapse: collapse;
}
.company-profile table tr {
  display: flex;
  flex-direction: column;
}

.company-profile th,
.company-profile td {
  text-align: left;
  vertical-align: top;
}

.company-profile td {
  padding: 0 0 1.6rem;
  border-bottom: 2px solid #ddd;
}

.company-profile th {
  padding: 1.6rem 0 1rem;
  width: 100%;
  font-weight: bold;
  color: #ff8e00;
}

@media (max-width: 768px) {
  .company-profile {
    grid-template-columns: 1fr;
  }
}
.privacy {
  padding: 10rem 2rem;
}
.privacy .privacy__item + .privacy__item {
  margin-top: 56px;
}
.privacy .privacy__title {
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 1px solid #ddd;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
}
.privacy p,
.privacy li {
  line-height: 2;
}
.privacy .num-list li {
  list-style: decimal inside;
}
.privacy .num-list li ol {
  padding-left: 1.5em;
}
.privacy .num-list li ol li {
  list-style: none;
}
.privacy li + li {
  margin-top: 8px;
}
.privacy a {
  text-decoration: underline;
}

@media (max-width: 768px) {
  .privacy {
    padding: 60px 2rem;
  }
  .privacy__item + .privacy__item {
    margin-top: 40px;
  }
  .privacy__title {
    margin-bottom: 16px;
    font-size: 2rem;
  }
}
.contact {
  padding: 10rem 2rem;
}

.contact__lead {
  margin-bottom: 50px;
  text-align: center;
}

.contact__lead p {
  line-height: 2;
}

.contact__form {
  max-width: 800px;
  margin: 0 auto;
}

.contact__row + .contact__row {
  margin-top: 24px;
}

.contact__row label {
  display: block;
  margin-bottom: 8px;
  font-weight: 700;
  line-height: 1.5;
}

.required {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  font-size: 1.2rem;
  font-weight: 400;
  color: #fff;
  background: #d9534f;
  border-radius: 3px;
}

.contact__row input {
  width: 100%;
  height: 56px;
  padding: 0 16px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 1.6rem;
  background: #fff;
}

.contact__row input:focus {
  outline: none;
  border-color: #333;
}

.contact__submit {
  margin-top: 40px;
  text-align: center;
}

.contact__submit input {
  min-width: 280px;
  height: 60px;
  padding: 0 32px;
  border: none;
  border-radius: 999px;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  background: #333;
  cursor: pointer;
  transition: opacity 0.3s;
}

.contact__submit input:hover {
  opacity: 0.8;
}

.optional {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  font-size: 1.2rem;
  color: #666;
  background: #eee;
  border-radius: 3px;
}

.contact__row textarea {
  width: 100%;
  min-height: 180px;
  padding: 16px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 1.6rem;
  line-height: 1.8;
  resize: vertical;
}

.contact__row textarea:focus {
  outline: none;
  border-color: #333;
}

@media (max-width: 768px) {
  .contact {
    padding: 60px 2rem;
  }
  .contact__lead {
    margin-bottom: 40px;
  }
  .contact__row input {
    height: 50px;
    font-size: 1.4rem;
  }
  .contact__submit input {
    width: 100%;
    min-width: auto;
  }
}/*# sourceMappingURL=style.css.map */