@charset "utf-8";

/* A Modern CSS Reset */


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

/* Remove default margin */
* {
  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;
  padding: 0;
}

/* Set core body defaults */
body {
  height: 100%;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

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

/* Make images easier to work with */
img,
picture,
video,
canvas,
svg {
  width: 100%;
  height: auto;
  display: block;
}

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

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    /* transition-duration: 0.01ms !important; */
    scroll-behavior: auto !important;
  }
}

/* @media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
} */

address {
  font-style: normal;
}@keyframes modal-video {
  from {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes modal-video-inner {
  from {
    transform: translate(0, 100px)
  }

  to {
    transform: translate(0, 0)
  }
}

.modal-video {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1000000;
  cursor: pointer;
  opacity: 1;
  animation-timing-function: ease-out;
  animation-duration: .3s;
  animation-name: modal-video;
  -webkit-transition: opacity .3s ease-out;
  -moz-transition: opacity .3s ease-out;
  -ms-transition: opacity .3s ease-out;
  -o-transition: opacity .3s ease-out;
  transition: opacity .3s ease-out
}

.modal-video-close {
  opacity: 0
}

.modal-video-close .modal-video-movie-wrap {
  -webkit-transform: translate(0, 100px);
  -moz-transform: translate(0, 100px);
  -ms-transform: translate(0, 100px);
  -o-transform: translate(0, 100px);
  transform: translate(0, 100px)
}

.modal-video-body {
  max-width: 960px;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 0 10px;
  display: flex;
  justify-content: center;
  box-sizing: border-box
}

.modal-video-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%
}

@media (orientation: landscape) {
  .modal-video-inner {
    padding: 10px 60px;
    box-sizing: border-box
  }
}

.modal-video-movie-wrap {
  width: 100%;
  height: 0;
  position: relative;
  padding-bottom: 56.25%;
  background-color: #333;
  animation-timing-function: ease-out;
  animation-duration: .3s;
  animation-name: modal-video-inner;
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
  -webkit-transition: -webkit-transform .3s ease-out;
  -moz-transition: -moz-transform .3s ease-out;
  -ms-transition: -ms-transform .3s ease-out;
  -o-transition: -o-transform .3s ease-out;
  transition: transform .3s ease-out
}

.modal-video-movie-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.modal-video-close-btn {
  position: absolute;
  z-index: 2;
  top: -45px;
  right: 0;
  display: inline-block;
  width: 35px;
  height: 35px;
  overflow: hidden;
  border: none;
  background: transparent
}

@media (orientation: landscape) {
  .modal-video-close-btn {
    top: 0;
    right: -45px
  }
}

.modal-video-close-btn:before {
  transform: rotate(45deg)
}

.modal-video-close-btn:after {
  transform: rotate(-45deg)
}

.modal-video-close-btn:before,
.modal-video-close-btn:after {
  content: '';
  position: absolute;
  height: 2px;
  width: 100%;
  top: 50%;
  left: 0;
  margin-top: -1px;
  background: #fff;
  border-radius: 5px;
  margin-top: -6px
}@charset "UTF-8";
/*
Theme Name : ISSHINDO BtA
*/
:root {
  --font-12: 0.75rem;
  --font-14: 0.875rem;
  --font-16: 1rem;
  --font-18: 1.125rem;
  --font-20: 1.25rem;
  --font-24: 1.5rem;
  --font-28: 1.75rem;
  --font-30: 1.875rem;
  --font-40: 2.5rem;
  --font-50: 3.125rem;
  --gutter-16: 16px;
  --gutter-24: 24px;
  --gutter-32: 32px;
  --gutter-40: 40px;
  --gutter-60: 60px;
  --gutter-80: 80px;
  --unit: 120px;
  --header: 128px;
}
@media screen and (max-width: 810px) {
  :root {
    --font-18: 1rem;
    --font-20: 1.125rem;
    --font-24: 1.125rem;
    --font-28: 1.375rem;
    --font-30: 1.5rem;
    --font-40: 1.75rem;
    --font-50: 1.875rem;
    --gutter-24: 20px;
    --gutter-32: 28px;
    --gutter-40: 36px;
    --gutter-60: 48px;
    --gutter-80: 60px;
    --unit: 80px;
    --header: 72px;
  }
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-feature-settings: "palt";
  color: #000;
  line-height: 1.6;
}

.wrap {
  padding: var(--unit) 5%;
  overflow: hidden;
}

.inner {
  width: min(1080px, 100%);
  margin: 0 auto;
}
.inner_narrow {
  width: min(810px, 100%);
  margin: 0 auto;
}
.inner_max {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 810px) {
  .pc {
    display: none !important;
  }
}

@media screen and (min-width: 810.1px) {
  .sp {
    display: none !important;
  }
}

.i-b {
  display: inline-block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 500;
  font-size: var(--font-18);
  line-height: 1.3;
}

a {
  text-decoration: none;
  color: #3B3B3B;
}

/* 電話番号a表示 */
@media screen and (min-width: 810.1px) {
  a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
  }
}
.mt-unit {
  margin-top: var(--unit);
}

.mt-40 {
  margin-top: var(--gutter-40);
}

.pb-0 {
  padding-bottom: 0;
}

.pt-80 {
  padding-top: 80px;
}

.pb-80 {
  padding-bottom: 80px;
}

.pt-0 {
  padding-top: 0;
}

.tac {
  text-align: center;
}

.tar {
  text-align: right;
}

.small {
  font-size: var(--font-14);
}

p + p {
  margin-top: 16px;
}

.font_accent {
  font-family: "Hina Mincho", "游明朝", "Shippori Mincho", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  color: #000;
}
.font_mincho {
  font-family: "Shippori Mincho", "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-weight: 500;
}
.font_gothic {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 500;
}

.helvetica {
  font-family: "HelveticaLTPro-Bold", "Helvetica", sans-serif;
  font-weight: bold;
}

.din {
  font-family: "Oswald", sans-serif;
}

.bg-gray {
  background-color: #F2F2F2;
}
.bg-red {
  background-color: #df0025;
  color: #fff;
}
.bg-red a {
  color: #fff;
}
.bg-red .ttl_main {
  color: #fff;
}
.bg-red .ttl_main h2 {
  border-bottom: 1px solid #fff;
}
.bg-white {
  background-color: #fff;
}

.ttl_main {
  text-align: center;
  color: #df0025;
  line-height: 1.3;
}
.ttl_main.black {
  color: #000;
}
.ttl_main h2 {
  font-size: 1.25rem;
  font-weight: 700;
  font-weight: 600;
  padding-bottom: 4px;
  border-bottom: 1px solid #df0025;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  margin-bottom: var(--gutter-16);
}
.ttl_main p {
  font-size: var(--font-24);
  font-weight: 700;
  font-weight: 600;
}
@media screen and (max-width: 810px) {
  .ttl_main p {
    font-size: 1rem;
  }
}
.ttl_main + * {
  margin-top: var(--gutter-80);
}
.ttl_bg-red {
  color: #fff;
  text-align: center;
  font-size: var(--font-20);
  font-weight: 700;
  font-weight: 600;
}
.ttl_bg-red + * {
  margin-top: var(--gutter-60);
}
.ttl_mincho {
  font-family: "Shippori Mincho", "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-size: var(--font-30);
  text-align: center;
  font-weight: 700;
  font-weight: 600;
}
.ttl_mincho + * {
  margin-top: var(--gutter-80);
}
.ttl_hina {
  font-family: "Hina Mincho", "游明朝", "Shippori Mincho", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-size: var(--font-30);
  text-align: center;
}
.ttl_hina + * {
  margin-top: var(--gutter-80);
}

/* ========================================
   右上矢印
======================================== */
.btn a {
  display: flex;
  position: relative;
  align-items: center;
  gap: 1em;
  color: #fff;
  font-size: var(--font-18);
  font-weight: 700;
  font-weight: 600;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 810px) {
  .btn a {
    gap: 0.5em;
  }
}
.btn a span {
  display: block;
  position: relative;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 1px solid #fff;
  background: #fff;
  transition: all 0.3s ease-in-out;
  transform: rotate(-45deg);
}
.btn a span::before {
  position: absolute;
  content: "";
  width: 40%;
  height: 2px;
  top: calc(50% - 1px);
  left: 30%;
  background: #df0025;
  transition: all 0.3s ease-in-out;
}
.btn a span::after {
  position: absolute;
  content: "";
  width: 24%;
  height: 24%;
  border-right: 2px solid #df0025;
  border-top: 2px solid #df0025;
  top: 50%;
  right: 30%;
  transform: translatey(-50%) rotate(45deg);
  transition: all 0.3s ease-in-out;
}
@media screen and (min-width: 810.1px) {
  .btn a:hover span {
    background: #df0025;
  }
  .btn a:hover span::before {
    background: #fff;
    left: 40%;
  }
  .btn a:hover span::after {
    right: 20%;
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
  }
}
.btn a .hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
  clip-path: inset(0px 0px 99.9% 99.9%);
  border: 0;
}
.btn.white a {
  color: #df0025;
}
.btn.white a span {
  border: 1px solid #df0025;
}
.btn.big span {
  width: 64px;
  height: 64px;
}
.btn.bg a {
  padding: 15px;
}
.btn.bg a::before {
  position: absolute;
  content: "";
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #fff;
  opacity: 0.2;
  transition: all 0.3s ease-in-out;
  right: 15px;
  top: 15px;
}
.btn.bg a:hover::before {
  width: 80px;
  height: 80px;
  right: 0;
  top: 0;
}
.btn.right a {
  margin-left: auto;
}
.btn.column a {
  flex-direction: column;
  gap: 0.2em;
  font-size: var(--font-16);
}
.btn.column a span {
  transform: rotate(90deg);
}
.btn.fv {
  margin-top: var(--gutter-24);
}
@media screen and (max-width: 810px) {
  .btn.fv {
    position: absolute;
    bottom: 0;
    right: 0;
    margin-bottom: min(24px, 3vw);
  }
  .btn.fv a {
    color: #3B3B3B;
    font-size: min(14px,4vw);
    font-weight: 500;
  }
  .btn.fv a span {
    background: transparent;
    border: 1px solid #df0025;
    width: 32px;
    height: 32px;
  }
}
.btn.small a {
  font-size: var(--font-16);
}
.btn.small a:hover span {
  background: #df0025;
}
.btn.small a span {
  background: transparent;
  border: 1px solid #df0025;
  width: 32px;
  height: 32px;
}

.btn_square {
  margin-top: var(--gutter-40);
  display: flex;
  gap: 24px;
}
@media screen and (max-width: 810px) {
  .btn_square {
    flex-direction: column;
  }
}
.btn_square:has(> :nth-child(-n+1):last-child) a {
  flex: none;
}
.btn_square a {
  flex: 1;
  padding: 1em;
  border: 1px solid #fff;
  border-radius: 8px;
  text-align: center;
  width: min(100%, 400px);
  margin-inline: auto;
  font-size: var(--font-18);
  background: #df0025;
  color: #fff;
  font-weight: 700;
  font-weight: 600;
  transition: all 0.3s ease-in-out;
}
@media screen and (min-width: 810.1px) {
  .btn_square a:hover {
    background: #fff;
    color: #df0025;
  }
}
@media screen and (max-width: 810px) {
  .btn_square a {
    border-radius: 100px;
  }
}
.btn_square.white a {
  border: 1px solid #df0025;
}

/*//   Header   //*/
header {
  z-index: 99;
}
@media screen and (min-width: 810.1px) {
  header {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    height: var(--header);
    width: 100vw;
    padding: 16px 5%;
  }
}
header .header_logo {
  z-index: 99;
}
@media screen and (min-width: 810.1px) {
  header .header_logo {
    width: min(12%, 140px);
    margin-right: auto;
  }
}
@media screen and (max-width: 810px) {
  header .header_logo {
    position: fixed;
    top: 20px;
    left: 5%;
    width: max(20%, 85px);
    mix-blend-mode: multiply;
  }
}
header nav {
  z-index: 99;
  line-height: 1.3;
}
@media screen and (min-width: 810.1px) {
  header nav {
    flex: 1;
    color: #e0e0e0;
  }
}
@media screen and (max-width: 810px) {
  header nav {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: var(--header);
    background: #df0025;
    color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  }
}
header nav ul {
  display: flex;
  text-align: center;
  height: 100%;
}
@media screen and (min-width: 810.1px) {
  header nav ul {
    gap: clamp(1em, 1.5vw, 30px);
    justify-content: flex-end;
    font-size: clamp(10.5px, 1.2vw, var(--font-14));
    letter-spacing: -0.05em;
  }
}
@media screen and (max-width: 810px) {
  header nav ul {
    justify-content: space-evenly;
  }
}
header nav ul li {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
@media screen and (min-width: 810.1px) {
  header nav ul li {
    position: relative;
  }
  header nav ul li:nth-of-type(8) a,
	header nav ul li:nth-of-type(9) a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(96px, 8em);
    aspect-ratio: 1;
    border-radius: 80px;
    mix-blend-mode: multiply;
  }
  header nav ul li:nth-of-type(8) {
    margin-left: -0.6em;
  }
  header nav ul li:nth-of-type(8) a {
    color: #fff;
    border: 1px solid #fff;
    background: #df0025;
  }
  header nav ul li:nth-of-type(9) {
    margin-left: -0.8em;
  }
  header nav ul li:nth-of-type(9) a {
    background: #fff;
    border: 1px solid #df0025;
    color: #df0025;
  }
  header nav ul li.now::before {
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 10px;
    top: 20px;
    left: calc(50% - 5px);
    background: #e0e0e0;
  }
}
@media screen and (max-width: 810px) {
  header nav ul li {
    flex: 1;
  }
  header nav ul li a {
    min-width: 2em;
    color: #fff !important;
  }
  header nav ul li:first-of-type {
    background: url(img/ico_home.svg) no-repeat center 32%;
    background-size: 24px;
  }
  header nav ul li:first-of-type a {
    min-width: 3em;
  }
  header nav ul li:nth-of-type(2) {
    background: url(img/ico_service.svg) no-repeat center 32%;
    background-size: 26px;
  }
  header nav ul li:nth-of-type(2) a {
    min-width: 4em;
  }
  header nav ul li:nth-of-type(3) {
    background: url(img/ico_advisory.svg) no-repeat center 38%;
    background-size: 32px;
  }
  header nav ul li:nth-of-type(3) a {
    min-width: 7em;
  }
  header nav ul li:nth-of-type(4) {
    background: url(img/ico_case.svg) no-repeat center 36%;
    background-size: 26px;
  }
  header nav ul li:nth-of-type(5) {
    background: url(img/ico_seminar.svg) no-repeat center 34%;
    background-size: 20px;
  }
  header nav ul li:nth-of-type(5) a {
    min-width: 4em;
  }
  header nav ul li:nth-of-type(6) {
    background: url(img/ico_magazine.svg) no-repeat center 34%;
    background-size: 30px;
  }
  header nav ul li:nth-of-type(8) {
    background: url(img/ico_document.svg) no-repeat center 34%;
    background-size: 20px;
  }
  header nav ul li:nth-of-type(9) {
    background: url(img/ico_contact.svg) no-repeat center 36%;
    background-size: 24px;
  }
  header nav ul li:nth-of-type(9) a {
    min-width: 4.1em;
  }
}
header nav ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #e0e0e0;
}
@media screen and (min-width: 810.1px) {
  header nav ul li a {
    font-weight: 700;
    font-weight: 600;
    transition: all 0.3s ease-in-out;
  }
  header nav ul li a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 810px) {
  header nav ul li a {
    color: #fff;
    font-size: clamp(0.6rem, 2vw, 0.875rem);
    align-items: flex-end;
    padding-bottom: 10px;
  }
}
header nav ul li p {
  font-size: 1.6em;
  padding-left: 0.7em;
  background: url(img/ico_tel-g.svg) no-repeat left center;
  background-size: 0.7em;
}
header nav.home {
  color: #3B3B3B;
}
header nav.home ul li {
  color: #3B3B3B;
}
@media screen and (min-width: 810.1px) {
  header nav.home ul li:nth-of-type(8) a {
    background: #df0025;
    color: #fff;
    border: none;
  }
  header nav.home ul li:nth-of-type(9) a {
    background: #3B3B3B;
    color: #fff;
    border: none;
  }
  header nav.home ul li.now::before {
    background: #df0025;
  }
}
header nav.home ul li a {
  color: #3B3B3B;
}
header nav.home ul li p {
  background: url(img/ico_tel-b.svg) no-repeat left center;
  background-size: 0.7em;
}

.fv_index {
  position: relative;
}
@media screen and (min-width: 810.1px) {
  .fv_index {
    background: #F2F2F2;
  }
}
.fv_index::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  background: #df0025;
}
@media screen and (min-width: 810.1px) {
  .fv_index::before {
    width: 30%;
    height: 100%;
  }
}
@media screen and (max-width: 810px) {
  .fv_index::before {
    width: 100%;
    height: 30%;
  }
}
.fv_index .inner {
  position: relative;
}
@media screen and (min-width: 810.1px) {
  .fv_index .inner {
    display: flex;
    align-items: center;
  }
  .fv_index .inner > * {
    flex: 1;
  }
}
.fv_index .inner p {
  font-family: "Hina Mincho", "游明朝", "Shippori Mincho", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-size: clamp(1.25rem, 2.8vw, 2.125rem);
}
@media screen and (max-width: 810px) {
  .fv_index .inner p {
    font-size: clamp(1.2rem, 5.5vw, 2rem);
    text-align: center;
  }
}

/*//   Footer   //*/
.sec_contact .inner_narrow {
  text-align: center;
}
.sec_contact .inner_narrow > * + * {
  margin-top: var(--gutter-16);
}
.sec_contact .inner_narrow .btn_square {
  margin-top: var(--gutter-40);
}
.sec_contact .inner_narrow .btn_square + a {
  display: block;
  border-bottom: 1px solid #fff;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
.sec_contact .inner_narrow p:not(.ttl_bg-red) {
  font-size: var(--font-18);
}
.sec_contact .inner_narrow p:not(.ttl_bg-red) span {
  font-size: 1.25rem;
  font-weight: 700;
  font-weight: 600;
}
.sec_contact .inner_narrow > a:last-of-type {
  font-family: "Oswald", sans-serif;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-size: var(--font-40);
  padding-left: 1em;
  background: url(img/ico_tel-w.svg) no-repeat left center;
  background-size: 0.6em;
}
.sec_contact .inner_narrow a.gray {
  color: #3B3B3B;
  background: url(img/ico_tel-b.svg) no-repeat left center;
  background-size: 0.6em;
}
.sec_contact .inner_narrow p.ttl_black {
  font-size: var(--font-20);
}
.sec_contact .inner_narrow p.ttl_black span {
  font-weight: 500;
}

footer.wrap {
  background: #3B3B3B;
  color: #fff;
}
@media screen and (max-width: 810px) {
  footer.wrap {
    text-align: center;
    padding-bottom: calc(var(--unit) + var(--header));
  }
}
footer.wrap .inner * + * {
  margin-top: var(--gutter-16);
}
footer.wrap .inner div:last-of-type {
  font-size: var(--font-12);
}
@media screen and (min-width: 810.1px) {
  footer.wrap .inner div:last-of-type {
    text-align: right;
  }
}
footer.wrap .inner div address p {
  font-size: var(--font-20);
}
footer.wrap .footer_logo {
  width: 140px;
}
@media screen and (max-width: 810px) {
  footer.wrap .footer_logo {
    margin-inline: auto;
  }
}

/*//   btn   //*/
.wrap a.wp-block-button__link {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  padding: .8em 1em;
  border: none;
  text-decoration: none !important;
  font-size: var(--font-18);
  font-weight: 700;
  font-weight: 600;
	border-radius:1em;
	  background:#df0025;
}
@media screen and (min-width: 810.1px) {
 .wrap  a.wp-block-button__link:hover {
/*     background: #000 !important; */
	  opacity:.7;
    color: #fff !important;
  }
 .wrap  a.wp-block-button__link:hover::before {
    background-color: #fff;
    right: 1.5em;
  }
.wrap  a.wp-block-button__link:hover::after {
    right: calc(1.5em + 1px);
  }
	.wp-block-buttons.is-layout-flex.wp-block-buttons-is-layout-flex{
	flex-wrap:nowrap;
	}
}
.wrap a.wp-block-button__link::before {
  position: absolute;
  content: "";
  width: 28px;
  height: 1px;
  background-color: #fff;
  top: 50%;
  right: 2em;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
  transition: all 0.3s ease-in-out;
}
a.wp-block-button__link::after {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
  top: 50%;
  right: calc(2em + 1px);
  transform: translateY(calc(-50% + 0.5px)) rotate(45deg);
  transition: all 0.3s ease-in-out;
}

.is-style-fill .wp-block-button__link::before {
  background-color: #fff;
}
.is-style-fill .wp-block-button__link::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

.wp-block-buttons.is-layout-flex {
  margin-block: var(--gutter-40);
}

.wp-block-buttons > .wp-block-button {
  width: 100%;
}

/* スクロールスナップ共通CSS */
.wrap_scroll-snap {
  width: min(1080px, 100%);
  margin: 0 auto;
  margin-top: var(--gutter-60);
}
.wrap_scroll-snap .inner_scroll-snap {
  margin-inline: auto calc(50% - 50vw);
  display: flex;
  gap: var(--gutter-24);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding: 10px;
  padding: 10px;
}
.wrap_scroll-snap .inner_scroll-snap::-webkit-scrollbar {
  display: none;
}
.wrap_scroll-snap > .btn {
  margin-top: var(--gutter-40);
}

/* 記事一覧共通CSS */
.cont-3 {
  display: grid;
  grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
  gap: 32px 26px;
}
@media screen and (max-width: 810px) {
  .cont-3 {
    grid-template-columns: 1fr;
  }
}

.card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  height: auto;
  border-radius: var(--gutter-16);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  background: #fff;
  position: relative;
  gap: var(--gutter-16);
  padding-bottom: var(--gutter-24);
}
@media screen and (min-width: 810.1px) {
	.card {
		max-width:527px;
	}
}
.card p + p {
  margin-top: 0;
}
.card.snap {
  scroll-snap-align: start;
  scroll-snap-stop: always;
  width: 300px;
  flex: 0 0 min(350px, 30%);
  color: #000;
}
@media screen and (max-width: 810px) {
  .card.snap {
    flex: 0 0 min(80%, 350px);
  }
}
.card .img {
  aspect-ratio: 3/2;
  order: -1;
  position: relative;
}
.card .img img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  aspect-ratio: 1;
	object-position:top;
}
.card .img p {
  position: absolute;
  bottom: 0;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.3em 1em;
  border-radius: 0.1em 0 0 0;
  background: #df0025;
  font-size: var(--font-14);
  color: #fff;
  line-height: 1.3;
  font-weight: 700;
  font-weight: 600;
}
.card .btn,
.card .btn_detail {
  margin-top: auto;
  margin-inline: 5%;
}
.card_txt {
  margin-inline: 5%;
  display: flex;
  flex-direction: column;
  gap: .5em;
	position:relative;
}
.card_txt>span{
	position: absolute;
    right: 0;
    top: 0;
    font-size: var(--font-14);
}
.card_txt .name {
  font-size: var(--font-24);
  font-weight: 700;
  font-weight: 600;
}

@media screen and (max-width: 810px) {
  .card_txt .prof {
    font-size: var(--font-14);
  }
}
.card_txt .comment {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}
@media screen and (max-width: 810px) {
  .card_txt .comment {
    font-size: var(--font-14);
  }
}
.card_txt .company {
  text-align: center;
  font-size: var(--font-20);
  font-weight: 700;
  font-weight: 600;
}
.card_txt .company img {
  margin-inline: auto;
  width: 50%;
  max-height: 100px;
  -o-object-fit: contain;
     object-fit: contain;
}
.card_txt .ttl {
	word-break:auto-phrase;
  font-size: var(--font-14);
  text-align: center;
  font-size: var(--font-18);
  font-weight: 700;
  font-weight: 600;
}
.card_txt time {
  order: -1;
  font-size: var(--font-14);
  font-weight: 700;
  font-weight: 600;
}
.card_txt dl {
  display: flex;
	gap:.4em;
  flex-wrap: wrap;
  font-size: var(--font-14);
	line-height:1.5;
}
.card_txt dl dt {
  width: 6em;
}
.card_txt dl dd {
  width: calc(100% - 6.4em);
  display: -webkit-box;
/*   -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden; */
}
.card .btn_detail {
  display: flex;
  gap: 8px;
  text-align: center;
}
.card .btn_detail > * {
  flex: 1;
  padding: 0.5em;
  border-radius: 4px;
  display: none;
  white-space: nowrap;
}
.card .btn_detail .white {
  background: #fff;
  border: 1px solid #3B3B3B;
}
.card .btn_detail .red {
  background: #df0025;
  color: #fff;
  font-weight: 700;
  font-weight: 600;
}
.card .btn_detail .black {
  background: #000;
  color: #fff;
  font-weight: 700;
  font-weight: 600;
}
.card .btn_detail .gray {
  background: #9d9d9d;
  color: #fff;
  font-weight: 700;
  font-weight: 600;
}
.card.accept::before {
  position: absolute;
  padding: 0.3em 0.5em;
  font-size: var(--font-14);
  left: 0;
  top: 0;
  content: "受付中";
  background: #df0025;
  color: #fff;
  z-index: 2;
}
.card.accept .btn_detail .red,
.card.accept .btn_detail .white {
  display: block;
}
.card.cancel .btn_detail .gray,
.card.cancel .btn_detail .white {
  display: block;
}
.card.end .btn_detail .black,
.card.end .btn_detail .white {
  display: block;
}
.card.bg-red {
  padding-block: var(--gutter-16);
  box-shadow: none;
  background: #df0025;
}
.card.bg-red h3 {
  text-align: center;
}
.card.bg-red h3 span:first-of-type {
  font-size: var(--font-16);
  font-weight: 500;
}
.card.bg-red h3 span.helvetica {
  font-size: clamp(var(--font-20), 2.6vw, var(--font-30));
}
@media screen and (max-width: 810px) {
  .card.bg-red h3 span.helvetica {
    font-size: var(--font-30);
  }
}
.card.bg-red .money {
  text-align: center;
  font-size: var(--font-28);
  font-weight: 700;
  font-weight: 600;
}
.card.bg-red .money .helvetica {
  font-size: 1.8em;
}
.card.bg-red .people {
  padding: 0.5em 0;
  background: #A30505;
  text-align: center;
  font-size: var(--font-20);
  font-weight: 700;
  font-weight: 600;
}
.card.bg-red .people.hidden {
  visibility: hidden;
}
@media screen and (max-width: 810px) {
  .card.bg-red .people.hidden {
    display: none;
  }
}

/*//   privacy   //*/
.privacy {
  font-size: var(--font-14);
  text-align: left;
}
.privacy .inner_arrow > * {
  margin-top: var(--gutter-40);
}
.privacy h2 {
  font-weight: 700;
  font-weight: 600;
  font-size: var(--font-20);
  margin-bottom: 8px;
}
.privacy * + section {
  margin-top: var(--gutter-24);
}
.privacy p,
.privacy dl,
.privacy ul {
  margin-block: 8px;
}

.num_decimal {
  padding-left: 1.5em;
}
.num_decimal li,
.num_decimal dt {
  display: list-item;
  list-style-type: decimal;
  letter-spacing: 0;
}

.num_roman {
  padding-left: 1em;
}
.num_roman li {
  list-style-type: lower-roman;
  letter-spacing: 0;
}

/*//   contact   //*/
.contact {
  padding-top: var(--gutter-80);
  /* Thanks Page */
  /* エラーメッセージのスタイル */
}
.contact .inner_narrow {
  position: relative;
}
.contact dl {
  margin-bottom: 24px;
}
.contact dt {
  margin-block: var(--gutter-32) 8px;
  font-size: var(--font-18);
  font-weight: 700;
  font-weight: 600;
}
.contact dt span {
  display: inline-block;
  margin-left: 0.5em;
  padding-inline: 0.5em;
  font-size: var(--font-14);
  color: #fff;
  background: #df0025;
  border-radius: 3px;
  font-weight: 500;
}
.contact dt p {
  font-weight: 500;
  font-size: var(--font-16);
  padding-bottom: 4px;
}
.contact ::-moz-placeholder {
  color: #ccc;
}
.contact ::placeholder {
  color: #ccc;
}
.contact input[type=date],
.contact input[type=text],
.contact input[type=email],
.contact input[type=tel],
.contact input[type=number],
.contact input[type=url],
.contact textarea,
.contact select {
  vertical-align: middle;
  width: 100%;
  max-width: 100%;
  padding: 0.7em 1em;
  color: #555;
  background: #fff;
  border: 1px solid #ddd;
  text-align: left;
  border-radius: 5px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}
.contact textarea {
  min-height: 12em;
}
@media screen and (max-width: 810px) {
  .contact textarea {
    min-height: 20em;
  }
}
.contact input[type=checkbox] {
  margin-right: 0;
  position: absolute;
}
.contact .wpcf7-list-item-label {
  padding-left: 1.5em;
  background: url(img/ico_check-b.svg) center left no-repeat;
  background-size: 1em;
}
.contact .wpcf7-checkbox {
  display: flex;
  gap: 0 var(--gutter-32);
  flex-wrap: wrap;
}
.contact input:checked + .wpcf7-list-item-label {
  background: url(img/ico_check-c.svg) center left no-repeat;
  background-size: 1em;
}
.contact .wpcf7-list-item {
  display: block;
  margin-left: 0;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}
.contact .wpcf7-list-item span {
  display: block;
}
.contact .wpcf7-form-control-wrap {
  display: block;
  margin-bottom: 8px;
}
.contact .btn_submit {
  width: min(100%, 400px);
  margin-inline: auto;
  display: block;
  text-align: center;
  padding-block: 1em;
  margin-top: 24px;
  border-radius: 4px;
  border: none;
  transition: 0.3s;
  border: 2px solid #df0025;
  background-color: #df0025;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.4em;
}
.contact .btn_submit:hover {
  color: #df0025;
  background-color: #fff !important;
}
.contact .btn_submit[disabled] {
  border: 2px solid #eee;
  background: #eee;
  color: #fff;
}
.contact .btn_submit[disabled]:hover {
  background: #eee !important;
  color: #fff;
}
.contact .btn_submit input {
  color: inherit;
  background: transparent;
  border: 0;
}
.contact .btn_submit_disabled {
  display: block;
  margin-top: 8px;
  font-size: var(--font-14);
  color: #df0025;
  display: none;
}
.contact .btn_submit .wpcf7-spinner {
  position: absolute;
}
.contact .wpcf7 form.invalid .wpcf7-response-output,
.contact .wpcf7 form.unaccepted .wpcf7-response-output,
.contact .wpcf7 form.payment-required .wpcf7-response-output {
  border: none;
  color: #df0025;
  padding: 0;
}
.contact .wpcf7 form.sent .wpcf7-response-output {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  padding-bottom: var(--gutter-40);
  width: 105%;
  height: 105%;
  margin: 0;
  position: absolute;
  top: -2.5%;
  left: -2.5%;
  border: none;
  background: rgba(0, 0, 0, 0.4);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  z-index: 3;
  border-radius: 10px;
  color: #fff;
  font-weight: 700;
  font-size: var(--font-18);
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}
.contact span.error {
  width: 100%;
  padding: 0;
  display: inline-block;
  font-size: 0.8em;
  color: #df0025;
  box-sizing: border-box;
}
.contact form .wpcf7-not-valid-tip {
  color: #df0025;
  font-size: 0.8em;
}
.contact .privacypolicy {
  text-align: center;
}
.contact .privacypolicy a {
  color: #000;
  text-decoration: underline;
  display: inline-block;
  position: relative;
  padding-right: 2em;
}
.contact .privacypolicy a::before {
  position: absolute;
  content: "";
  right: 0.8em;
  bottom: 0.4em;
  width: 0.8em;
  height: 0.7em;
  border: 1px solid #000;
}
.contact .privacypolicy a::after {
  position: absolute;
  content: "";
  right: 0.6em;
  bottom: 0.6em;
  width: 0.8em;
  height: 0.7em;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
}

.fv_next.other {
  padding-block: calc(var(--gutter-40) + var(--header));
  background: #fff;
}

.breadcrumbs {
  position: absolute;
  visibility: hidden;
}

/* ========================================
   こんな課題はありませんか？
======================================== */
.top_problem .inner > div {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 810px) {
  .top_problem .inner > div {
    flex-direction: column;
  }
}
.top_problem .inner > div img {
  width: 250px;
  position: relative;
  bottom: -20%;
}
@media screen and (min-width: 810.1px) {
  .top_problem .inner > div img {
    margin-inline: 3% 5%;
    align-self: flex-end;
  }
}
@media screen and (max-width: 810px) {
  .top_problem .inner > div img {
    width: 160px;
    margin-inline: auto;
  }
}
.top_problem .inner > div div {
  flex: 1;
  text-align: center;
}
@media screen and (min-width: 810.1px) {
  .top_problem .inner > div div {
    margin-right: 5%;
    margin-bottom: var(--gutter-80);
  }
}
@media screen and (max-width: 810px) {
  .top_problem .inner > div div {
    padding: var(--gutter-60) 5%;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    border-block: 1px solid #000;
    margin-top: -9px;
  }
}
.top_problem .inner > div div p {
  font-size: var(--font-18);
}
@media screen and (min-width: 810.1px) {
  .top_problem .inner > div div p {
    width: -moz-fit-content;
    width: fit-content;
  }
  .top_problem .inner > div div p:first-of-type {
    margin-inline: auto;
    padding-right: 20%;
  }
  .top_problem .inner > div div p:nth-of-type(2) {
    margin-left: auto;
  }
  .top_problem .inner > div div p:last-of-type {
    margin-right: auto;
  }
}
.top_problem .inner > div h3 {
  width: 100%;
  line-height: 1.5;
}
@media screen and (min-width: 810.1px) {
  .top_problem .inner > div h3 {
    border: 1px solid #000;
    border-radius: var(--gutter-24);
    padding-block: var(--gutter-80);
    margin-top: -14px;
  }
}
@media screen and (max-width: 810px) {
  .top_problem .inner > div h3 {
    margin-top: var(--gutter-60);
  }
}

/* ========================================
   特徴
======================================== */
.wrap_txt-img .inner_narrow {
  position: relative;
}
@media screen and (max-width: 810px) {
  .wrap_txt-img .inner_narrow {
    display: flex;
    flex-direction: column-reverse;
  }
}
@media screen and (min-width: 810.1px) {
  .wrap_txt-img .inner_narrow:nth-of-type(odd) .txt {
    right: auto;
    left: 0;
  }
  .wrap_txt-img .inner_narrow:nth-of-type(odd) img {
    margin-inline: auto calc(50% - 50vw);
  }
}
.wrap_txt-img .inner_narrow + .inner_narrow {
  margin-top: var(--gutter-80);
}
.wrap_txt-img .inner_narrow .txt {
  position: relative;
  overflow: hidden;
  background: #df0025;
  color: #fff;
  padding: 32px 5%;
  border-radius: 16px;
}
@media screen and (min-width: 810.1px) {
  .wrap_txt-img .inner_narrow .txt {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: min(100%, 550px);
  }
}
@media screen and (max-width: 810px) {
  .wrap_txt-img .inner_narrow .txt {
    width: 100%;
    margin-top: -64px;
  }
}
.wrap_txt-img .inner_narrow .txt div + div {
  margin-top: var(--gutter-60);
}
.wrap_txt-img .inner_narrow .txt div {
  position: relative;
}
.wrap_txt-img .inner_narrow img {
  margin-inline: calc(50% - 50vw) auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 810.1px) {
  .wrap_txt-img .inner_narrow img {
    width: 60vw;
    height: 400px;
  }
}
@media screen and (max-width: 810px) {
  .wrap_txt-img .inner_narrow img {
    width: 85vw;
    aspect-ratio: 3/2;
  }
}

@media screen and (min-width: 810.1px) {
  .top_feature .wrap_txt-img .inner_narrow .txt > div:first-of-type {
    margin-left: 100px;
  }
}
@media screen and (max-width: 810px) {
  .top_feature .wrap_txt-img .inner_narrow .txt > div:first-of-type {
    text-align: right;
  }
}
.top_feature .wrap_txt-img .inner_narrow .txt > div:first-of-type .helvetica {
  font-size: var(--font-40);
  line-height: 1.2;
}
@media screen and (min-width: 810.1px) {
  .top_feature .wrap_txt-img .inner_narrow .txt > div:last-of-type {
    display: grid;
    grid-template-columns: 1fr 80px;
  }
}
@media screen and (max-width: 810px) {
  .top_feature .wrap_txt-img .inner_narrow .txt > div:last-of-type > * + * {
    margin-top: var(--gutter-24);
  }
}
.top_feature .wrap_txt-img .inner_narrow .txt > div:last-of-type h4 {
  font-size: var(--font-20);
  font-weight: 700;
  font-weight: 600;
}
@media screen and (min-width: 810.1px) {
  .top_feature .wrap_txt-img .inner_narrow .txt > div:last-of-type h4 {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}
@media screen and (max-width: 810px) {
  .top_feature .wrap_txt-img .inner_narrow .txt > div:last-of-type h4 {
    padding-bottom: var(--gutter-24);
    border-bottom: 1px solid #fff;
  }
}
@media screen and (min-width: 810.1px) {
  .top_feature .wrap_txt-img .inner_narrow .txt > div:last-of-type > p {
    margin-top: var(--gutter-16);
    grid-column: 1/2;
    grid-row: 2/3;
  }
}
@media screen and (min-width: 810.1px) {
  .top_feature .wrap_txt-img .inner_narrow .txt > div:last-of-type .btn {
    grid-column: 2/3;
    grid-row: 1/3;
    margin: auto;
  }
}
@media screen and (max-width: 810px) {
  .top_feature .wrap_txt-img .inner_narrow .txt > div:last-of-type .btn a {
    margin-left: auto;
  }
}
.top_feature .wrap_txt-img .inner_narrow .txt::before {
  position: absolute;
  content: "";
  width: 100px;
  height: 150px;
  top: -7px;
  left: 20px;
  mix-blend-mode: multiply;
}
@media screen and (max-width: 810px) {
  .top_feature .wrap_txt-img .inner_narrow .txt::before {
    width: 80px;
    height: 120px;
    left: -6px;
  }
}
@media screen and (min-width: 810.1px) {
  .top_feature .wrap_txt-img .inner_narrow:first-of-type {
    padding-bottom: 60px;
  }
}
@media screen and (min-width: 810.1px) {
  .top_feature .wrap_txt-img .inner_narrow:first-of-type .txt {
    top: auto;
    transform: inherit;
    bottom: 0;
  }
}
.top_feature .wrap_txt-img .inner_narrow:first-of-type .txt::before {
  background: url(img/bg_1.svg) no-repeat;
  background-size: contain;
}
@media screen and (min-width: 810.1px) {
  .top_feature .wrap_txt-img .inner_narrow:first-of-type .txt::before {
    left: 40px;
  }
}
.top_feature .wrap_txt-img .inner_narrow:nth-of-type(2) .txt::before {
  background: url(img/bg_2.svg) no-repeat;
  background-size: contain;
}
@media screen and (min-width: 810.1px) {
  .top_feature .wrap_txt-img .inner_narrow:last-of-type {
    padding-top: 60px;
  }
}
@media screen and (min-width: 810.1px) {
  .top_feature .wrap_txt-img .inner_narrow:last-of-type .txt {
    top: 0;
    transform: inherit;
  }
}
.top_feature .wrap_txt-img .inner_narrow:last-of-type .txt::before {
  background: url(img/bg_3.svg) no-repeat;
  background-size: contain;
}

/* ========================================
   協賛
======================================== */
.wrap_bn {
  display: grid;
  gap: var(--gutter-24) var(--gutter-16);
  grid-template-columns: 1fr 1fr 1fr;
}
@media screen and (max-width: 810px) {
  .wrap_bn {
    grid-template-columns: 1fr 1fr;
  }
}

/* アドバイザリー・事例の
　　スクロールスナップ共通CSSは_mainに */
/* セミナーのコンテンツ3つ並びは_mainに */
/* ========================================
   メディア
======================================== */
.media_img {
  display: flex;
  gap: 24px;
}
@media screen and (max-width: 810px) {
  .media_img {
    flex-direction: column;
  }
}
.media_img div:first-of-type {
  flex: 85;
}
.media_img div:last-of-type {
  flex: 59;
}
.media_img div img {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
.media_img div p {
  text-align: center;
  margin-top: var(--gutter-16);
}

/* ========================================
   パートナー企業募集
======================================== */
.partner {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
.partner .inner {
  display: flex;
}
@media screen and (max-width: 810px) {
  .partner .inner {
    flex-direction: column;
  }
}
.partner .inner .bg {
  background: url(img/partner.jpg) no-repeat center;
  background-size: cover;
}
@media screen and (min-width: 810.1px) {
  .partner .inner .bg {
    margin-inline: calc(50% - 50vw) auto;
    width: 50vw;
    margin-block: calc(-1 * var(--unit));
  }
}
@media screen and (max-width: 810px) {
  .partner .inner .bg {
    width: 100vw;
    margin-left: -5vw;
    margin-block: calc(-1 * var(--unit)) var(--gutter-60);
    height: 260px;
  }
}
.partner .inner .content {
  flex: 1;
  text-align: center;
}
@media screen and (min-width: 810.1px) {
  .partner .inner .content {
    margin-left: 5%;
  }
}
.partner .inner .content h3 {
  font-size: var(--font-24);
  font-weight: 700;
  font-weight: 600;
  margin-bottom: var(--gutter-24);
}

/*//   News一覧   //*/
.news_all ul {
  border-top: 1px solid #000;
}
.news_all ul li {
  display: flex;
  align-items: center;
  padding-block: var(--gutter-40);
  border-bottom: 1px solid #000;
  position: relative;
}
@media screen and (min-width: 810.1px) {
  .news_all ul li {
    padding-inline: 2.5% 0;
  }
}
@media screen and (max-width: 810px) {
  .news_all ul li {
    flex-wrap: wrap;
  }
}
.news_all ul li time {
  width: 6em;
  white-space: nowrap;
  letter-spacing: 0;
}
.news_all ul li > span {
  margin-inline: 1em;
  width: 8.5em;
  border: 1px solid #000;
  border-radius: 40px;
  text-align: center;
  padding-block: 0.1em;
  letter-spacing: 0;
}
@media screen and (max-width: 810px) {
  .news_all ul li > span {
    margin-inline: 0;
  }
}
@media screen and (min-width: 810.1px) {
  .news_all ul li a {
    flex: 1;
    padding-right: 60px;
  }
  .news_all ul li a span {
    position: absolute;
    content: "";
    top: 50%;
    right: 0;
    width: 38px;
    height: 38px;
    border-radius: 40px;
    border: 1px solid #000;
    transform: translateY(-50%);
    transition: all 0.3s ease-in-out;
  }
  .news_all ul li a span::before, .news_all ul li a span::after {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #000;
  }
  .news_all ul li a span::before {
    width: 16px;
    height: 1px;
  }
  .news_all ul li a span::after {
    height: 16px;
    width: 1px;
  }
  .news_all ul li a:hover span {
    width: 50px;
    height: 50px;
    right: -6px;
    border: 0px;
    background: #000;
  }
}
@media screen and (max-width: 810px) {
  .news_all ul li a {
    width: 100%;
    margin-top: var(--gutter-24);
  }
}

/*//   メディア   //*/
#media .inner {
  display: flex;
  flex-wrap: wrap;
}
#media .inner a:first-of-type img {
  width: 230px;
}
#media .inner a:nth-of-type(2) img {
  width: 180px;
  margin-top: var(--gutter-40);
}
@media screen and (max-width: 810px) {
  #media .inner a {
    margin-inline: auto;
  }
}
#media .inner p {
  margin-top: var(--gutter-24);
  width: 100%;
  font-size: var(--font-18);
}
@media screen and (max-width: 810px) {
  #media .inner p {
    text-align: center;
  }
}

/*//   第二階層タイトル共通   //*/
.fv_second {
  background: #df0025;
  padding-bottom: 0;
  position: relative;
}
.fv_second::after {
  content: "";
  position: absolute;
  width: 100vw;
  left: 0;
  bottom: 0;
  box-shadow: 0 0 16px 10px rgba(0, 0, 0, 0.2);
}
.fv_second .inner {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  align-items: center;
}
@media screen and (min-width: 810.1px) {
  .fv_second .inner h1 {
    width: 50%;
  }
}
@media screen and (max-width: 810px) {
  .fv_second .inner img {
    width: 100vw;
    margin-left: -5vw;
  }
}
@media screen and (min-width: 810.1px) {
  .fv_second .inner > div {
    width: 50%;
  }
}
@media screen and (max-width: 810px) {
  .fv_second .inner > div {
    order: -1;
    margin-inline: auto;
  }
}
.fv_second .inner > div > p {
  line-height: 1.3;
  color: #fff;
  font-family: "Shippori Mincho", "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-size: var(--font-28);
}
@media screen and (max-width: 810px) {
  .fv_second .inner > div > p {
    text-align: center;
	      font-size: clamp(18px, 7vw, 32px);
  }
}

.fv_next {
  background: #F2F2F2;
  text-align: center;
}
.fv_next h2 {
  font-size: var(--font-30);
}
.fv_next p {
  font-family: "Shippori Mincho", "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-size: var(--font-18);
  margin-top: var(--gutter-40);
}
.fv_next.contact {
  background: #fff;
  padding-block: calc(var(--gutter-40) + var(--header)) 0;
}

/* ========================================
   こんな課題はありませんか？
======================================== */
/*//   サービス   //*/
.service_problem .inner .inner_narrow {
  margin-top: var(--gutter-60);
  padding-bottom: var(--gutter-80);
  border-bottom: 1px solid #3B3B3B;
}
@media screen and (min-width: 810.1px) {
  .service_problem .inner .inner_narrow {
    display: flex;
    gap: 5%;
  }
}
.service_problem .inner .inner_narrow ul {
  flex: 1;
  font-size: var(--font-18);
}
.service_problem .inner .inner_narrow ul li {
  list-style-type: "・";
  margin-left: 1em;
  padding-left: 0.2em;
}
.service_problem .inner h3 {
  text-align: center;
  margin-inline: auto;
  width: 126px;
  height: 126px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid #3B3B3B;
}
.service_problem .inner .fade-open {
  position: relative;
  margin-inline: auto;
  transition: 2s ease-in-out all;
  height: 246px;
}
@media screen and (max-width: 810px) {
  .service_problem .inner .fade-open {
    height: 206px;
  }
}
.service_problem .inner .fade-open::before {
  position: absolute;
  content: "";
  top: 0;
  left: calc(50% - 0.5px);
  width: 1px;
  height: 0;
  transform: translateY(100%);
  background: #3B3B3B;
  transition: 2s ease-in-out all;
}
.service_problem .inner .fade-open h3 {
  position: relative;
  top: -6.5px;
  width: 12px;
  height: 12px;
  background: #3B3B3B;
  font-size: 0;
  transition: 2s ease-in-out all;
  overflow: hidden;
}
.service_problem .inner .fade-open h3 span {
  opacity: 0;
  width: 0;
  height: 0;
  overflow: hidden;
  white-space: nowrap;
}
.service_problem .inner .fade-open.fade-open_on {
  padding-top: var(--unit);
  top: 0;
  border: 0;
  width: 100%;
  border-radius: 0;
  margin-inline: auto;
}
.service_problem .inner .fade-open.fade-open_on::before {
  top: calc(-1 * var(--unit));
  height: var(--unit);
}
.service_problem .inner .fade-open.fade-open_on h3 {
  width: 126px;
  height: 126px;
  border: 1px solid #3B3B3B;
  top: 0;
  font-size: var(--font-18);
  background: #fff;
}
.service_problem .inner .fade-open.fade-open_on h3 span {
  opacity: 1;
  width: auto;
  height: auto;
}
.service_problem .inner .ttl_mincho {
  margin-top: var(--gutter-60);
}

.style-3 {
  display: flex;
  gap: var(--gutter-24);
  margin-bottom: var(--unit);
}
@media screen and (min-width: 810.1px) {
  .style-3::before, .style-3::after {
    content: "";
    border-right: 1px solid #3B3B3B;
  }
}
@media screen and (max-width: 810px) {
  .style-3 {
    flex-direction: column;
    gap: var(--gutter-40);
  }
}
.style-3 > div {
  display: flex;
  flex-direction: column;
  flex: 1;
}
@media screen and (min-width: 810.1px) {
  .style-3 > div:first-of-type {
    order: -1;
  }
  .style-3 > div:last-of-type {
    order: 1;
  }
}
@media screen and (max-width: 810px) {
  .style-3 > div {
    padding-top: var(--gutter-40);
    border-top: 1px solid #3B3B3B;
  }
}
.style-3 > div .helvetica {
  font-size: var(--font-30);
  color: #df0025;
}
@media screen and (max-width: 810px) {
  .style-3 > div .helvetica {
    text-align: center;
  }
}
.style-3 > div .txt {
  margin-bottom: var(--gutter-16);
}
.style-3 > div .btn {
  margin-top: auto;
}
.style-3 > div .btn a {
  margin-inline: auto;
}

#style-1 {
  z-index: 5;
}

#style-2 {
  z-index: 4;
}

#style-3 {
  z-index: 3;
}

.cont-right {
  position: relative;
  color: #fff;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 810.1px) {
  .cont-right:not(:first-of-type) {
    margin-top: var(--gutter-60);
  }
  .cont-right::before, .cont-right::after {
    content: "";
    width: calc(50% + 50vw);
  }
  .cont-right::before {
    position: absolute;
    background: #df0025;
    left: 0;
    top: 0;
    height: 100%;
    border-radius: 40px 0 0 40px;
  }
  .cont-right::after {
    border-bottom: 1px solid #fff;
    position: relative;
  }
}
@media screen and (max-width: 810px) {
  .cont-right {
    background: #df0025;
    width: 100vw;
    margin-left: -5vw;
    padding: var(--unit) 5%;
    border-end-end-radius: 40px;
  }
  .cont-right:not(:first-of-type) {
    padding-top: calc(var(--unit) + 40px);
    margin-top: -40px;
  }
  .cont-right:not(:last-of-type) {
    box-shadow: 0 0 16px 10px rgba(0, 0, 0, 0.2);
  }
}
.cont-right .inner {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
@media screen and (min-width: 810.1px) {
  .cont-right .inner {
    height: 8em;
  }
}
@media screen and (max-width: 810px) {
  .cont-right .inner {
    flex-direction: column;
  }
}
.cont-right .inner .number {
  display: flex;
  align-items: center;
  justify-content: center;
  order: -1;
  font-size: var(--font-28);
  line-height: 1.2;
  text-align: center;
}
@media screen and (min-width: 810.1px) {
  .cont-right .inner .number {
    border-right: 1px solid #fff;
    width: 160px;
  }
}
.cont-right .inner .number span {
  font-size: 1.8em;
}
.cont-right .inner .ttl {
  display: flex;
  align-items: center;
  line-height: 1.2;
}
@media screen and (min-width: 810.1px) {
  .cont-right .inner .ttl {
    padding-left: 40px;
    width: calc(100% - 160px);
  }
}
@media screen and (max-width: 810px) {
  .cont-right .inner .ttl {
    text-align: center;
    justify-content: center;
    margin-top: var(--gutter-32);
    padding-block: var(--gutter-32);
    border-block: 1px solid #fff;
  }
}
.cont-right .inner .ttl .helvetica {
  font-size: var(--font-40);
}
.cont-right .txt {
  position: relative;
  order: 2;
  display: flex;
}
@media screen and (min-width: 810.1px) {
  .cont-right .txt {
    padding-block: var(--gutter-60);
    padding-left: 5%;
    gap: 5%;
  }
}
@media screen and (max-width: 810px) {
  .cont-right .txt {
    flex-direction: column;
    gap: var(--gutter-32);
  }
}
@media screen and (min-width: 810.1px) {
  .cont-right .txt > div {
    width: 55%;
  }
}
.cont-right .txt .movie {
  flex: 1;
  text-align: center;
  align-self: center;
}
.cont-right .txt .movie button {
  border: none;
  background: none;
}
.cont-right .txt .movie button p {
  font-size: var(--font-20);
  font-weight: 700;
  font-weight: 600;
  margin-bottom: 8px;
  color: #fff;
}
.cont-right .txt .img {
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 810.1px) {
  .cont-right .txt .img {
    margin-block: calc(-1 * var(--gutter-60));
    margin-right: calc(50% - 50vw);
  }
  .cont-right .txt .img img {
    -o-object-fit: cover;
       object-fit: cover;
    height: 100%;
  }
}
.cont-right .txt h4 {
  font-weight: 700;
  font-weight: 600;
  font-size: var(--font-24);
  margin-bottom: var(--gutter-24);
}
@media screen and (max-width: 810px) {
  .cont-right .txt h4 {
    margin: var(--gutter-32);
    text-align: center;
  }
}
.cont-right .txt .btn {
  margin-top: var(--gutter-24);
}

.people_txt {
  display: flex;
  gap: 3%;
  padding: var(--gutter-40) 5%;
  border-radius: var(--gutter-16);
}
@media screen and (max-width: 810px) {
  .people_txt {
    flex-direction: column-reverse;
    gap: var(--gutter-24);
    align-items: center;
  }
}
@media screen and (min-width: 810.1px) {
  .people_txt:nth-of-type(odd) img {
    top: -80px;
    margin-bottom: -80px;
  }
  .people_txt:nth-of-type(even) {
    flex-direction: row-reverse;
  }
  .people_txt:nth-of-type(even) img {
    bottom: -80px;
    margin-top: -80px;
  }
  .people_txt:last-of-type {
    margin-bottom: 40px;
  }
  .people_txt picture {
    width: -moz-fit-content;
    width: fit-content;
  }
}
.people_txt + .people_txt {
  margin-top: var(--gutter-80);
}
.people_txt div {
  align-self: center;
  flex: 1;
}
.people_txt div .ttl {
  font-weight: 700;
  font-weight: 600;
  font-size: var(--font-20);
}
@media screen and (max-width: 810px) {
  .people_txt div {
    font-size: var(--font-14);
  }
}
.people_txt img {
  position: relative;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 810.1px) {
  .people_txt img {
    width: 140px;
    height: 280px;
  }
}
@media screen and (max-width: 810px) {
  .people_txt img {
    margin-top: -48px;
  }
}

.service_contact .tac {
  font-size: var(--font-20);
  margin-top: var(--gutter-80);
}

.qa dt {
  font-size: var(--font-24);
  font-weight: 700;
  font-weight: 600;
}
.qa dt:not(:first-of-type) {
  margin-top: var(--gutter-32);
}
.qa dd {
  font-size: var(--font-18);
  margin-top: var(--gutter-16);
}
@media screen and (min-width: 810.1px) {
  .qa dd {
    margin-left: 5%;
  }
}

.speech_bubble {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-end;
}
@media screen and (max-width: 810px) {
  .speech_bubble {
    flex-direction: column-reverse;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    border-radius: var(--gutter-24);
  }
}
.speech_bubble + .speech_bubble {
  margin-top: var(--gutter-80);
}
.speech_bubble div {
  flex: 1;
  padding: var(--gutter-40) 5%;
  background: #fff;
  position: relative;
}
@media screen and (min-width: 810.1px) {
  .speech_bubble div {
    margin-left: -5%;
    margin-bottom: 40px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    border-radius: var(--gutter-24) var(--gutter-24) var(--gutter-24) 0;
  }
}
@media screen and (max-width: 810px) {
  .speech_bubble div {
    width: 100%;
    padding-top: 50px;
    border-radius: 0 var(--gutter-24) var(--gutter-24) var(--gutter-24);
  }
}
.speech_bubble div::before, .speech_bubble div::after {
  position: absolute;
  content: "";
}
@media screen and (min-width: 810.1px) {
  .speech_bubble div::before, .speech_bubble div::after {
    background: url(img/baloon.svg) no-repeat right bottom;
    width: 30px;
    height: 60px;
    bottom: 0;
    left: -29px;
  }
}
@media screen and (max-width: 810px) {
  .speech_bubble div::before, .speech_bubble div::after {
    background: url(img/baloon_sp.svg) no-repeat left bottom;
    width: 30%;
    aspect-ratio: 2/3;
    top: 1px;
    left: 0;
    transform: translateY(-100%);
  }
}
.speech_bubble div::after {
  z-index: -1;
}
@media screen and (min-width: 810.1px) {
  .speech_bubble div::after {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  }
}
.speech_bubble div h3 {
  font-size: var(--font-24);
  font-weight: 700;
  font-weight: 600;
  margin-bottom: var(--gutter-24);
}
.speech_bubble div p:last-of-type {
  text-align: right;
  font-size: var(--font-14);
}
.speech_bubble img {
  border-radius: var(--gutter-24);
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 810.1px) {
  .speech_bubble img {
    width: max(300px, 30%);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  }
}
@media screen and (max-width: 810px) {
  .speech_bubble img {
    width: 100%;
    margin-bottom: -20%;
  }
}

.fv_work {
  background: #df0025;
  color: #fff;
  overflow: hidden;
  padding-block: var(--unit) var(--gutter-80);
  position: relative;
}
.fv_work::after {
  content: "";
  width: 100%;
  height: 0;
  left: 0;
  bottom: 0;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 810px) {
  .fv_work {
    padding-block: var(--unit);
  }
}
.fv_work .inner {
  position: relative;
}
@media screen and (min-width: 810.1px) {
  .fv_work .inner {
    display: flex;
    flex-wrap: wrap;
    gap: 5%;
    align-items: center;
  }
}
@media screen and (max-width: 810px) {
  .fv_work .inner > * + * {
    margin-top: var(--gutter-32);
  }
}
.fv_work .inner .txt {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--gutter-24);
}
.fv_work .inner .txt h1 {
  font-size: var(--font-30);
  font-weight: 700;
  font-weight: 600;
}
@media screen and (max-width: 810px) {
  .fv_work .inner .txt h1 {
    text-align: center;
  }
}
.fv_work .inner .txt p {
  order: -1;
  font-size: var(--font-18);
  font-weight: 700;
  font-weight: 600;
}
@media screen and (max-width: 810px) {
  .fv_work .inner .txt p {
    text-align: right;
  }
}
@media screen and (min-width: 810.1px) {
  .fv_work .inner .txt .tags {
    line-height: 1.2;
  }
  .fv_work .inner .txt .tags > span {
    display: inline-block;
    margin-bottom: 0.6em;
  }
  .fv_work .inner .txt .tags > span:not(:last-of-type) {
    padding-right: 1em;
    margin-right: 1em;
    border-right: 1px solid #fff;
  }
}
@media screen and (max-width: 810px) {
  .fv_work .inner .txt .tags {
    display: flex;
    flex-direction: column;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    text-align: center;
  }
  .fv_work .inner .txt .tags > span {
    padding-block: 8px;
  }
  .fv_work .inner .txt .tags > span:not(:last-of-type) {
    border-bottom: 1px solid #fff;
  }
}
.fv_work .inner .txt .tags .work_cat span + span {
  margin-left: 1em;
  display: inline-block;
}
@media screen and (min-width: 810.1px) {
  .fv_work .inner .img-wrap {
    order: -1;
  }
}
@media screen and (min-width: 810.1px) {
  .fv_work .inner .img-wrap img {
    width: 230px;
  }
}
@media screen and (max-width: 810px) {
  .fv_work .inner .img-wrap img {
    margin-inline: auto;
    width: max(50%, 200px);
  }
}

.cont-work .cont-ttl {
  text-align: center;
}
.cont-work .cont-ttl img {
  width: 230px;
  margin-inline: auto;
}
@media screen and (max-width: 810px) {
  .cont-work .cont-ttl img {
    width: max(50%, 200px);
  }
}
.cont-work .cont-ttl span {
  display: block;
  margin-top: var(--gutter-16);
  font-size: var(--font-20);
  font-weight: 700;
  font-weight: 600;
}
.cont-work .cont-ttl + * {
  margin-top: var(--gutter-80);
}

.work_txt-img {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gutter-32) 5%;
  align-items: center;
}
@media screen and (max-width: 810px) {
  .work_txt-img {
    flex-direction: column;
    gap: var(--gutter-32);
  }
}
.work_txt-img img {
  border-radius: 8px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 810.1px) {
  .work_txt-img img {
    width: 40%;
    max-height: 350px;
  }
}
@media screen and (max-width: 810px) {
  .work_txt-img img:nth-of-type(2) {
    order: 2;
  }
}
.work_txt-img img.full {
  width: 100%;
  max-height: inherit;
}
.work_txt-img ul {
  flex: 1;
}
.work_txt-img ul li + li {
  margin-top: 8px;
}
.work_txt-img ul span {
  font-weight: 700;
  font-weight: 600;
}

@media screen and (min-width: 810.1px) {
  .result .inner {
    position: relative;
  }
  .result .inner::before {
    content: "";
    position: absolute;
    width: 0;
    height: calc(100% - 200px);
    border-right: #df0025 4px dotted;
    left: 98px;
    top: 100px;
  }
}
.result .cont {
  display: flex;
  position: relative;
  align-items: center;
  gap: 5%;
}
@media screen and (max-width: 810px) {
  .result .cont {
    flex-direction: column;
    gap: var(--gutter-40);
    padding-top: var(--gutter-60);
    border-top: 1px solid #3B3B3B;
  }
}
.result .cont + .cont {
  margin-top: var(--gutter-60);
}
.result .cont dt {
  width: 200px;
  height: 200px;
  background: #fff;
  border: 1px solid #df0025;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
@media screen and (max-width: 810px) {
  .result .cont dt {
    width: 150px;
    height: 150px;
  }
}
.result .cont dt h3 {
  color: #df0025;
  font-size: var(--font-24);
  font-weight: 700;
  font-weight: 600;
  text-align: center;
}
.result .cont dd {
  flex: 1;
  display: flex;
  gap: 5%;
  align-items: center;
}
@media screen and (max-width: 810px) {
  .result .cont dd {
    flex-direction: column;
    gap: var(--gutter-40);
  }
}
.result .cont dd div:first-of-type {
  flex: 1;
}
.result .cont dd div:first-of-type h4 {
  font-weight: 700;
  font-weight: 600;
  font-size: var(--font-24);
}
@media screen and (max-width: 810px) {
  .result .cont dd div:first-of-type h4 {
    text-align: center;
  }
}
.result .cont dd div:first-of-type h4 + * {
  margin-top: var(--gutter-24);
}
.result .cont dd div.btn {
  width: -moz-fit-content;
  width: fit-content;
}

.wrap-right {
  background: #fff;
  padding-bottom: var(--gutter-60);
  overflow: hidden;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  border-radius: var(--gutter-16);
}
@media screen and (min-width: 810.1px) {
  .wrap-right {
    padding-block: var(--gutter-60);
    margin-inline: auto calc(-50vw + 50%);
    padding-right: calc(50vw - 50%);
    max-width: calc(540px + 50vw);
    border-radius: var(--gutter-40) 0 0 var(--gutter-40);
  }
}
.wrap-right + .wrap-right {
  margin-top: var(--gutter-80);
}
.wrap-right .inner {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gutter-40);
}
@media screen and (min-width: 810.1px) {
  .wrap-right .inner {
    margin-left: 0;
    padding-left: min(10%, 100px);
  }
}
@media screen and (max-width: 810px) {
  .wrap-right .inner div {
    padding-inline: 5%;
    width: 100%;
  }
}
@media screen and (min-width: 810.1px) {
  .wrap-right .inner div:first-of-type {
    width: 100%;
    display: flex;
    align-items: center;
    gap: var(--gutter-24);
  }
}
.wrap-right .inner div:first-of-type h3 {
  font-size: var(--font-18);
  font-weight: 700;
  font-weight: 600;
  width: 6em;
  height: 6em;
  border-radius: 8px;
  text-align: center;
  display: grid;
  place-items: center;
}
@media screen and (max-width: 810px) {
  .wrap-right .inner div:first-of-type h3 {
    width: 80%;
    height: 3em;
    margin-inline: auto;
  }
}
.wrap-right .inner div:first-of-type h4 {
  font-size: var(--font-24);
  font-weight: 700;
  font-weight: 600;
  flex: 1;
}
@media screen and (max-width: 810px) {
  .wrap-right .inner div:first-of-type h4 {
    text-align: center;
    margin-top: var(--gutter-40);
  }
}
@media screen and (min-width: 810.1px) {
  .wrap-right .inner div:last-of-type {
    flex: 1;
  }
}
.wrap-right .inner img {
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 810.1px) {
  .wrap-right .inner img {
    width: 40%;
    border-radius: 8px;
  }
}
@media screen and (max-width: 810px) {
  .wrap-right .inner img {
    order: -1;
  }
}

.paginate {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin-top: var(--gutter-40);
}
.paginate .page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid #3B3B3B;
  border-radius: 6px;
  overflow: hidden;
  position: relative;
}
.paginate .page-numbers.dots {
  border: none;
  width: 1em;
}
.paginate .page-numbers.current {
  background: #3B3B3B;
  color: #fff;
}
.paginate .page-numbers.prev::before {
  position: absolute;
  content: "";
  width: 20%;
  height: 20%;
  border-left: 1px solid #000;
  border-top: 1px solid #000;
  transform: rotate(-45deg);
  top: 40%;
  right: 36%;
}
.paginate .page-numbers.next::before {
  position: absolute;
  content: "";
  width: 20%;
  height: 20%;
  border-right: 1px solid #000;
  border-top: 1px solid #000;
  transform: rotate(45deg);
  top: 40%;
  left: 36%;
}

article.news ~ .wrap {
  padding-top: 0;
}

.news_detail {
  padding-top: var(--gutter-80);
}
.news_detail * + *:not(li) {
  margin-top: 16px;
}
.news_detail * + h2 {
  margin-top: var(--gutter-80);
}
.news_detail * + h3,
.news_detail * + h4 {
  margin-top: var(--gutter-40);
}
.news_detail img {
  margin-block: var(--gutter-40);
}
.news_detail img:last-child {
  margin-bottom: 0;
}
.news_detail h2 {
  display: flex;
  align-items: center;
  font-size: 3.6rem;
  font-weight: 700;
  font-weight: 600;
  padding-left: 0.5em;
  border-left: 5px solid #3B3B3B;
}
@media screen and (min-width: 810.1px) {
  .news_detail h2::after {
    content: "";
    margin-left: 0.5em;
    padding-right: 1em;
    flex-grow: 1;
    border-bottom: 1px solid #000;
  }
}
@media screen and (max-width: 810px) {
  .news_detail h2 {
    font-size: 3rem;
  }
}
.news_detail h3 {
  font-size: 2.8rem;
  font-weight: 700;
  font-weight: 600;
}
@media screen and (max-width: 810px) {
  .news_detail h3 {
    font-size: 2.2rem;
    padding-left: 0.5em;
    border-left: 5px solid #3B3B3B;
  }
}
.news_detail h4 {
  font-size: 2rem;
  font-weight: 700;
  font-weight: 600;
}
.news_detail strong {
  background: linear-gradient(transparent 60%, #3B3B3B 60%);
  font-weight: 700;
  font-weight: 600;
}
.news_detail span {
  color: #df0025;
  font-weight: 700;
  font-weight: 600;
}
.news_detail ul {
  padding-left: 1rem;
}
.news_detail ul li {
  list-style: disc;
}
.news_detail blockquote {
  background: #3B3B3B;
  padding: var(--gutter-40) 5%;
  margin-block: var(--gutter-32);
  font-style: italic;
  position: relative;
}
.news_detail blockquote::before {
  position: absolute;
  content: "”";
  font-size: var(--font-200);
  line-height: 0.8;
  top: -0.1em;
  left: -0.1em;
  color: #F2F2F2;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}
.news_detail a {
  -webkit-text-decoration: underline dotted #3B3B3B;
          text-decoration: underline dotted #3B3B3B;
  transition: all 0.3s ease-in-out;
}
@media screen and (min-width: 810.1px) {
  .news_detail a:hover {
    opacity: 0.7;
  }
}

.single_paginate {
  text-align: center;
}
@media screen and (max-width: 810px) {
  .single_paginate {
    font-size: 1.4rem;
  }
}

.share {
  text-align: center;
}
.share span {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-size: 1.4rem;
  letter-spacing: 0;
}
.share div {
  display: flex;
  justify-content: center;
  gap: var(--gutter-24);
  margin-top: 16px;
}
.share div img {
  height: 40px;
  width: auto;
}

/* 準備中表示用 */
.preparation {
  position: relative;
}
.preparation::before {
  content: "";
  position: absolute;
  z-index: 4;
  background: #F2F2F2;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0.7;
}
.preparation::after {
  content: "準 備 中";
  position: absolute;
  padding-block: var(--gutter-40);
  font-family: "Shippori Mincho", "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  color: #3B3B3B;
  font-size: var(--font-40);
  font-weight: 700;
  font-weight: 600;
  text-align: center;
  z-index: 5;
  background: #fff;
  width: 100%;
  height: auto;
  top: 50%;
  left: 0;
  transform: translatey(-50%);
  opacity: 0.8;
}

.pagination {
  margin-top: var(--gutter-60);
  margin-inline: auto;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  gap: 0.2em;
  font-size: var(--font-14);
}
.pagination > * {
  display: grid;
  place-content: center;
  width: 2em;
  height: 2em;
  border: 1px solid #df0025;
  border-radius: 4px;
}
.pagination > span {
  background: #df0025;
  color: #fff;
}
.pagination > a {
  color: #df0025;
}
.pagination > a.prev {
  position: relative;
}
.pagination > a.prev::before {
  content: "";
  position: absolute;
  width: 0.6em;
  height: 0.6em;
  top: 50%;
  left: calc(50% + 0.2em);
  border-left: 1px solid #df0025;
  border-top: 1px solid #df0025;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.pagination > a.next {
  position: relative;
}
.pagination > a.next::before {
  content: "";
  position: absolute;
  width: 0.6em;
  height: 0.6em;
  top: 50%;
  left: calc(50% - 0.2em);
  border-right: 1px solid #df0025;
  border-top: 1px solid #df0025;
  transform: translate(-50%, -50%) rotate(45deg);
}

/* Magazine */
/* 一覧 */
.wrap.magazine{
	background:#F2F2F2;
}

.related_ttl{
	background:#E6E6E6;
	font-size:var(--font-24);
	font-weight:bold;
	padding:.5em .8em;
	margin-bottom:2em;
}
.wrap:has(.related_ttl){
	padding-top:0;
}
.magazine_cats{
	display:flex;
	flex-wrap:wrap;
	gap:.5em;
	margin-bottom:2em;
}
.magazine_cats li{
	display:contents;
}

.magazine_cats a{
	padding:.4em .6em;
	border:1px solid #3B3B3B;
	line-height:1.3;
	font-weight:bold;
}

.magazine_cats .now{
	background:#fff;
}

.magazine .card .img img{
	aspect-ratio:3/2;
	object-position:center;
}

.magazine .card_txt{
	height:100%;
}

.magazine .card_txt .ttl {
	text-align:left;
}

.magazine .card_txt .cats {
	display:flex;
	flex-wrap:wrap;
	gap:.4em;
	order:-2;
}

.magazine .card_txt  li{
	display:contents;
}

.magazine .card_txt .cats a{
	line-height:1.3;
	font-size:var(--font-14);
	padding:.4em .6em;
	border:1px solid #3B3B3B;
}

.magazine .card_txt time{
	font-weight:normal;
	font-size:var(--font-14);
}

.magazine .card_txt .excerpt{
	display: -webkit-box; 
    -webkit-box-orient: vertical; 
    -webkit-line-clamp: 3; 
    overflow: hidden;
}

.magazine .card_txt .tags{
	display:flex;
	flex-wrap:wrap;
	gap:.4em;
	font-size:var(--font-12);
	font-weight:bold;
	border-top:.5px solid #707070;
	padding-top:.8em;
}

.magazine .card_txt .tags li{
	display:contents;
}

.magazine  .card .btn{
	margin-inline:0;
	margin-top:auto;
}

@media screen and (max-width: 810px) {
.magazine_cats{
	font-size:var(--font-14);
  }
}

/* 詳細 */
.fv_magazine{
	background: #df0025;
    color: #fff;
    overflow: hidden;
    padding-block: var(--unit) var(--gutter-80);
    position: relative;
}
.fv_magazine .inner {
    position: relative;
}

.fv_magazine .txt{
	flex:1;
}

.fv_magazine .inner .txt h1 {
    font-size: var(--font-30);
    font-weight: 700;
    font-weight: 600;
	margin-block: .5em .3em;
}

.fv_magazine .txt time{
	font-size:var(--font-14);
}

.fv_magazine .txt .cats{
	display:flex;
	flex-wrap:wrap;
	gap:.4em;
	font-size:var(--font-14);
	margin-top:1em;
	font-weight:bold;
}

.fv_magazine .txt .cats li{
	display:contents;
}

.fv_magazine .txt .cats a{
	color:#DF0025;
	background:#fff;
	padding:.5em .8em;
}

.fv_magazine .txt .tags{
	display:flex;
	flex-wrap:wrap;
	gap:.4em;
	margin-top:1.5em;
	padding-top:1.5em;
	border-top:.5px solid #fff;
	font-size:var(--font-12);
	font-weight:bold;
}

.fv_magazine .txt .tags li{
	display:contents;
}

.fv_magazine .txt .tags a{
	color:#fff;
}

@media screen and (min-width: 810.1px) {
    .fv_magazine .inner {
        display: flex;
        gap: 5%;
    }
	
	.fv_magazine .img{
		order: -1;
		width: 45vw;
		position:relative;
		margin-left:calc(50% - 50vw);
		margin-top: calc(var(--unit) * -1);
		margin-bottom: calc(var(--gutter-80) * -1);
	}

	.fv_magazine .img img{
		position:absolute;
		width:100%;
		height:100%;
		object-fit:cover;
	}
}
@media screen and (max-width: 810px) {
	.fv_magazine .img {
		margin-top:1.5em;
	}
}

.cont_magazine{
	background:#F2F2F2;
	line-height:1.8;
}

.cont_magazine h2.wp-block-heading{
	position:relative;
	padding-left:.6em;
	border-left:6px solid #3B3B3B;
	font-size:var(--font-30);
	font-weight:bold;
	margin-block:1.5em 1em;
}

.cont_magazine h2.wp-block-heading::after{
	content:"";
	position:absolute;
	left:-6px;
	bottom:-.3em;
	width:calc(100% + 6px);
	height:1px;
	background:#9B9B9B;
}

.cont_magazine h3.wp-block-heading{
	font-size:var(--font-24);
	font-weight:bold;
	margin-block:1em .5em;
}

.cont_magazine h4.wp-block-heading{
	font-size:var(--font-20);
	font-weight:bold;
	margin-block:1em .5em;
}

.cont_magazine a:not(.outline a) {
  text-decoration: underline;
}

.cont_magazine .wp-block-image,
.cont_magazine .wp-block-gallery{
	margin-block:1.5em;
}

.cont_magazine .wp-block-list{
	padding-left:1.5em;
	list-style-type:disc;
	margin-block:16px;
}

.cont_magazine blockquote{
	background: #fafafa;
    padding: var(--gutter-40) 5%;
    margin-block: var(--gutter-32);
    font-style: italic;
    position: relative;
}

.cont_magazine blockquote::before {
    position: absolute;
    content: "”";
    font-size: calc(var(--unit) * 1.5);
    line-height: 0.8;
    top: -0.1em;
    left: -0.1em;
    color: rgba(0, 0, 0, 0.2);
    font-family:"HelveticaLTPro-Bold", "Helvetica", sans-serif; ;
}

/* 目次 */

.outline{
	background:#EAEAEA;
	width:100%;
	padding:2em min(3em,5%);
	margin-bottom:2em;
}

*+.outline{
	margin-top:2em;
}

.outline h2{
	font-weight:bold;
	font-size:normal;
	padding-bottom:1em;
}
.outline h2::after{
	content:"▼";
	padding-left:.5em;
	font-size:.9em;
}

.outline>ul{
	padding-left:1.5em;
	list-style-type: decimal;
}
.outline li{
	padding-block:.2em;
}
.outline>ul>li{
	padding-block:.5em;
	position:relative;
}

.outline>ul>li:after{
	content:"";
	position:absolute;
	width:calc(100% + 1.5em);
	height:1px;
	background:#9B9B9B;
	left:-1.5em;
	bottom:0;
}

/* スクロールフェードイン */
.fade-up {
  opacity: 0;
  transform: translateY(50px);
}

.fade-up_on {
  animation: fadeAnime 1s ease-in-out forwards;
}

@keyframes fadeAnime {
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.zoom-in {
  opacity: 0;
}

.zoom-in_on {
  animation-name: zoomInAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes zoomInAnime {
  from {
    transform: scale(0.6);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}/*# sourceMappingURL=style.css.map */

.tab-menu ul{
  display: flex;
  justify-content: center;
  margin-top: 30px;
}

  .tab-menu ul li{
    margin-left: 10px;
    margin-right: 10px;
  }

  .tab-menu ul li:hover{
    cursor: pointer;
  }

    .tab-menu ul li.active span{
      color: #fff;
      background: #df0025;
    }

    .tab-menu ul li span{
      display: block;
      text-transform: uppercase;
      color: #df0025;
      padding: 7px 15px;
      border: 1px solid #df0025;
      border-radius: 5px;
    }

.tab-content{
  display: none;
}

  .tab-content.active{
    display: block;
  }