@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500;700&family=Zen+Maru+Gothic:wght@400;500;700;900&display=swap");
:root {
  --width: 1000;
  --fullWidth: 1280;
  --mainColor: #754c24;
  --subColor: #fcee21;
  --headerHeight: 70px;
  --fz11: max(9px, calc(11 / 16 * 1rem));
  --fz12: max(10px, calc(12 / 16 * 1rem));
  --fz13: max(11px, calc(13 / 16 * 1rem));
  --fz14: max(12px, calc(14 / 16 * 1rem));
  --fz15: max(12px, calc(15 / 16 * 1rem));
  --fz16: max(13px, calc(16 / 16 * 1rem));
  --fz17: max(13px, calc(17 / 16 * 1rem));
  --fz18: max(13px, calc(18 / 16 * 1rem));
  --fz19: max(14px, calc(19 / 16 * 1rem));
  --fz20: max(14px, calc(20 / 16 * 1rem));
  scroll-behavior: smooth; }
  @media screen and (max-width: 767px) {
    :root {
      scroll-padding: var(--headerHeight); } }

body,
div,
dl,
dt,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
p,
pre,
form,
fieldset,
input,
textarea,
blockquote,
ul,
ol,
li,
figure {
  margin: 0;
  padding: 0; }

ul,
ol,
li {
  list-style: none; }

@media screen and (max-width: 1280px) {
  html {
    font-size: calc(16 / var(--fullWidth) * 100vw); } }

body {
  font-size: max(14px, 1rem);
  line-height: 1.7;
  font-family: "Zen Maru Gothic", serif; }

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

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none; } }

a {
  color: currentColor;
  text-decoration: none; }

a:link,
a:visited {
  transition: .3s; }

a:hover img {
  opacity: .7;
  transition: .3s; }

.pc-disp {
  display: block; }
  @media screen and (max-width: 767px) {
    .pc-disp {
      display: none; } }
  .pc-disp a::before,
  .pc-disp a::after {
    content: none !important; }

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

@font-face {
  font-style: normal;
  font-weight: normal;
  font-family: "icon";
  src: url("../fonts/icon.eot?87z085");
  src: url("../fonts/icon.eot?87z085#iefix") format("embedded-opentype"), url("../fonts/icon.ttf?87z085") format("truetype"), url("../fonts/icon.woff?87z085") format("woff"), url("../fonts/icon.svg?87z085#icon") format("svg");
  font-display: block; }
.icon_arrow_right:before {
  content: "\e900"; }

.icon_arrow_left:before {
  content: "\e901"; }

.icon_check:before {
  content: "\e902"; }

.header {
  position: relative; }
  @media screen and (max-width: 767px) {
    .header {
      position: fixed;
      top: 0;
      left: 0;
      z-index: 10;
      width: 100%;
      background-color: #fff; } }
  .header::before {
    position: absolute;
    top: calc(25 / 16 * 1rem);
    left: calc(35 / 16 * 1rem);
    width: calc(114 / 16 * 1rem);
    aspect-ratio: 114 / 119;
    background-image: url("../img/common/illust_owl.png");
    background-size: cover;
    background-repeat: no-repeat;
    content: ""; }
    @media screen and (max-width: 767px) {
      .header::before {
        top: 7px;
        left: 10px;
        width: 84px;
        filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.5)); } }

.header_head {
  display: flex;
  justify-content: end;
  height: calc(113 / 16 * 1rem); }
  @media screen and (max-width: 767px) {
    .header_head {
      height: 70px; } }

.header_logo {
  position: absolute;
  top: calc(45 / 16 * 1rem);
  left: calc(156 / 16 * 1rem); }
  @media screen and (max-width: 767px) {
    .header_logo {
      top: 29px;
      left: 96px; } }
  .header_logo a {
    display: block;
    width: calc(395 / 16 * 1rem);
    aspect-ratio: 395 / 30;
    background-image: url("../img/common/logo.svg?20250331");
    background-size: cover;
    line-height: 1;
    text-indent: -9999px; }
    @media screen and (max-width: 767px) {
      .header_logo a {
        width: 198px; } }
    .header_logo a:hover {
      opacity: .7; }

.header_snav {
  position: relative;
  top: 0;
  right: 0; }
  @media screen and (max-width: 767px) {
    .header_snav {
      display: none; } }
  .header_snav > ul {
    display: flex;
    height: 100%;
    gap: 1.5rem; }
    .header_snav > ul > li {
      display: grid;
      place-items: center; }

.header_snav_mail {
  font-weight: 500;
  font-size: calc(20 / 16 * 1rem);
  font-family: "Zen Kaku Gothic New", sans-serif; }
  .header_snav_mail a {
    display: flex;
    align-items: center;
    gap: 5px; }
    .header_snav_mail a::before {
      width: calc(23 / 16 * 1rem);
      height: calc(16 / 16 * 1rem);
      background-image: url("../img/common/icon_mail.svg");
      background-repeat: no-repeat;
      content: ""; }
    .header_snav_mail a:hover {
      opacity: .7; }

.header_snav_tel {
  background-color: var(--subColor);
  font-weight: 700;
  font-size: calc(38 / 16 * 1rem); }
  .header_snav_tel a {
    display: flex;
    align-items: center;
    padding: 0 2rem;
    color: var(--mainColor);
    gap: 5px; }
    .header_snav_tel a::before {
      position: relative;
      top: 5px;
      width: calc(26 / 16 * 1rem);
      height: calc(26 / 16 * 1rem);
      background-image: url("../img/common/icon_tel.svg");
      background-repeat: no-repeat;
      content: ""; }

.header_nav {
  height: calc(85 / 16 * 1rem);
  background-color: var(--mainColor);
  color: #fff;
  font-weight: 700;
  font-size: calc(17 / 16 * 1rem);
  line-height: 1.4;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .header_nav {
      display: none; } }
  .header_nav > ul {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    gap: calc(50 / 16 * 1rem); }
    .header_nav > ul li {
      display: grid;
      position: relative;
      height: 100%;
      place-items: center; }
      .header_nav > ul li:not(:first-child)::before {
        position: absolute;
        top: 50%;
        left: calc(-25 / 16 * 1rem);
        transform: translateY(-50%);
        width: 1px;
        height: calc(40 / 16 * 1rem);
        background-color: currentColor;
        content: ""; }
      .header_nav > ul li a {
        transition: .3s; }
      .header_nav > ul li a:hover {
        color: var(--subColor); }

.footer {
  position: relative;
  background: #fff; }
  @media screen and (max-width: 767px) {
    .footer::before {
      position: absolute;
      top: -120px;
      right: 0;
      z-index: 2;
      width: 131px;
      aspect-ratio: 176 / 195;
      background-image: url("../img/common/illust_owl2.png");
      background-size: cover;
      content: ""; } }
  .footer::after {
    position: absolute;
    top: calc(-103 / 16 * 1rem);
    right: calc(80 / 16 * 1rem);
    width: calc(437 / 16 * 1rem);
    aspect-ratio: 437 / 125;
    background-image: url("../img/common/illust_town4.svg");
    background-size: cover;
    content: ""; }
    @media screen and (max-width: 767px) {
      .footer::after {
        top: -70px;
        right: auto;
        left: -44px;
        width: 284px;
        aspect-ratio: 568 / 163;
        background-image: url("../img/common/illust_town5.svg"); } }

.footer_inner {
  position: relative;
  padding: calc(80 / 16 * 1rem) 0; }
  @media screen and (max-width: 767px) {
    .footer_inner {
      padding: 0; } }
  .footer_inner::before {
    position: absolute;
    top: calc(-58 / 16 * 1rem);
    left: calc(-30 / 16 * 1rem);
    width: calc(176 / 16 * 1rem);
    aspect-ratio: 176 / 195;
    background-image: url("../img/common/illust_owl2.png");
    background-size: cover;
    content: ""; }
    @media screen and (max-width: 767px) {
      .footer_inner::before {
        display: none; } }

.copyright {
  padding: 1.5em;
  background-color: var(--mainColor);
  color: #fff;
  font-size: var(--fz11);
  letter-spacing: .04em;
  text-align: center; }

.gmenu.is_open {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  background-color: #ebe4b9;
  animation: gmenuOpen .3s ease forwards; }
  .gmenu.is_open .gmenu_nav,
  .gmenu.is_open .gmenu_snav {
    display: block; }

@keyframes gmenuOpen {
  0% {
    opacity: 0;
    transform: translateX(100%); }
  100% {
    opacity: 1;
    transform: none; } }
@media screen and (max-width: 767px) {
  .gmenu_inner {
    width: 100%;
    height: calc(100% + 1px); } }

.gmenu_wrap {
  display: flex;
  position: relative;
  gap: calc(40 / 16 * 1rem); }
  @media screen and (max-width: 767px) {
    .gmenu_wrap {
      flex-direction: column-reverse;
      background-color: #fff;
      gap: 0; } }

.gmenu_prof {
  min-width: 280px;
  padding-top: calc(100 / 16 * 1rem); }
  @media screen and (max-width: 767px) {
    .gmenu_prof {
      margin-top: 60px;
      padding: 0 0 30px;
      padding-top: 0;
      text-align: center; } }
  .gmenu_prof dt img {
    width: max(300px, calc(395 / 16 * 1rem)); }

.gmenu_prof_addr {
  margin-top: 1em;
  font-size: var(--fz18);
  line-height: 1.5;
  letter-spacing: .04em; }

.gmenu_prof_tel {
  margin: .3em 0;
  color: var(--mainColor);
  font-weight: 700;
  font-size: max(43px, calc(59 / 16 * 1rem));
  line-height: 1; }
  .gmenu_prof_tel a {
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: 10px; }
    .gmenu_prof_tel a::before {
      width: max(29px, calc(40 / 16 * 1rem));
      height: max(29px, calc(40 / 16 * 1rem));
      background-image: url("../img/common/icon_tel.svg");
      background-repeat: no-repeat;
      content: ""; }

.gmenu_prof_btn {
  margin-bottom: .6em;
  color: var(--mainColor);
  font-weight: 500;
  font-size: max(19px, calc(22 / 16 * 1rem));
  text-align: center; }
  @media screen and (max-width: 767px) {
    .gmenu_prof_btn {
      max-width: 300px;
      margin-right: auto;
      margin-left: auto; } }
  .gmenu_prof_btn a {
    display: grid;
    max-width: 387px;
    aspect-ratio: 387 / 75;
    border-radius: 20px;
    background-color: var(--subColor);
    place-items: center; }
    @media screen and (max-width: 767px) {
      .gmenu_prof_btn a {
        display: grid;
        height: 50px;
        margin: 0 auto; } }
    .gmenu_prof_btn a:hover {
      background-color: var(--mainColor);
      color: #fff; }

.gmenu_prof_link {
  color: var(--mainColor);
  font-size: var(--fz14); }
  .gmenu_prof_link a {
    display: flex;
    align-items: center;
    gap: .5em; }
    @media screen and (max-width: 767px) {
      .gmenu_prof_link a {
        justify-content: center; } }
    .gmenu_prof_link a::after {
      width: max(9px, calc(15 / 16 * 1rem));
      height: max(8px, calc(13 / 16 * 1rem));
      background-image: url("../img/common/icon_arrow.svg");
      background-repeat: no-repeat;
      content: ""; }
    .gmenu_prof_link a:hover {
      font-weight: 700; }

.gmenu_nav {
  display: flex;
  justify-content: end;
  font-size: var(--fz15);
  gap: calc(40 / 16 * 1rem); }
  @media screen and (max-width: 767px) {
    .gmenu_nav {
      display: none;
      flex-direction: column;
      font-size: 17px; } }
  .gmenu_nav a {
    display: block; }
  @media screen and (max-width: 767px) {
    .gmenu_nav > ul > li:not(.gmenu_nav_img).has_sub a::after {
      transform: rotate(135deg);
      transition: .3s; }
    .gmenu_nav > ul > li:not(.gmenu_nav_img).has_sub a.is_open::after {
      transform: rotate(-45deg) translateY(5px); } }
  .gmenu_nav > ul > li:not(.gmenu_nav_img) > a {
    margin-bottom: .8em;
    padding-bottom: .3em;
    border-bottom: 1px solid currentColor;
    color: var(--mainColor);
    font-weight: 700;
    font-size: 1.26em; }
    @media screen and (max-width: 767px) {
      .gmenu_nav > ul > li:not(.gmenu_nav_img) > a {
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: relative;
        margin-bottom: 0;
        padding: 15px 30px;
        border-color: #baa591;
        font-size: 1em; }
        .gmenu_nav > ul > li:not(.gmenu_nav_img) > a::after {
          display: inline-block;
          transform: rotate(45deg);
          width: 10px;
          height: 10px;
          border-top: 2px solid var(--mainColor);
          border-right: 2px solid var(--mainColor);
          border-radius: .1em;
          content: ""; } }
  .gmenu_nav > ul > li:not(.gmenu_nav_img) + li {
    margin-top: 2em; }
    @media screen and (max-width: 767px) {
      .gmenu_nav > ul > li:not(.gmenu_nav_img) + li {
        margin: 0; } }

@media screen and (max-width: 767px) {
  .gmenu_sub {
    display: none; } }
.gmenu_sub > li > a {
  padding: .15em 0; }
  @media screen and (max-width: 767px) {
    .gmenu_sub > li > a {
      padding: 15px 30px;
      border-bottom: 1px solid #baa591;
      background-color: #eeeae5; } }
  .gmenu_sub > li > a:hover {
    text-decoration: underline; }

.gmenu_sns {
  display: grid;
  place-items: center; }
  .gmenu_sns > ul {
    display: flex;
    justify-content: center;
    gap: 20px; }
    .gmenu_sns > ul > li {
      display: grid;
      width: 40px;
      place-items: center; }

.gmenu_btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 100;
  width: 60px;
  height: 70px;
  padding: 0;
  border: none;
  background-color: var(--subColor);
  color: var(--mainColor);
  text-align: center;
  outline: none;
  cursor: pointer;
  appearance: none; }
  @media screen and (min-width: 768px) {
    .gmenu_btn {
      display: none; } }
  .gmenu_btn .bar {
    display: block;
    position: absolute;
    top: 25px;
    left: 50%;
    transform: translateX(-50%);
    width: 50%;
    height: 3px;
    background: currentColor;
    transition: .3s; }
    .gmenu_btn .bar::before, .gmenu_btn .bar::after {
      display: block;
      position: absolute;
      width: 100%;
      height: 3px;
      background: currentColor;
      content: "";
      transition: .3s; }
    .gmenu_btn .bar::before {
      top: -8px;
      left: 0; }
    .gmenu_btn .bar::after {
      top: 8px;
      left: 0; }
  .gmenu_btn::after {
    margin-top: 30px;
    color: currentColor;
    font-weight: 700;
    font-size: 10px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    content: "メニュー"; }
  .gmenu_btn.is_open {
    background-color: transparent; }
    .gmenu_btn.is_open .bar {
      background: transparent; }
      .gmenu_btn.is_open .bar::before {
        top: 0;
        transform: rotate(-135deg); }
      .gmenu_btn.is_open .bar::after {
        top: 0;
        transform: rotate(135deg); }
    .gmenu_btn.is_open::after {
      content: ""; }

.gmenu_snav {
  display: none;
  padding: 70px 30px 30px;
  background-color: #ebe4b9; }
  .gmenu_snav > ul {
    display: grid;
    max-width: 420px;
    margin: 0 auto;
    gap: 1em;
    grid-template-columns: repeat(2, 1fr); }

.snav > ul {
  display: flex;
  flex-direction: column;
  gap: 1rem; }

.pnav {
  color: var(--mainColor);
  font-weight: 500;
  font-size: var(--fz17); }
  .pnav > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2em; }
    @media screen and (max-width: 767px) {
      .pnav > ul {
        flex-direction: column;
        align-items: center; } }
    .pnav > ul > li a {
      position: relative;
      padding: 10px;
      border-bottom: 1px solid currentColor; }
      .pnav > ul > li a:hover {
        background-color: #fff680; }

.breadcrumbs {
  display: flex;
  margin-top: 1em;
  color: var(--mainColor);
  font-weight: 500;
  font-size: var(--fz17);
  line-height: 1.3;
  font-family: "Zen Kaku Gothic New", sans-serif;
  gap: .5em;
  flex-wrap: wrap; }
  .breadcrumbs li,
  .breadcrumbs > span {
    display: flex;
    align-items: center;
    gap: .5em; }
    .breadcrumbs li:not(:last-child)::after,
    .breadcrumbs > span:not(:last-child)::after {
      position: relative;
      top: .1em;
      font-size: .6em;
      font-family: "icon";
      content: "\e900"; }

@media screen and (max-width: 767px) {
  .main {
    margin-top: 70px; } }

.container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 max(30px, calc(50 / 16 * 1rem)); }
  @media screen and (max-width: 767px) {
    .container:not(.container__mdfull) {
      max-width: 430px; } }

.container__s {
  max-width: 800px; }
  @media screen and (max-width: 767px) {
    .container__s:not(.container__mdfull) {
      max-width: 430px; } }

.section {
  padding: max(60px, calc(100 / 16 * 1rem)) 0; }
  .section:not(.hp_pb0):last-child {
    padding-bottom: 180px; }

.bg_dot {
  position: relative;
  background-image: url("../img/common/bg_dot.svg");
  background-size: 46px auto; }
  @media screen and (max-width: 767px) {
    .bg_dot {
      background-size: 30px auto; } }
  .bg_dot::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-color: #fff8d6;
    content: ""; }

.bg_dot__yellow::after {
  background-color: #fff8d6; }

.bg_dot__green::after {
  background-color: #eaffe5; }

.bg_dot__blue::after {
  background-color: #e4f8ff; }

.bg_dot__lblue::after {
  background-color: #edf5ff; }

.bg_dot__gray::after {
  background-color: #e7ebf3; }

.totop {
  position: fixed;
  right: 1em;
  bottom: 1em;
  z-index: 2;
  width: max(50px, calc(96 / 16 * 1rem));
  aspect-ratio: 1;
  background-image: url("../img/common/btn_totop.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom right;
  opacity: 0;
  transition: .3s; }
  .totop.is_show {
    opacity: 1; }
  .totop.is_end {
    bottom: 65px; }
    @media screen and (max-width: 767px) {
      .totop.is_end {
        bottom: 55px; } }
  .totop:hover {
    opacity: 0.7; }

/*------------------------------
    lg
--------------------------------*/
@media screen and (max-width: 767px) {
  .lg_visible {
    display: none; } }

@media screen and (min-width: 768px) {
  .lg_text_center {
    text-align: center; } }

/*------------------------------
    md
--------------------------------*/
@media screen and (min-width: 768px) {
  .md_visible {
    display: none; } }

.md_full_wrap {
  overflow: hidden; }

@media screen and (max-width: 767px) {
  .md_full {
    margin: 0 -30px; } }

/*------------------------------
    helper
--------------------------------*/
.hp_mb1em_h {
  margin-bottom: .5em !important; }

.hp_mb1em {
  margin-bottom: 1em !important; }

.hp_mb2em {
  margin-bottom: 2em !important; }

.hp_pb0 {
  padding-bottom: 0 !important; }

.hp_pt0 {
  padding-top: 0 !important; }

.hp_mt0 {
  margin-top: 0 !important; }

.hp_mt1em {
  margin-top: 1em !important; }

.hp_mt2em {
  margin-top: 2em !important; }

.hp_text_center {
  text-align: center; }

.hp_ofh {
  overflow: hidden; }

.hp_fw500 {
  font-weight: 500 !important; }

/*------------------------------
    element
--------------------------------*/
.el_sec_ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: .3em;
  color: var(--mainColor);
  font-weight: 900;
  font-size: max(23px, calc(45 / 16 * 1rem));
  line-height: 1.3;
  letter-spacing: .02em;
  text-align: center;
  gap: .6em; }
  .el_sec_ttl::before, .el_sec_ttl::after {
    color: #c69c6d;
    font-size: .5em;
    content: "●"; }
  .el_sec_ttl .small {
    font-size: .7em;
    letter-spacing: 0; }

.el_sec_ttl__about::before, .el_sec_ttl__about::after {
  color: #f47547; }

.el_sec_ttl__business::before, .el_sec_ttl__business::after {
  color: #626dad; }

.el_sec_ttl__member::before, .el_sec_ttl__member::after {
  color: #ad6aa6; }

.el_sec_ttl2 {
  padding: .1em 2em;
  border-radius: 1em;
  background-color: #fff;
  color: var(--mainColor);
  font-weight: 700;
  font-size: max(20px, calc(31 / 16 * 1rem));
  text-align: center; }

.el_sec_ttl3 {
  color: var(--mainColor);
  font-size: max(19px, calc(29 / 16 * 1rem));
  text-align: center; }

.el_lead_ttl {
  color: var(--mainColor);
  font-weight: 700;
  font-size: max(23px, calc(36 / 16 * 1rem));
  line-height: 1.3;
  text-align: center; }

.el_lead_ttl__will {
  color: #f68d00;
  font-weight: 900;
  font-size: max(30px, calc(45 / 16 * 1rem)); }

.el_lead_text {
  color: var(--mainColor);
  font-size: var(--fz20); }
  @media screen and (max-width: 767px) {
    .el_lead_text {
      text-align: justify; } }

.el_sec_ttl_sub {
  font-size: var(--fz20);
  text-align: center; }

.el_fig {
  font-size: var(--fz20);
  text-align: center; }
  .el_fig figcaption {
    margin-top: .5em; }

.el_video {
  max-width: 716px;
  margin: 0 auto;
  text-align: center; }
  .el_video iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 560 / 315; }

.el_textlink {
  color: var(--mainColor);
  font-size: var(--fz20);
  text-align: center; }
  .el_textlink a {
    position: relative;
    padding-bottom: .5em;
    border-bottom: 1px solid currentColor;
    font-weight: 700; }

.el_btn {
  color: #965300;
  font-weight: 700;
  font-size: max(18px, calc(28 / 16 * 1rem));
  line-height: 1.3;
  text-align: center; }
  .el_btn a {
    display: flex;
    align-items: center;
    padding: 1em;
    border-radius: 5em;
    background-color: #f5f5f5;
    background-color: #ffd2a6;
    color: currentColor;
    text-align: center;
    transition: .3s;
    gap: 10px; }
    .el_btn a span {
      width: 100%;
      text-align: center; }
    .el_btn a::after {
      display: grid;
      flex-shrink: 0;
      width: 3em;
      height: 3em;
      margin-left: auto;
      border-radius: 50%;
      background-color: #fff;
      font-size: var(--fz13);
      font-family: "icon";
      content: "\e900";
      transition: .3s;
      place-items: center; }
    .el_btn a:hover {
      background-color: #ff9e40; }

.el_btn__s {
  display: inline-block;
  font-size: 1em; }
  .el_btn__s a {
    padding: 1em 2em; }
    .el_btn__s a::after {
      width: 2em;
      height: 2em;
      font-size: 10px; }

.el_btn__blue {
  color: #4e5e94; }
  .el_btn__blue a {
    background-color: #97c8f1; }
    .el_btn__blue a:hover {
      background-color: #3d98e5; }

.el_btn__green {
  color: #fff; }
  .el_btn__green a {
    background-color: #32a16e; }
    .el_btn__green a::after {
      color: #4e5e94; }
    .el_btn__green a:hover {
      background-color: #1a5339; }

.el_btn__wh {
  color: #000; }
  .el_btn__wh a {
    background-color: #fff; }
    .el_btn__wh a::after {
      background-color: var(--mainColor);
      color: #fff; }
    .el_btn__wh a:hover {
      background-color: rgba(255, 255, 255, 0.7); }

.el_btn_s a {
  display: flex;
  flex: 1;
  justify-content: center;
  align-items: center;
  padding-left: 1em;
  border-radius: 5em;
  background-color: #c69c6d;
  color: #fff;
  font-weight: 700;
  font-size: max(12px, calc(17 / 16 * 1rem));
  line-height: 1.3;
  text-align: center;
  gap: .6em; }
  .el_btn_s a span {
    width: 100%;
    text-align: center; }
  .el_btn_s a::after {
    display: grid;
    flex-shrink: 0;
    width: 2em;
    height: 2em;
    margin: 3px 3px 3px auto;
    border-radius: 50%;
    background-color: #fff;
    color: #c69c6d;
    font-size: .9em;
    font-family: "icon";
    content: "\e900";
    place-items: center; }
  .el_btn_s a:hover {
    background-color: #93693a; }
    .el_btn_s a:hover::after {
      color: #93693a; }

.el_btn_s__blue a {
  background-color: #0098e6; }
  .el_btn_s__blue a::after {
    color: #0098e6; }
  .el_btn_s__blue a:hover {
    background-color: #005580; }
    .el_btn_s__blue a:hover::after {
      color: #005580; }

.el_btn_s__orange a {
  background-color: #e27a00; }
  .el_btn_s__orange a::after {
    color: #e27a00; }
  .el_btn_s__orange a:hover {
    background-color: #7c4300; }
    .el_btn_s__orange a:hover::after {
      color: #7c4300; }

.el_btn_s__pdf a {
  padding: 1em; }
  .el_btn_s__pdf a span {
    text-align: left; }
  .el_btn_s__pdf a::before {
    flex-shrink: 0;
    width: max(31px, calc(37 / 16 * 1rem));
    height: max(33px, calc(40 / 16 * 1rem));
    background-image: url("../img/common/icon_pdf.svg");
    background-size: cover;
    content: ""; }

.el_text_large_line {
  position: relative;
  font-weight: 700;
  font-size: 1.44em; }
  .el_text_large_line::before {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 12px;
    background-color: var(--subColor);
    content: ""; }
  .el_text_large_line span {
    position: relative;
    z-index: 1; }

.el_link_all {
  margin-top: 1em;
  color: var(--mainColor);
  font-size: var(--fz19);
  text-align: right; }
  @media screen and (max-width: 767px) {
    .el_link_all {
      text-align: center; } }
  .el_link_all::after {
    margin-left: .5em;
    font-size: var(--fz15);
    font-family: "icon";
    content: "\e900"; }
  .el_link_all a:hover {
    opacity: .7; }

/*------------------------------
    block
--------------------------------*/
.bl_page_title {
  display: grid;
  margin-bottom: 1rem;
  padding: 1.1em 0;
  border: 5px solid #fff;
  border-top: none;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
  background-color: #f5f2d5;
  color: var(--mainColor);
  font-weight: 900;
  font-size: max(32px, calc(50 / 16 * 1rem));
  line-height: 1.3;
  letter-spacing: .05em;
  place-items: center; }
  @media screen and (min-width: 768px) {
    .bl_page_title {
      border-radius: 0 0 64px 64px; } }
  @media screen and (max-width: 767px) {
    .bl_page_title {
      border-right: none;
      border-left: none;
      border-width: 3px; } }
  .bl_page_title span {
    text-align: center; }
  .bl_page_title span.small {
    font-size: .8em; }

.bl_page_title__about {
  background-color: #ffd2a6; }
  .bl_page_title__about span::first-letter {
    color: #f44817; }

.bl_page_title__will {
  background-color: #f4e96f; }
  .bl_page_title__will span::first-letter {
    color: #e27a00; }

.bl_page_title__job {
  background-color: #a7d9f9; }
  .bl_page_title__job span::first-letter {
    color: #0098e6; }

.bl_page_title__order {
  background-color: #bce2c0; }
  .bl_page_title__order span::first-letter {
    color: #21816d; }

.bl_page_title__business {
  background-color: #cbd2f3; }
  .bl_page_title__business span::first-letter {
    color: #626dad; }

.bl_page_lead {
  padding: 3em 0 4em; }
  .bl_page_lead .el_lead_ttl {
    margin-bottom: .6em; }
  .bl_page_lead .el_lead_text {
    margin-bottom: 3em; }

.bl_qa_sec {
  position: relative;
  background-color: #f8f1a4; }
  .bl_qa_sec::before {
    position: absolute;
    top: -45px;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 45px;
    background-image: url("../img/common/bg_qa_top.svg");
    background-position: center;
    background-size: cover;
    content: ""; }
    @media screen and (max-width: 767px) {
      .bl_qa_sec::before {
        top: -20px;
        height: 20px; } }

.bl_qa_dl dt {
  display: grid;
  align-items: center;
  align-items: center;
  position: relative;
  margin-bottom: .5em;
  padding: 0.6em 0 0.6em calc(100 / 16 * 1rem);
  color: var(--mainColor);
  font-weight: 700;
  font-size: max(17px, calc(26 / 16 * 1rem));
  line-height: 1.5; }
  @media screen and (max-width: 767px) {
    .bl_qa_dl dt {
      flex-direction: column;
      align-items: start;
      padding-bottom: 2em;
      padding-left: 0;
      cursor: pointer;
      gap: 5px; }
      .bl_qa_dl dt::before {
        position: absolute;
        bottom: .3em;
        left: 50%;
        z-index: 99;
        transform: translateX(-50%) rotate(90deg);
        font-family: "icon";
        content: "\e900";
        transition: .3s; }
      .bl_qa_dl dt.is_open::before {
        transform: translateX(-50%) rotate(-90deg); } }
  .bl_qa_dl dt span {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 2;
    transform: translateY(-50%);
    width: max(50px, calc(75 / 16 * 1rem));
    height: max(50px, calc(75 / 16 * 1rem));
    border: max(2px, calc(5 / 16 * 1rem)) solid currentColor;
    border-radius: 50%;
    background-color: #fff;
    color: #996e00;
    font-size: max(21px, calc(33 / 16 * 1rem)); }
    @media screen and (max-width: 767px) {
      .bl_qa_dl dt span {
        position: relative; } }
    .bl_qa_dl dt span::before {
      position: relative;
      top: -5px;
      font-size: 1.5em;
      content: "Q"; }
      @media screen and (max-width: 767px) {
        .bl_qa_dl dt span::before {
          top: -3px; } }
  .bl_qa_dl dt::after {
    position: absolute;
    bottom: 0;
    left: calc(40 / 16 * 1rem);
    width: calc(100% - calc(40 / 16 * 1rem));
    height: 2px;
    background-color: currentColor;
    content: ""; }
    @media screen and (max-width: 767px) {
      .bl_qa_dl dt::after {
        left: 0; } }
.bl_qa_dl dd {
  font-size: var(--fz20); }
  @media screen and (min-width: 768px) {
    .bl_qa_dl dd {
      padding-left: calc(55 / 16 * 1rem); } }
  @media screen and (max-width: 767px) {
    .bl_qa_dl dd {
      display: none; } }
  .bl_qa_dl dd + dt {
    margin-top: 2em; }

.bl_flow_list {
  display: grid;
  counter-reset: number 0;
  gap: 1rem; }
  @media screen and (min-width: 768px) {
    .bl_flow_list {
      grid-template-columns: repeat(3, 1fr); } }
  @media screen and (max-width: 767px) {
    .bl_flow_list {
      gap: 40px; } }
  .bl_flow_list > li {
    display: grid;
    position: relative;
    padding: max(30px, calc(45 / 16 * 1rem)) 0 max(30px, calc(40 / 16 * 1rem));
    border: 5px solid #fff;
    border-radius: 30px;
    box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
    background-color: #fff133;
    counter-increment: number 1;
    row-gap: 1em;
    grid-template-rows: subgrid;
    grid-row: span 2; }
    .bl_flow_list > li::before {
      display: grid;
      justify-content: center;
      position: absolute;
      top: calc(-33 / 16 * 1rem);
      left: 50%;
      transform: translateX(-50%);
      width: calc(66 / 16 * 1rem);
      height: calc(66 / 16 * 1rem);
      border-radius: 50%;
      background-color: #996e00;
      color: #fff;
      font-weight: 700;
      font-size: max(35px, calc(50 / 16 * 1rem));
      line-height: 1.2;
      content: counter(number); }
      @media screen and (max-width: 767px) {
        .bl_flow_list > li::before {
          top: -21px;
          width: 43px;
          height: 43px; } }
    .bl_flow_list > li::before {
      background-color: #996e00; }
  .bl_flow_list .ttl {
    color: var(--mainColor);
    font-weight: 700;
    font-size: max(18px, calc(28 / 16 * 1rem));
    line-height: 1.35;
    text-align: center; }
  .bl_flow_list .cont {
    padding: 0 max(16px, calc(26 / 16 * 1rem));
    font-size: var(--fz20);
    line-height: 1.35;
    text-align: justify; }

.bl_office_item {
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 3em;
  border-radius: 36px;
  box-sizing: border-box;
  background-color: #fff;
  font-size: var(--fz20);
  line-height: 1.3;
  gap: .6em; }
  @media screen and (max-width: 767px) {
    .bl_office_item {
      margin: 0 auto;
      padding: 1.5em;
      border-radius: 26px; } }
  .bl_office_item .ttl {
    display: grid;
    position: absolute;
    top: calc(-53 / 16 * 1rem);
    left: calc(-53 / 16 * 1rem);
    width: calc(106 / 16 * 1rem);
    height: calc(106 / 16 * 1rem);
    border: calc(5 / 16 * 1rem) solid #fff;
    border-radius: 50%;
    background-color: var(--mainColor);
    color: #fff;
    font-weight: 500;
    font-size: max(13px, calc(22 / 16 * 1rem));
    line-height: 1.3;
    text-align: center;
    place-items: center; }
    @media screen and (max-width: 767px) {
      .bl_office_item .ttl {
        top: -30px;
        width: 65px;
        height: 65px;
        border-width: 3px; } }
    .bl_office_item .ttl .small {
      position: relative;
      top: -.3em;
      font-size: .7em; }
  .bl_office_item .area {
    margin-bottom: 1rem;
    color: var(--mainColor);
    font-weight: 700;
    font-size: max(20px, calc(32 / 16 * 1rem)); }
    @media screen and (max-width: 767px) {
      .bl_office_item .area {
        margin-bottom: .6em; } }
    .bl_office_item .area span {
      font-size: .7em; }
  @media screen and (max-width: 767px) {
    .bl_office_item .tel ul {
      display: flex;
      gap: 1em; } }

.bl_cv_btn {
  margin-top: max(60px, calc(100 / 16 * 1rem));
  padding: 2em 0;
  background: linear-gradient(90deg, #bce2c0 0%, #31a06d 50%); }
  .bl_cv_btn .el_btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: none;
    padding: 0;
    background-color: transparent;
    color: #fff;
    gap: 1em; }
    .bl_cv_btn .el_btn a span {
      width: auto; }
    .bl_cv_btn .el_btn a::after {
      position: relative;
      top: auto;
      right: auto;
      transform: none;
      margin-left: 0;
      color: #21816d;
      font-size: var(--fz15); }
    .bl_cv_btn .el_btn a:hover {
      color: var(--subColor); }
      .bl_cv_btn .el_btn a:hover::after {
        background-color: var(--subColor); }

.bl_point_list {
  color: var(--mainColor);
  font-weight: 500;
  font-size: max(13px, calc(20 / 16 * 1rem));
  line-height: 1.5;
  text-align: left; }
  .bl_point_list li {
    display: flex;
    position: relative;
    gap: 1em; }
    .bl_point_list li + li {
      margin-top: 1em; }
    .bl_point_list li::before {
      display: inline-block;
      flex-shrink: 0;
      width: max(26px, calc(45 / 16 * 1rem));
      height: max(26px, calc(45 / 16 * 1rem));
      margin-top: -2px;
      border-radius: 50%;
      background-color: #fff;
      content: ""; }
    .bl_point_list li::after {
      position: absolute;
      top: -.2em;
      left: max(5px, calc(10 / 16 * 1rem));
      font-size: 1.2em;
      font-family: "icon";
      content: "\e902"; }

.bl_caution_list {
  font-size: max(10px, calc(15 / 16 * 1rem)); }
  .bl_caution_list li {
    position: relative;
    padding-left: 1em; }
    .bl_caution_list li::before {
      position: absolute;
      left: 0;
      content: "※"; }

.bl_topics_list {
  color: var(--mainColor);
  font-size: var(--fz19);
  letter-spacing: .04em; }
  .bl_topics_list > li {
    display: flex;
    padding: 1em 1.5em; }
    @media screen and (max-width: 767px) {
      .bl_topics_list > li {
        flex-direction: column; } }
    .bl_topics_list > li span.date {
      width: max(120px, calc(150 / 16 * 1rem));
      font-size: .9em;
      flex-shrink: 0; }
    .bl_topics_list > li a:hover {
      font-weight: 700; }
    .bl_topics_list > li + li {
      border-top: 1px dashed currentColor; }

.bl_mailform_wrap * {
  box-sizing: border-box; }
.bl_mailform_wrap input[type="text"],
.bl_mailform_wrap input[type="email"],
.bl_mailform_wrap input[type="tel"],
.bl_mailform_wrap textarea {
  border: none;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  outline: none;
  appearance: none; }
.bl_mailform_wrap input[type="submit"],
.bl_mailform_wrap label,
.bl_mailform_wrap select {
  cursor: pointer; }
.bl_mailform_wrap input[type="text"],
.bl_mailform_wrap input[type="email"],
.bl_mailform_wrap input[type="tel"],
.bl_mailform_wrap select,
.bl_mailform_wrap textarea {
  width: 100%;
  padding: 1em;
  border: 1px solid var(--mainColor); }
.bl_mailform_wrap textarea {
  min-height: 200px !important;
  width: 100% !important; }

.bl_mailform {
  display: grid;
  gap: 2em;
  align-items: center; }
  @media screen and (min-width: 768px) {
    .bl_mailform {
      grid-template-columns: 1fr calc(400 / 16 * 1rem); } }
  @media screen and (max-width: 767px) {
    .bl_mailform {
      gap: 1em; } }
  .bl_mailform dt {
    color: var(--mainColor);
    font-weight: 700;
    font-size: var(--fz17); }
    .bl_mailform dt.start {
      align-self: start; }
    .bl_mailform dt span.must {
      display: inline-block;
      padding: .5em 1em;
      border-radius: 8px;
      background-color: #f00;
      color: #fff;
      font-weight: 500;
      font-size: var(--fz15);
      line-height: 1; }

.bl_mailform_send {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 3em;
  text-align: center;
  gap: 1em; }
  .bl_mailform_send button,
  .bl_mailform_send .btn {
    padding: 0;
    border: none;
    background-color: var(--mainColor);
    outline: none;
    cursor: pointer;
    appearance: none;
    display: grid;
    width: max(200px, calc(387 / 16 * 1rem));
    height: max(50px, calc(75 / 16 * 1rem));
    place-items: center;
    color: #fff;
    font-size: var(--fz20);
    font-family: "Zen Maru Gothic", serif;
    border-radius: 20px;
    transition: .3s; }
    .bl_mailform_send button:hover,
    .bl_mailform_send .btn:hover {
      opacity: 0.7; }
    .bl_mailform_send button.back,
    .bl_mailform_send .btn.back {
      background-color: #555; }

.bl_entry_sec {
  padding-top: max(40px, calc(80 / 16 * 1rem)); }

.bl_entry {
  max-width: 763px;
  margin-inline: auto; }

.bl_entry_cont {
  margin-top: 1em;
  padding-top: 1em;
  border-top: 1px dashed currentColor;
  letter-spacing: .04em;
  color: var(--mainColor);
  margin-bottom: 5em; }
  .bl_entry_cont p {
    margin-block: 1em; }
  .bl_entry_cont a {
    color: #0000ee;
    border-bottom: 1px solid currentColor; }
    .bl_entry_cont a:hover {
      opacity: 0.7; }

.bl_entry_cont__club {
  border-top: none; }

.bl_entry_header {
  letter-spacing: .04em;
  color: var(--mainColor); }

.bl_entry_header_date {
  font-size: var(--fz17);
  font-weight: 700; }

.bl_entry_header_ttl {
  font-size: max(20px, calc(31 / 16 * 1rem));
  font-weight: normal;
  line-height: 1.5; }

.bl_entry_header_ttl__club {
  border-top: 1px dashed currentColor;
  border-bottom: 1px dashed currentColor;
  font-weight: 700;
  color: #b699b6;
  padding-block: 0.6em;
  margin-bottom: 0.3em; }

.bl_entry_back {
  text-align: center;
  color: var(--mainColor); }
  .bl_entry_back a {
    display: inline-block;
    padding: 1em;
    line-height: 1;
    border: 1px solid currentColor; }
    .bl_entry_back a:hover {
      background-color: var(--mainColor);
      color: #fff; }

/*------------------------------
    archive
--------------------------------*/
.ac_nav {
  font-weight: 500;
  font-size: var(--fz20); }
  .ac_nav > ul {
    display: flex;
    justify-content: center;
    margin-bottom: 3em;
    gap: calc(50 / 16 * 1rem); }
    .ac_nav > ul > li {
      text-align: center; }
      @media screen and (min-width: 768px) {
        .ac_nav > ul > li {
          min-width: calc(208 / 16 * 1rem); } }
      .ac_nav > ul > li a {
        display: block;
        position: relative;
        padding: .5em;
        border-bottom: 7px solid #b699b6; }
        @media screen and (max-width: 767px) {
          .ac_nav > ul > li a {
            border-width: 5px; } }
        .ac_nav > ul > li a:hover {
          opacity: .7; }
      .ac_nav > ul > li.is_active a::after {
        clip-path: polygon(0 0, 50% 100%, 100% 0);
        position: absolute;
        bottom: -25px;
        left: 50%;
        transform: translateX(-50%);
        width: 30px;
        height: 25px;
        background-color: #b699b6;
        content: ""; }
        @media screen and (max-width: 767px) {
          .ac_nav > ul > li.is_active a::after {
            bottom: -15px;
            width: 20px;
            height: 15px; } }
      .ac_nav > ul > li:nth-child(2) a {
        border-color: #ff7b88; }
      .ac_nav > ul > li:nth-child(2).is_active a::after {
        background-color: #ff7b88; }
      .ac_nav > ul > li:nth-child(3) a {
        border-color: #48ccf1; }
      .ac_nav > ul > li:nth-child(3).is_active a::after {
        background-color: #48ccf1; }

.ac_nav_club {
  font-weight: 500;
  font-size: var(--fz20); }
  .ac_nav_club > ul {
    display: grid;
    justify-content: center;
    margin-bottom: 3em;
    gap: 1em;
    grid-template-columns: repeat(5, 1fr); }
    @media screen and (max-width: 767px) {
      .ac_nav_club > ul {
        display: flex;
        flex-wrap: wrap; } }
    .ac_nav_club > ul > li {
      text-align: center; }
      .ac_nav_club > ul > li a {
        display: block;
        position: relative;
        padding: .5em;
        border-bottom: 7px solid #b699b6; }
        .ac_nav_club > ul > li a:hover {
          opacity: .7; }
      .ac_nav_club > ul > li.is_active a::after {
        clip-path: polygon(0 0, 50% 100%, 100% 0);
        position: absolute;
        bottom: -25px;
        left: 50%;
        transform: translateX(-50%);
        width: 30px;
        height: 25px;
        background-color: #b699b6;
        content: ""; }
        @media screen and (max-width: 767px) {
          .ac_nav_club > ul > li.is_active a::after {
            bottom: -15px;
            width: 20px;
            height: 15px; } }
      .ac_nav_club > ul > li:nth-child(2) a {
        border-color: #48aff1; }
      .ac_nav_club > ul > li:nth-child(2).is_active a::after {
        background-color: #48aff1; }
      .ac_nav_club > ul > li:nth-child(3) a {
        border-color: #00ce57; }
      .ac_nav_club > ul > li:nth-child(3).is_active a::after {
        background-color: #00ce57; }
      .ac_nav_club > ul > li:nth-child(4) a {
        border-color: #ff7200; }
      .ac_nav_club > ul > li:nth-child(4).is_active a::after {
        background-color: #ff7200; }
      .ac_nav_club > ul > li:nth-child(5) a {
        border-color: #ff7b88; }
      .ac_nav_club > ul > li:nth-child(5).is_active a::after {
        background-color: #ff7b88; }

.ac_training_items {
  display: grid;
  padding: 0 2em;
  gap: 3em; }
  @media screen and (min-width: 768px) {
    .ac_training_items {
      grid-template-columns: repeat(3, 1fr); } }
  .ac_training_items .ac_training_item {
    box-shadow: 2px 2px 10px rgba(173, 106, 166, 0.5); }
  .ac_training_items .ac_training_item_cont dl {
    margin-bottom: 1em; }

.ac_club_items {
  display: grid;
  padding: 0 2em;
  gap: 3em; }
  @media screen and (min-width: 768px) {
    .ac_club_items {
      grid-template-columns: repeat(3, 1fr); } }

.ac_training_item_list {
  position: relative; }
  @media screen and (max-width: 767px) {
    .ac_training_item_list {
      margin-bottom: 3em; } }
  .ac_training_item_list .ac_training_item_cont dl {
    margin-bottom: 1em; }
  @media screen and (min-width: 768px) {
    .ac_training_item_list .swiper {
      padding: 20px; } }
  @media screen and (max-width: 767px) {
    .ac_training_item_list .swiper {
      padding-bottom: 20px; } }
  .ac_training_item_list .swiper-pagination {
    bottom: -1em; }
  .ac_training_item_list .swiper-pagination-bullet-active {
    background-color: var(--mainColor); }
  .ac_training_item_list.is_off .swiper-wrapper {
    justify-content: center;
    display: flex;
    gap: 66px;
    box-sizing: border-box; }
    @media screen and (max-width: 767px) {
      .ac_training_item_list.is_off .swiper-wrapper {
        flex-direction: column;
        padding: 0 50px; } }
    .ac_training_item_list.is_off .swiper-wrapper .swiper-slide {
      width: calc(287 / 16 * 1rem); }
      @media screen and (max-width: 767px) {
        .ac_training_item_list.is_off .swiper-wrapper .swiper-slide {
          width: 100%;
          max-width: 430px;
          margin-inline: auto; } }

.ac_training_item {
  border-radius: 30px;
  background-color: #fff;
  font-weight: 500;
  font-size: var(--fz17); }

.ac_training_item_header {
  padding: 1em;
  border-radius: 30px 30px 0 0;
  background-color: #b699b6;
  text-align: center; }
  .ac_training_item_header .ttl {
    display: grid;
    min-height: 2.6em;
    margin-bottom: .3em;
    color: #fff;
    font-weight: 700;
    font-size: max(22px, calc(30 / 16 * 1rem));
    line-height: 1.3;
    place-items: center; }

.ac_training_item_cont {
  display: flex;
  flex-direction: column;
  padding: 1em 2em;
  text-align: center; }
  .ac_training_item_cont .el_btn_s {
    min-width: 137px;
    margin: auto auto 0; }
    .ac_training_item_cont .el_btn_s a {
      background-color: #b699b6;
      font-size: var(--fz14); }
      .ac_training_item_cont .el_btn_s a::after {
        color: #b699b6; }

.ac_training_item__permanent .ac_training_item_header {
  background-color: #ff7b88; }
.ac_training_item__permanent .ac_training_item_cont .el_btn_s a {
  background-color: #ff7b88; }
  .ac_training_item__permanent .ac_training_item_cont .el_btn_s a::after {
    color: #ff7b88; }
  .ac_training_item__permanent .ac_training_item_cont .el_btn_s a:hover {
    background-color: #ff152c; }
    .ac_training_item__permanent .ac_training_item_cont .el_btn_s a:hover::after {
      color: #ff152c; }

.ac_training_item__extraordinary .ac_training_item_header {
  background-color: #48ccf1; }
.ac_training_item__extraordinary .ac_training_item_cont .el_btn_s a {
  background-color: #48ccf1; }
  .ac_training_item__extraordinary .ac_training_item_cont .el_btn_s a::after {
    color: #48ccf1; }
  .ac_training_item__extraordinary .ac_training_item_cont .el_btn_s a:hover {
    background-color: #0f9cc4; }
    .ac_training_item__extraordinary .ac_training_item_cont .el_btn_s a:hover::after {
      color: #0f9cc4; }

.ac_newsletter_item_list {
  display: grid;
  margin-top: 2em;
  gap: 1em; }
  @media screen and (min-width: 768px) {
    .ac_newsletter_item_list {
      grid-template-columns: repeat(3, 1fr); } }
  .ac_newsletter_item_list li {
    display: grid;
    padding: 1.5em;
    border-radius: 20px;
    background-color: #fff;
    gap: 0;
    grid-template-rows: subgrid;
    grid-row: span 3; }

.ac_newsletter_item {
  display: grid;
  flex-direction: column;
  text-align: center; }
  .ac_newsletter_item .thumb {
    display: grid;
    width: max(130px, calc(178 / 16 * 1rem));
    margin: 0 auto 1em;
    box-sizing: border-box;
    place-items: center; }
    .ac_newsletter_item .thumb img {
      width: 100%;
      padding: 2px;
      border: 1px solid #ccc; }
  .ac_newsletter_item .ttl {
    margin-bottom: 1em;
    color: var(--mainColor);
    font-weight: 500;
    font-weight: 700; }
  .ac_newsletter_item .btn {
    margin-top: auto; }
    .ac_newsletter_item .btn a {
      display: block;
      padding: 1em;
      border-radius: 5em;
      background-color: #ad6aa6;
      color: #fff;
      font-weight: 500;
      font-size: var(--fz18);
      line-height: 1; }
      .ac_newsletter_item .btn a:hover {
        background-color: #723f6d; }
    .ac_newsletter_item .btn .small {
      font-size: .7em; }

.ac_club_item_list {
  position: relative;
  margin-bottom: 4em; }
  .ac_club_item_list .swiper {
    padding-bottom: 30px; }
  .ac_club_item_list .swiper-pagination {
    bottom: -2em; }
  .ac_club_item_list .swiper-pagination-bullet-active {
    background-color: var(--mainColor); }
  .ac_club_item_list.is_off .swiper-wrapper {
    justify-content: center;
    display: flex;
    gap: 20px;
    box-sizing: border-box; }
    @media screen and (max-width: 767px) {
      .ac_club_item_list.is_off .swiper-wrapper {
        flex-direction: column;
        padding: 0 50px;
        gap: 50px; } }
    .ac_club_item_list.is_off .swiper-wrapper .swiper-slide {
      width: calc(305 / 16 * 1rem); }
      @media screen and (max-width: 767px) {
        .ac_club_item_list.is_off .swiper-wrapper .swiper-slide {
          width: 100%;
          max-width: 305px;
          margin-inline: auto; } }

.ac_club_item_cat {
  display: inline-block;
  clip-path: polygon(0 0, 90% 0%, 100% 100%, 0% 100%);
  padding: .5em 2em .5em 1em;
  border-radius: 10px 10px 0 0;
  background-color: #b699b6;
  color: #fff;
  font-weight: 700;
  font-size: var(--fz18);
  line-height: 1; }

.ac_club_item_cont {
  background-color: #b699b6;
  text-align: center; }
  .ac_club_item_cont .ttl {
    margin-bottom: .5em;
    padding: 0 1em;
    color: #fff; }
  .ac_club_item_cont .thumb {
    margin-bottom: 1em; }
    .ac_club_item_cont .thumb img {
      width: 100%;
      height: 177px;
      object-fit: cover; }
  .ac_club_item_cont .el_btn_s {
    position: relative;
    bottom: -15px;
    width: 137px;
    margin: auto auto 0; }
    .ac_club_item_cont .el_btn_s a {
      box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
      background-color: #fff;
      color: #b699b6;
      font-size: var(--fz14); }
      .ac_club_item_cont .el_btn_s a::after {
        color: #b699b6; }

.ac_club_item__reading .ac_club_item_cat {
  background-color: #48aff1; }
.ac_club_item__reading .ac_club_item_cont {
  background-color: #48aff1; }
  .ac_club_item__reading .ac_club_item_cont .el_btn_s a {
    color: #48aff1; }
    .ac_club_item__reading .ac_club_item_cont .el_btn_s a::after {
      color: #48aff1; }
.ac_club_item__reading .bl_entry_header_ttl__club {
  color: #48aff1; }

.ac_club_item__cutting .ac_club_item_cat {
  background-color: #00ce57; }
.ac_club_item__cutting .ac_club_item_cont {
  background-color: #00ce57; }
  .ac_club_item__cutting .ac_club_item_cont .el_btn_s a {
    color: #00ce57; }
    .ac_club_item__cutting .ac_club_item_cont .el_btn_s a::after {
      color: #00ce57; }
.ac_club_item__cutting .bl_entry_header_ttl__club {
  color: #00ce57; }

.ac_club_item__walking .ac_club_item_cat {
  background-color: #ff7200; }
.ac_club_item__walking .ac_club_item_cont {
  background-color: #ff7200; }
  .ac_club_item__walking .ac_club_item_cont .el_btn_s a {
    color: #ff7200; }
    .ac_club_item__walking .ac_club_item_cont .el_btn_s a::after {
      color: #ff7200; }
.ac_club_item__walking .bl_entry_header_ttl__club {
  color: #ff7200; }

.ac_club_item__cafe .ac_club_item_cat {
  background-color: #ff7b88; }
.ac_club_item__cafe .ac_club_item_cont {
  background-color: #ff7b88; }
  .ac_club_item__cafe .ac_club_item_cont .el_btn_s a {
    color: #ff7b88; }
    .ac_club_item__cafe .ac_club_item_cont .el_btn_s a::after {
      color: #ff7b88; }
.ac_club_item__cafe .bl_entry_header_ttl__club {
  color: #ff7b88; }

/*------------------------------
    pages
--------------------------------*/
.top_fv {
  position: relative; }
  .top_fv .swiper {
    width: 100%;
    height: calc(100vh - calc(198 / 16 * 1rem)); }
    @media screen and (min-width: 768px) {
      .top_fv .swiper {
        min-height: calc(750px - calc(198 / 16 * 1rem)); } }
    @media screen and (max-width: 767px) {
      .top_fv .swiper {
        height: calc(100dvh - 70px); } }
  .top_fv .swiper-slide {
    background-size: cover;
    background-repeat: no-repeat; }

.top_fv_slider_img {
  background-image: url("../img/top/slider_pic.jpg");
  background-image: image-set(url("../img/top/slider_pic.jpg") 1x, url("../img/top/slider_pic@2x.jpg") 2x);
  background-position: top center; }
  @media screen and (max-width: 767px) {
    .top_fv_slider_img {
      background-image: url("../img/top/slider_pic-sp.jpg");
      background-image: image-set(url("../img/top/slider_pic-sp.jpg") 1x, url("../img/top/slider_pic-sp@2x.jpg") 2x); } }
  @media screen and (max-width: 430px) {
    .top_fv_slider_img {
      background-image: url("../img/top/slider_pic-sp.jpg"); } }

.top_fv_slider_img2 {
  background-image: url("../img/top/slider_pic2.jpg");
  background-image: image-set(url("../img/top/slider_pic2.jpg") 1x, url("../img/top/slider_pic2@2x.jpg") 2x);
  background-position: top center; }
  @media screen and (max-width: 767px) {
    .top_fv_slider_img2 {
      background-image: url("../img/top/slider_pic2-sp.jpg");
      background-image: image-set(url("../img/top/slider_pic2-sp.jpg") 1x, url("../img/top/slider_pic2-sp@2x.jpg") 2x); } }
  @media screen and (max-width: 430px) {
    .top_fv_slider_img2 {
      background-image: url("../img/top/slider_pic2-sp.jpg"); } }

.top_fv_slider_img3 {
  background-image: url("../img/top/slider_pic3.jpg");
  background-image: image-set(url("../img/top/slider_pic3.jpg") 1x, url("../img/top/slider_pic3@2x.jpg") 2x);
  background-position: center; }
  @media screen and (max-width: 767px) {
    .top_fv_slider_img3 {
      background-image: url("../img/top/slider_pic3-sp.jpg");
      background-image: image-set(url("../img/top/slider_pic3-sp.jpg") 1x, url("../img/top/slider_pic3-sp@2x.jpg") 2x); } }
  @media screen and (max-width: 430px) {
    .top_fv_slider_img3 {
      background-image: url("../img/top/slider_pic3-sp.jpg"); } }

.top_fv_ttl {
  position: absolute;
  top: 3rem;
  left: 3rem;
  z-index: 2;
  filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, 0.3)) drop-shadow(-2px -2px 5px rgba(0, 0, 0, 0.3)) drop-shadow(2px -2px 5px rgba(0, 0, 0, 0.3)) drop-shadow(-2px 2px 5px rgba(0, 0, 0, 0.3)); }
  @media screen and (max-width: 767px) {
    .top_fv_ttl {
      top: 227px; } }
  .top_fv_ttl img {
    width: calc(344 / 16 * 1rem);
    aspect-ratio: 344 / 197; }
    @media screen and (max-width: 767px) {
      .top_fv_ttl img {
        width: 206px; } }

.top_fv_ticker {
  display: flex;
  align-items: center;
  position: absolute;
  bottom: 2em;
  left: 50%;
  z-index: 2;
  transform: translateX(-50%);
  width: calc(756 / 16 * 1rem);
  height: calc(80 / 16 * 1rem);
  padding: 0 1rem;
  border: 3px solid currentColor;
  border-radius: 40px;
  box-sizing: border-box;
  background-color: #fff;
  color: var(--mainColor);
  font-weight: 700;
  font-size: var(--fz20);
  gap: 1rem; }
  @media screen and (max-width: 767px) {
    .top_fv_ticker {
      width: 320px;
      height: 70px;
      padding: 0 1em; } }
  .top_fv_ticker::before {
    width: calc(147 / 16 * 1rem);
    height: calc(46 / 16 * 1rem);
    border-radius: 30px;
    background-image: url("../img/top/topic_ttl.svg");
    background-position: center;
    background-size: 70%;
    background-repeat: no-repeat;
    background-color: var(--subColor);
    content: ""; }
    @media screen and (max-width: 767px) {
      .top_fv_ticker::before {
        position: absolute;
        top: -15px;
        left: 50%;
        transform: translateX(-50%);
        width: 70px;
        height: 24px; } }
  .top_fv_ticker .ticker {
    align-self: center;
    border: none;
    background-color: transparent; }
    .top_fv_ticker .ticker li {
      line-height: 1.3; }
      @media screen and (min-width: 768px) {
        .top_fv_ticker .ticker li {
          overflow: hidden;
          white-space: nowrap;
          text-overflow: ellipsis; } }
      @media screen and (max-width: 767px) {
        .top_fv_ticker .ticker li {
          line-height: 1.3; } }
      @media screen and (max-width: 767px) {
        .top_fv_ticker .ticker li a {
          display: grid;
          display: block;
          height: 2.8em;
          overflow: hidden;
          place-items: center; } }
      .top_fv_ticker .ticker li a:hover {
        opacity: .7; }

.top_info_outer {
  position: relative;
  padding: calc(70 / 16 * 1rem) 0 calc(210 / 16 * 1rem);
  background-color: #ebe4b9; }
  @media screen and (max-width: 767px) {
    .top_info_outer {
      padding: 65px 0 130px; } }
  .top_info_outer::after {
    position: absolute;
    bottom: 0;
    left: calc(250 / 16 * 1rem);
    width: calc(310 / 16 * 1rem);
    aspect-ratio: 310 / 134;
    background-image: url("../img/common/illust_town.svg");
    background-size: cover;
    content: ""; }
    @media screen and (max-width: 767px) {
      .top_info_outer::after {
        left: -17px;
        width: 220px; } }

.top_info {
  display: grid;
  gap: 2.5rem; }
  @media screen and (min-width: 768px) {
    .top_info {
      grid-template-columns: calc(202 / 16 * 1rem) 1fr; } }

.top_info_btns {
  margin-bottom: calc(118 / 16 * 1rem); }
  @media screen and (max-width: 767px) {
    .top_info_btns {
      margin-bottom: 102px; } }
  .top_info_btns > ul {
    display: grid;
    justify-content: center;
    gap: 1rem; }
    @media screen and (min-width: 768px) {
      .top_info_btns > ul {
        grid-template-columns: repeat(3, 1fr); } }
    @media screen and (max-width: 767px) {
      .top_info_btns > ul {
        gap: 42px; } }

@media screen and (max-width: 767px) {
  .top_info_nav {
    display: none; } }

.top_info_btn {
  color: var(--mainColor); }
  .top_info_btn a {
    display: grid;
    align-items: center;
    position: relative;
    padding: calc(75 / 16 * 1rem) 0 calc(100 / 16 * 1rem);
    border: 5px solid #fff;
    border-radius: 40px;
    box-shadow: 3px 3px 6px rgba(209, 175, 94, 0.5);
    background-color: #f4e96f;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .top_info_btn a {
        padding: 40px 0 50px;
        border-radius: 26px; } }
    .top_info_btn a::before {
      position: absolute;
      top: calc(-48 / 16 * 1rem);
      left: 50%;
      transform: translateX(-50%);
      width: calc(156 / 16 * 1rem);
      aspect-ratio: 156 / 125;
      background-image: url("../img/top/illust.svg");
      background-size: cover;
      content: ""; }
      @media screen and (max-width: 767px) {
        .top_info_btn a::before {
          top: -55px;
          width: 120px; } }
    .top_info_btn a::after {
      display: block;
      position: absolute;
      bottom: 2rem;
      left: 50%;
      transform: translateX(-50%);
      width: max(25px, calc(47 / 16 * 1rem));
      aspect-ratio: 1 / 1;
      border-radius: 50%;
      background-image: url("../img/common/shape_arrow.svg");
      background-position: center;
      background-size: 25%;
      background-repeat: no-repeat;
      background-color: #fff;
      content: ""; }
    .top_info_btn a:hover {
      background-color: #ebd912; }
  .top_info_btn dl {
    position: relative;
    z-index: 1;
    font-weight: 700;
    line-height: 1.2; }
    .top_info_btn dl dt {
      margin: 0 -8px 1.6rem;
      padding: .5em .5rem;
      box-shadow: 3px 3px 6px rgba(35, 24, 21, 0.15);
      background-color: #fff;
      font-size: var(--fz18); }
    .top_info_btn dl dd {
      font-size: max(19px, calc(31 / 16 * 1rem)); }
      @media screen and (max-width: 767px) {
        .top_info_btn dl dd {
          padding: 0 1em; } }

.top_info_btn__order {
  color: #4e844a; }
  .top_info_btn__order a {
    background-color: #a4e998; }
    .top_info_btn__order a::before {
      width: calc(103 / 16 * 1rem);
      aspect-ratio: 103 / 123;
      background-image: url("../img/top/illust2.svg");
      content: ""; }
      @media screen and (max-width: 767px) {
        .top_info_btn__order a::before {
          width: 83px; } }
    .top_info_btn__order a::after {
      background-image: url("../img/common/shape_arrow_5b8c57.svg"); }
    .top_info_btn__order a:hover {
      background-color: #5ad744; }

.top_info_btn__member {
  color: #a05398; }
  .top_info_btn__member a {
    background-color: #f2d7f7; }
    .top_info_btn__member a::before {
      top: calc(-65 / 16 * 1rem);
      width: calc(92 / 16 * 1rem);
      aspect-ratio: 92 / 130;
      background-image: url("../img/top/illust3.svg");
      content: ""; }
      @media screen and (max-width: 767px) {
        .top_info_btn__member a::before {
          top: -50px;
          z-index: 2;
          transform: rotate(10deg);
          width: 66px;
          transform-origin: 50% -100%; } }
    .top_info_btn__member a::after {
      background-image: url("../img/common/shape_arrow_b2864c.svg"); }
    .top_info_btn__member a:hover {
      background-color: #d682e6; }

.top_topics {
  position: relative;
  padding: 1.5em 0;
  border-radius: 40px;
  box-shadow: 3px 3px 6px rgba(209, 175, 94, 0.5);
  background-color: #fff; }
  @media screen and (max-width: 767px) {
    .top_topics {
      max-width: 400px;
      margin: 0 auto;
      padding-bottom: 65px;
      border-radius: 26px; } }
  .top_topics::before {
    position: absolute;
    top: calc(-70 / 16 * 1rem);
    left: 2rem;
    width: calc(142 / 16 * 1rem);
    aspect-ratio: 142 / 79;
    background-image: url("../img/top/topics_ttl.svg");
    background-size: cover;
    background-repeat: no-repeat;
    content: ""; }
    @media screen and (max-width: 767px) {
      .top_topics::before {
        top: -55px;
        left: 50%;
        transform: translateX(-50%);
        width: 120px; } }
  .top_topics > ul {
    color: var(--mainColor);
    font-size: var(--fz19);
    letter-spacing: .04em; }
    .top_topics > ul > li {
      display: flex;
      padding: 1em 2em; }
      @media screen and (max-width: 767px) {
        .top_topics > ul > li {
          flex-direction: column; } }
      .top_topics > ul > li span {
        width: max(120px, calc(150 / 16 * 1rem));
        font-weight: 700;
        font-size: .9em;
        flex-shrink: 0; }
      .top_topics > ul > li a:hover {
        font-weight: 700; }
      .top_topics > ul > li + li {
        border-top: 1px dashed currentColor; }

.top_topics_btn {
  position: absolute;
  right: 2rem;
  bottom: calc(-18 / 16 * 1rem); }
  @media screen and (max-width: 767px) {
    .top_topics_btn {
      right: auto;
      bottom: 1em;
      left: 50%;
      transform: translateX(-50%); } }
  .top_topics_btn a {
    display: inline-block;
    display: flex;
    align-items: center;
    padding-left: 1.5em;
    border-radius: 50px;
    background-color: #c69c6d;
    color: #fff;
    font-weight: 700;
    line-height: 1;
    gap: .6em; }
    .top_topics_btn a::after {
      display: block;
      width: calc(35 / 16 * 1rem);
      aspect-ratio: 1 / 1;
      margin: 3px;
      border-radius: 50%;
      background-image: url("../img/common/shape_arrow.svg");
      background-position: center;
      background-size: 25%;
      background-repeat: no-repeat;
      background-color: #fff;
      content: ""; }
      @media screen and (max-width: 767px) {
        .top_topics_btn a::after {
          width: 30px; } }
    .top_topics_btn a:hover {
      background-color: var(--mainColor); }

.top_about {
  padding: calc(95 / 16 * 1rem) 0 calc(250 / 16 * 1rem); }
  @media screen and (max-width: 767px) {
    .top_about {
      padding: 0 0 160px; } }

.top_about_wrap {
  display: flex;
  justify-content: center;
  gap: 3rem; }
  @media screen and (max-width: 767px) {
    .top_about_wrap {
      flex-direction: column; } }

.top_about_copy {
  padding: calc(35 / 16 * 1rem) calc(50 / 16 * 1rem);
  box-sizing: border-box;
  background-color: #ffd600;
  font-size: var(--fz20); }
  @media screen and (min-width: 768px) {
    .top_about_copy {
      width: calc(513 / 16 * 1rem);
      border: 3px solid var(--mainColor);
      border-radius: 35px; } }
  @media screen and (max-width: 767px) {
    .top_about_copy {
      padding: 80px 0;
      text-align: center; } }

@media screen and (max-width: 767px) {
  .top_about_copy_wrap {
    display: inline-block;
    margin: 0 auto;
    text-align: left; } }

.top_about_copy_ttl {
  margin-bottom: 1rem;
  color: var(--mainColor);
  font-weight: 700;
  font-size: var(--fz18); }

.top_about_copy_text {
  margin-bottom: 1rem;
  color: #fff;
  font-weight: 900;
  font-size: max(37px, calc(55 / 16 * 1rem));
  line-height: 1.2;
  letter-spacing: .04em;
  -webkit-text-stroke: 2px var(--mainColor); }

@media screen and (max-width: 767px) {
  .top_about_phil {
    margin-top: -40px;
    text-align: center; } }

.top_about_phil_ttl {
  margin-bottom: 3.5rem;
  padding: 3rem 1em;
  border-radius: 100px;
  background-color: var(--mainColor);
  color: #fff;
  font-weight: 700;
  font-size: max(23px, calc(33 / 16 * 1rem));
  letter-spacing: .1em;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .top_about_phil_ttl {
      display: inline-block; } }

.top_about_phil_text {
  color: var(--mainColor);
  font-weight: 500;
  font-size: max(16px, calc(22 / 16 * 1rem));
  line-height: 2.1;
  text-align: center; }

.top_office {
  position: relative;
  padding-top: calc(80 / 16 * 1rem);
  background-color: #ebe4b9; }
  @media screen and (max-width: 767px) {
    .top_office {
      padding-top: 50px; } }
  .top_office::before {
    position: absolute;
    top: calc(-100 / 16 * 1rem);
    width: 100%;
    height: calc(100 / 16 * 1rem);
    background-image: url("../img/top/bg_office.svg");
    background-position: top center;
    background-size: auto calc(105 / 16 * 1rem);
    background-repeat: repeat-x;
    content: ""; }
  .top_office::after {
    position: absolute;
    top: calc(-200 / 16 * 1rem);
    left: 50%;
    transform: translateX(-50%);
    width: calc(417 / 16 * 1rem);
    aspect-ratio: 417 / 151;
    background-image: url("../img/common/illust_town2.svg");
    background-size: cover;
    content: ""; }
    @media screen and (max-width: 767px) {
      .top_office::after {
        top: -100px;
        right: 0;
        left: auto;
        transform: none;
        width: 247px; } }

.top_office_ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--mainColor);
  font-weight: 700;
  font-size: max(23px, calc(45 / 16 * 1rem));
  letter-spacing: .04em;
  text-align: center;
  gap: 1em; }
  @media screen and (max-width: 767px) {
    .top_office_ttl {
      margin-bottom: 60px;
      gap: .2em; } }
  .top_office_ttl::before, .top_office_ttl::after {
    color: #fff;
    font-size: .5em;
    content: "●"; }

.top_office_items {
  display: grid;
  position: relative;
  top: calc(100 / 16 * 1rem);
  gap: calc(50 / 16 * 1rem); }
  @media screen and (min-width: 768px) {
    .top_office_items {
      grid-template-columns: repeat(2, 1fr); } }
  @media screen and (max-width: 767px) {
    .top_office_items {
      top: 155px;
      margin-top: -155px;
      gap: 40px; }
      .top_office_items li:nth-child(odd) .top_office_item_ttl {
        right: calc(-45 / 16 * 1rem);
        left: auto; }
      .top_office_items li:nth-child(odd) .top_office_item_area {
        padding-left: 0; } }

.top_office_item {
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 2rem;
  border-radius: 36px;
  box-sizing: border-box;
  box-shadow: 0 0 5px rgba(35, 24, 21, 0.2);
  background-color: #fff;
  font-size: var(--fz20);
  line-height: 1.3;
  gap: .6rem; }
  @media screen and (min-width: 768px) {
    .top_office_item {
      height: calc(350 / 16 * 1rem); } }
  @media screen and (max-width: 767px) {
    .top_office_item {
      max-width: 400px;
      margin: 0 auto;
      padding: 1.5em;
      border-radius: 26px; } }

.top_office_item_ttl {
  display: grid;
  position: absolute;
  top: -1.5rem;
  left: calc(-45 / 16 * 1rem);
  width: calc(106 / 16 * 1rem);
  height: calc(106 / 16 * 1rem);
  border: 5px solid #fff;
  border-radius: 50%;
  background-color: var(--mainColor);
  color: #fff;
  font-weight: 500;
  font-size: max(13px, calc(22 / 16 * 1rem));
  line-height: 1.3;
  text-align: center;
  place-items: center; }
  @media screen and (max-width: 767px) {
    .top_office_item_ttl {
      top: -30px;
      width: 65px;
      height: 65px;
      border-width: 3px; } }

.top_office_item_area {
  margin-bottom: 1rem;
  padding-left: 3rem;
  color: var(--mainColor);
  font-weight: 700;
  font-size: max(20px, calc(32 / 16 * 1rem));
  line-height: 1; }
  @media screen and (max-width: 767px) {
    .top_office_item_area {
      margin-bottom: .6em;
      padding-left: 35px; } }
  .top_office_item_area span {
    font-size: .7em; }

.top_office_item_btn {
  margin-top: auto;
  color: #fff;
  font-weight: 700;
  font-size: calc(16 / 16 * 1rem); }
  @media screen and (max-width: 767px) {
    .top_office_item_btn {
      font-size: 10px; } }
  .top_office_item_btn a {
    display: block;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: calc(180 / 16 * 1rem);
    padding: .6em 1em;
    border-radius: 16px;
    box-sizing: border-box;
    background-color: #c69c6d;
    line-height: 1.3; }
    @media screen and (max-width: 767px) {
      .top_office_item_btn a {
        width: 115px;
        margin-top: 2em;
        border-radius: 10px; } }
    .top_office_item_btn a::after {
      display: block;
      width: calc(27 / 16 * 1rem);
      aspect-ratio: 1 / 1;
      border-radius: 50%;
      background-image: url("../img/common/shape_arrow.svg");
      background-position: center;
      background-size: 25%;
      background-repeat: no-repeat;
      background-color: #fff;
      content: ""; }
      @media screen and (max-width: 767px) {
        .top_office_item_btn a::after {
          width: 17px; } }
    .top_office_item_btn a:hover {
      background-color: var(--mainColor); }

.top_office_item_thumb {
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  width: calc(205 / 16 * 1rem);
  aspect-ratio: 205 / 140; }
  @media screen and (max-width: 767px) {
    .top_office_item_thumb {
      right: 1.5em;
      bottom: 1.5em;
      width: 134px; } }

.top_view {
  position: sticky;
  top: 0;
  z-index: -1;
  width: 100%;
  height: calc(634 / 16 * 1rem);
  background-image: url("../img/top/view_bg.jpg");
  background-image: image-set(url("../img/top/view_bg.jpg") 1x, url("../img/top/view_bg@2x.jpg") 2x);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat; }
  @media screen and (max-width: 767px) {
    .top_view {
      height: 510px;
      background-image: url("../img/top/view_bg-sp.jpg");
      background-image: image-set(url("../img/top/view_bg-sp.jpg") 1x, url("../img/top/view_bg-sp@2x.jpg") 2x); } }
  @media screen and (max-width: 430px) {
    .top_view {
      background-image: url("../img/top/view_bg-sp.jpg"); } }

/* page about */
.about_center_sec {
  padding-bottom: max(100px, calc(140 / 16 * 1rem)); }

.about_office_sec {
  position: relative;
  background-color: #ffd2a6; }
  .about_office_sec::before, .about_office_sec::after {
    position: absolute;
    left: 0;
    width: 100%;
    background-position: center;
    background-size: cover;
    content: ""; }
  .about_office_sec::before {
    top: -40px;
    z-index: 1;
    height: 40px;
    background-image: url("../img/about/office_bg_top.svg"); }
    @media screen and (max-width: 767px) {
      .about_office_sec::before {
        top: -20px;
        height: 20px; } }
  .about_office_sec::after {
    bottom: -45px;
    z-index: 1;
    height: 45px;
    background-image: url("../img/about/office_bg_bottom.svg"); }
    @media screen and (max-width: 767px) {
      .about_office_sec::after {
        bottom: -25px;
        height: 25px; } }

.about_center {
  padding: 50px;
  border-radius: 30px;
  box-shadow: inset 5px 5px 8px rgba(0, 0, 0, 0.2), inset -5px -5px 8px rgba(0, 0, 0, 0.2);
  background-color: #fff;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .about_center {
      padding: 30px 30px; } }
  .about_center .el_sec_ttl2 {
    background-color: #f47547;
    color: #fff; }

.about_center_lead {
  margin-bottom: 2em;
  font-weight: 500;
  font-size: max(14px, calc(26 / 16 * 1rem)); }
  .about_center_lead span {
    color: #2391c7;
    font-weight: 700;
    font-size: 1.3em; }

.about_office_items .bl_office_item {
  margin-top: 4.6em; }
  @media screen and (max-width: 767px) {
    .about_office_items .bl_office_item {
      padding: 3.6em 2.6em 182px; } }
  .about_office_items .bl_office_item .ttl {
    box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
    background-color: #f47547; }
    @media screen and (max-width: 767px) {
      .about_office_items .bl_office_item .ttl {
        top: -35px;
        left: 50%;
        transform: translateX(-50%); } }
  .about_office_items .bl_office_item .map {
    position: absolute;
    top: 0;
    right: 0;
    width: 63%;
    height: 100%; }
    @media screen and (max-width: 767px) {
      .about_office_items .bl_office_item .map {
        top: auto;
        right: auto;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 162px; } }
    .about_office_items .bl_office_item .map iframe {
      width: 100%;
      height: 100%;
      border-radius: 0 36px 36px 0; }
      @media screen and (max-width: 767px) {
        .about_office_items .bl_office_item .map iframe {
          border-radius: 0 0 26px 26px; } }
  .about_office_items .bl_office_item + .bl_office_item {
    margin-top: 4em; }
    @media screen and (max-width: 767px) {
      .about_office_items .bl_office_item + .bl_office_item {
        margin-top: 5em; } }

.about_report_list {
  display: grid;
  position: relative;
  margin-bottom: 3em;
  padding: 1em .5em;
  background-color: #f6ee8f;
  font-size: var(--fz17); }
  @media screen and (min-width: 768px) {
    .about_report_list {
      grid-template-columns: repeat(3, 1fr); }
      .about_report_list::before, .about_report_list::after {
        position: absolute;
        top: 0;
        left: 33.5%;
        height: 100%;
        border-left: 2px dashed #fff;
        content: ""; }
      .about_report_list::after {
        left: 66.5%;
        border-left: 2px dashed #fff; } }
  .about_report_list li {
    padding: .6em 1em;
    line-height: 1.3; }
    .about_report_list li a {
      display: flex;
      align-items: center;
      gap: 5px; }
      .about_report_list li a::before {
        flex-shrink: 0;
        width: max(13px, calc(22 / 16 * 1rem));
        height: max(14px, calc(24 / 16 * 1rem));
        background-image: url("../img/common/icon_pdf.svg");
        background-size: cover;
        content: ""; }

.about_report_list2 {
  display: grid;
  gap: 5px; }
  @media screen and (max-width: 767px) {
    .about_report_list2 {
      grid-template-columns: repeat(3, 1fr); } }
  .about_report_list2 dl {
    display: grid;
    gap: 5px; }
    @media screen and (min-width: 768px) {
      .about_report_list2 dl {
        grid-template-columns: repeat(5, 1fr); } }
    .about_report_list2 dl dt,
    .about_report_list2 dl dd {
      display: grid;
      height: max(31px, calc(50 / 16 * 1rem));
      place-items: center; }
      @media screen and (max-width: 767px) {
        .about_report_list2 dl dt,
        .about_report_list2 dl dd {
          padding: .5em; } }
    .about_report_list2 dl dt {
      background-color: #f47547;
      color: #fff;
      font-size: var(--fz18); }
    .about_report_list2 dl dd {
      background-color: #fff;
      font-size: max(12px, 1rem); }
      .about_report_list2 dl dd a {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 5px; }
        .about_report_list2 dl dd a::before {
          width: max(13px, calc(22 / 16 * 1rem));
          height: max(14px, calc(24 / 16 * 1rem));
          background-image: url("../img/common/icon_pdf.svg");
          background-size: cover;
          content: ""; }

.about_related_list {
  position: relative;
  max-width: 800px;
  margin: 0 auto;
  padding: 1em;
  color: var(--mainColor);
  font-weight: 500;
  font-size: var(--fz17); }
  @media screen and (min-width: 768px) {
    .about_related_list {
      column-count: 2; } }
  .about_related_list li {
    text-align: center; }
    .about_related_list li + li {
      margin-top: 1em; }
    .about_related_list li a {
      position: relative;
      padding: .3em; }
      .about_related_list li a::after {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: currentColor;
        content: ""; }

/* page will */
.will_merit_sec {
  padding-bottom: 0; }

.will_merit_outer {
  position: relative;
  padding: max(60px, calc(100 / 16 * 1rem)) 0 0;
  background-color: #ebe4b9; }
  @media screen and (max-width: 767px) {
    .will_merit_outer {
      padding-top: 0; } }
  .will_merit_outer::before, .will_merit_outer::after {
    position: absolute;
    left: 0;
    width: 100%;
    height: 45px;
    background-position: center;
    background-size: cover;
    content: ""; }
  .will_merit_outer::before {
    top: -45px;
    z-index: 1;
    background-image: url("../img/will/merit_bg_top.svg"); }
    @media screen and (max-width: 767px) {
      .will_merit_outer::before {
        top: -20px;
        height: 20px; } }
  .will_merit_outer::after {
    bottom: -45px;
    z-index: 1;
    background-image: url("../img/will/merit_bg_bottom.svg"); }
    @media screen and (max-width: 767px) {
      .will_merit_outer::after {
        display: none; } }

.will_merit_ttl {
  position: relative;
  margin-bottom: 1em;
  color: #996e00;
  font-size: max(20px, calc(31 / 16 * 1rem));
  line-height: 1.3;
  text-align: center; }
  .will_merit_ttl span {
    display: inline-block;
    position: relative;
    z-index: 1;
    padding: .1em 2em;
    border: 5px solid currentColor;
    border-radius: 1em;
    background-color: #fff; }
    @media screen and (max-width: 767px) {
      .will_merit_ttl span {
        display: grid;
        position: absolute;
        top: -40px;
        right: 20px;
        width: 156px;
        height: 156px;
        padding: 0;
        border-radius: 50%;
        place-items: center; } }
  @media screen and (min-width: 768px) {
    .will_merit_ttl::before {
      position: absolute;
      top: 50%;
      left: 0;
      width: 100%;
      border-bottom: 5px dotted currentColor;
      content: ""; } }

.will_merit_img {
  margin-bottom: 3rem;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .will_merit_img {
      position: relative;
      bottom: -50px;
      z-index: 3;
      margin-top: -50px; } }

.will_member_require {
  position: relative;
  z-index: 2;
  padding: 2em 2em 3em;
  box-sizing: border-box;
  background-color: #fff13b;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .will_member_require {
      bottom: -190px;
      max-width: calc(685 / 16 * 1rem);
      margin: -190px auto 190px;
      border-radius: 60px;
      box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3); } }
  @media screen and (max-width: 767px) {
    .will_member_require {
      padding: 5em 0 120px; } }
  .will_member_require::after {
    position: absolute;
    bottom: calc(-50 / 16 * 1rem);
    left: calc(-220 / 16 * 1rem);
    width: calc(310 / 16 * 1rem);
    aspect-ratio: 310 / 134;
    background-image: url("../img/common/illust_town.svg");
    background-size: cover;
    content: ""; }
    @media screen and (max-width: 767px) {
      .will_member_require::after {
        right: 20px;
        left: auto;
        width: 220px; } }
  .will_member_require .inner {
    display: inline-block; }
  .will_member_require .el_sec_ttl2 {
    margin-bottom: 1.3em;
    background-color: #996e00;
    color: #fff; }
  .will_member_require ul {
    color: var(--mainColor);
    font-weight: 500;
    font-size: max(16px, calc(25 / 16 * 1rem));
    line-height: 1.5;
    text-align: left; }
    .will_member_require ul li {
      display: flex;
      position: relative;
      gap: 1em; }
      .will_member_require ul li + li {
        margin-top: 1em; }
      .will_member_require ul li::before {
        display: inline-block;
        width: max(30px, calc(45 / 16 * 1rem));
        height: max(30px, calc(45 / 16 * 1rem));
        margin-top: -5px;
        border-radius: 50%;
        background-color: #fff;
        content: ""; }
      .will_member_require ul li::after {
        position: absolute;
        top: -.3em;
        left: max(5px, calc(10 / 16 * 1rem));
        font-size: 1.2em;
        font-family: "icon";
        content: "\e902"; }

.will_printing_outer {
  padding: max(60px, calc(100 / 16 * 1rem)) 0 max(60px, calc(130 / 16 * 1rem)); }

.will_video_outer {
  position: relative;
  padding: max(60px, calc(100 / 16 * 1rem)) 0;
  background-color: #f5f1dc; }
  @media screen and (max-width: 767px) {
    .will_video_outer {
      margin-bottom: 50px;
      padding-bottom: 100px; } }
  .will_video_outer::after {
    position: absolute;
    top: calc(-140 / 16 * 1rem);
    right: 0;
    width: calc(417 / 16 * 1rem);
    aspect-ratio: 417 / 151;
    background-image: url("../img/common/illust_town2.svg");
    background-size: cover;
    content: ""; }
    @media screen and (max-width: 767px) {
      .will_video_outer::after {
        top: auto;
        right: auto;
        bottom: -50px;
        left: -50px;
        width: 321px; } }

.will_flow_list {
  margin: 4em 0;
  gap: max(40px, calc(50 / 16 * 1rem)); }
  @media screen and (max-width: 767px) {
    .will_flow_list {
      max-width: 260px;
      margin: 4em auto; } }
  .will_flow_list > li {
    row-gap: 0;
    grid-row: span 3; }
    @media screen and (max-width: 767px) {
      .will_flow_list > li {
        row-gap: 1em; } }
  @media screen and (min-width: 768px) {
    .will_flow_list .ttl {
      margin-bottom: .5em; } }
  .will_flow_list .el_btn_s {
    align-self: end;
    padding: 0 max(16px, calc(26 / 16 * 1rem));
    line-height: 2; }
    @media screen and (max-width: 767px) {
      .will_flow_list .el_btn_s {
        width: 70%;
        margin: 0 auto; } }

.will_flow_required_item {
  color: var(--mainColor);
  text-align: center; }
  .will_flow_required_item .inner {
    display: inline-block; }
  .will_flow_required_item .ttl {
    margin-bottom: 1em;
    padding-bottom: 1em;
    border-bottom: 1px solid currentColor;
    font-size: max(17px, calc(22 / 16 * 1rem));
    line-height: 1; }
  .will_flow_required_item ul {
    margin-bottom: .5em;
    padding: 0 1em;
    font-size: var(--fz20); }
    @media screen and (min-width: 768px) {
      .will_flow_required_item ul {
        display: flex;
        justify-content: center;
        gap: 2em; } }
    @media screen and (max-width: 767px) {
      .will_flow_required_item ul {
        display: inline-block;
        text-align: left; } }
    @media screen and (max-width: 767px) {
      .will_flow_required_item ul + p {
        font-size: .9em; } }

.will_workflow_sec {
  padding-bottom: 0;
  background-image: url("../img/common/bg_dot bg_dot__yellow.svg");
  background-size: 29px auto; }

.will_workflow_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 5em auto 0;
  counter-reset: number 0;
  gap: max(30px, calc(50 / 16 * 1rem)); }
  @media screen and (max-width: 767px) {
    .will_workflow_list {
      flex-direction: column;
      max-width: 250px;
      margin: 2em auto 0; } }
  .will_workflow_list > li {
    width: calc((100% - calc(100 / 16 * 1rem)) / 3);
    counter-increment: number 1; }
    @media screen and (max-width: 767px) {
      .will_workflow_list > li {
        width: 100%; } }
    .will_workflow_list > li figure {
      margin-bottom: 1em;
      text-align: center; }
      @media screen and (min-width: 768px) {
        .will_workflow_list > li figure {
          display: grid;
          align-items: end;
          min-height: calc(275 / 16 * 1rem); } }
    .will_workflow_list > li .ttl {
      display: flex;
      order: 1;
      margin-bottom: .5em;
      color: var(--mainColor);
      font-weight: 700;
      font-size: max(20px, calc(31 / 16 * 1rem));
      line-height: 1.2;
      gap: 5px; }
      .will_workflow_list > li .ttl::before {
        display: grid;
        justify-content: center;
        width: max(28px, calc(44 / 16 * 1rem));
        height: max(28px, calc(44 / 16 * 1rem));
        border-radius: 50%;
        background-color: #996e00;
        color: #fff;
        content: counter(number); }
    .will_workflow_list > li p {
      font-size: var(--fz20);
      line-height: 1.5;
      text-align: justify; }

.will_workflow_footer {
  padding: calc(70 / 16 * 1rem) 0 calc(100 / 16 * 1rem); }
  @media screen and (max-width: 767px) {
    .will_workflow_footer {
      padding: 60px 0; } }
  @media screen and (max-width: 767px) {
    .will_workflow_footer {
      margin-top: 60px;
      background-color: #fff; } }
  .will_workflow_footer .el_textlink {
    margin-bottom: 5em; }
  .will_workflow_footer .el_btn + .el_btn {
    margin-top: 1.6em; }

.will_guidebook {
  position: relative;
  margin-top: calc(80 / 16 * 1rem);
  text-align: center; }
  @media screen and (max-width: 767px) {
    .will_guidebook {
      padding-top: 240px; } }
  .will_guidebook img {
    width: calc(327 / 16 * 1rem); }
    @media screen and (max-width: 767px) {
      .will_guidebook img {
        width: 210px; } }
  .will_guidebook figcaption {
    display: grid;
    position: absolute;
    top: calc(-40 / 16 * 1rem);
    left: 50%;
    transform: translateX(calc(200 / 16 * 1rem));
    width: max(200px, calc(300 / 16 * 1rem));
    height: max(200px, calc(300 / 16 * 1rem));
    border-radius: 50%;
    background-color: #9a802a;
    color: #fff;
    font-weight: 700;
    font-size: var(--fz20);
    line-height: 1.6;
    place-items: center; }
    @media screen and (max-width: 767px) {
      .will_guidebook figcaption {
        top: 0;
        transform: translateX(-50%); } }
    .will_guidebook figcaption::after {
      clip-path: polygon(0 0, 50% 100%, 100% 0);
      position: absolute;
      bottom: 0;
      left: calc(20 / 16 * 1rem);
      transform: rotate(45deg);
      width: calc(30 / 16 * 1rem);
      height: calc(50 / 16 * 1rem);
      background-color: #9a802a;
      content: ""; }
      @media screen and (max-width: 767px) {
        .will_guidebook figcaption::after {
          bottom: -30px;
          left: 50%;
          transform: translateX(-50%) rotate(0);
          width: 30px;
          height: 40px; } }

/* page order */
.order_merit_ttl {
  margin-bottom: 2em; }
  @media screen and (max-width: 767px) {
    .order_merit_ttl {
      padding: 0 1em; } }

.order_system {
  margin-bottom: max(60px, calc(100 / 16 * 1rem)); }
  .order_system .el_sec_ttl2 {
    margin-bottom: 1.5em;
    box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3); }
    @media screen and (min-width: 768px) {
      .order_system .el_sec_ttl2 {
        border-radius: 0; } }
    @media screen and (max-width: 767px) {
      .order_system .el_sec_ttl2 {
        padding: 1em; } }

.order_system_subttl {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  color: var(--mainColor);
  font-weight: 700;
  font-size: max(20px, calc(29 / 16 * 1rem));
  gap: .5em; }
  .order_system_subttl span {
    flex-shrink: 0; }
  .order_system_subttl::after {
    width: 100%;
    border-bottom: 3px dotted currentColor;
    content: ""; }

.order_system_illust {
  text-align: center; }
  @media screen and (max-width: 767px) {
    .order_system_illust img {
      max-width: 167px; } }

.order_system_illust2 {
  text-align: center; }
  @media screen and (max-width: 767px) {
    .order_system_illust2 img {
      max-width: 212px; } }

.order_flow_list {
  margin: 4em 0; }
  @media screen and (min-width: 768px) {
    .order_flow_list {
      gap: 10px;
      grid-template-columns: repeat(4, 1fr); } }

.order_system_cont {
  font-size: var(--fz17); }
  .order_system_cont figure {
    margin: 1em 0; }
  .order_system_cont .small {
    font-size: max(10px, calc(15 / 16 * 1rem));
    text-align: center; }

.order_system_footer {
  margin-top: max(60px, calc(100 / 16 * 1rem));
  padding: max(60px, calc(100 / 16 * 1rem)) 0 max(80px, calc(120 / 16 * 1rem));
  background-color: #fff; }
  .order_system_footer .el_textlink {
    color: #000;
    font-weight: 500; }
    .order_system_footer .el_textlink a {
      color: #21816d;
      font-size: 1.3em; }

.order_qa_sec {
  margin-bottom: 180px; }
  @media screen and (max-width: 767px) {
    .order_qa_sec {
      margin-bottom: 80px; } }

/* page job */
.job_lead {
  text-align: center; }
  .job_lead .el_lead_ttl {
    margin-bottom: .3em;
    font-size: max(20px, calc(31 / 16 * 1rem)); }
  .job_lead .el_lead_text {
    margin-bottom: 1em;
    text-align: center; }

.job_lead_nav {
  display: grid;
  justify-content: center;
  margin: 2em 0 5em;
  color: var(--mainColor);
  font-weight: 500;
  font-size: var(--fz19);
  line-height: 1.3;
  grid-template-columns: minmax(auto, calc(756 / 16 * 1rem)); }
  @media screen and (max-width: 767px) {
    .job_lead_nav {
      grid-template-columns: minmax(auto, 300px); } }
  .job_lead_nav ul {
    display: grid;
    column-gap: 1em;
    row-gap: 2em;
    grid-template-columns: repeat(4, 1fr); }
    @media screen and (max-width: 767px) {
      .job_lead_nav ul {
        grid-template-columns: repeat(2, 1fr); } }
    @media screen and (min-width: 768px) {
      .job_lead_nav ul li:nth-child(6) a figure, .job_lead_nav ul li:nth-child(7) a figure {
        align-items: end; } }
    .job_lead_nav ul li a {
      display: flex;
      flex-direction: column;
      height: 100%;
      padding-bottom: 10px;
      border-bottom: 1px solid currentColor; }
      .job_lead_nav ul li a figure {
        display: grid;
        place-items: center; }
        .job_lead_nav ul li a figure img {
          width: max(100px, calc(125 / 16 * 1rem)); }
      .job_lead_nav ul li a span {
        display: block;
        margin-top: auto; }

@media screen and (max-width: 767px) {
  .job_lead_nav__business {
    margin-bottom: 2em;
    grid-template-columns: 100%; } }
.job_lead_nav__business ul {
  display: flex;
  justify-content: center;
  column-gap: 3em;
  grid-template-columns: repeat(3, 1fr); }
  @media screen and (max-width: 767px) {
    .job_lead_nav__business ul {
      column-gap: 1em; } }

.job_item {
  position: relative;
  padding-bottom: max(100px, calc(123 / 16 * 1rem)); }
  .job_item:last-child {
    padding-bottom: max(30px, calc(100 / 16 * 1rem)); }
    .job_item:last-child::after {
      display: none; }
  .job_item:not(:nth-child(4n)):nth-child(2n)::after {
    position: absolute;
    right: -100px;
    bottom: -10px;
    z-index: 1;
    width: calc(415 / 16 * 1rem);
    aspect-ratio: 415 / 149;
    background-image: url("../img/common/illust_town2.svg");
    background-size: cover;
    content: ""; }
    @media screen and (max-width: 767px) {
      .job_item:not(:nth-child(4n)):nth-child(2n)::after {
        display: none; } }
  .job_item:nth-child(4n)::after {
    position: absolute;
    bottom: -10px;
    left: -33px;
    z-index: 1;
    width: calc(325 / 16 * 1rem);
    aspect-ratio: 310 / 134;
    background-image: url("../img/common/illust_town.svg");
    background-size: cover;
    content: ""; }
    @media screen and (max-width: 767px) {
      .job_item:nth-child(4n)::after {
        display: none; } }
  .job_item .ttl {
    display: grid;
    justify-content: center;
    margin-bottom: 1em;
    padding: .5em 1em;
    background-color: #6ec0f7;
    line-height: 1.5;
    text-align: center; }
    @media screen and (min-width: 768px) {
      .job_item .ttl {
        grid-template-columns: minmax(auto, 680px); } }
    @media screen and (max-width: 767px) {
      .job_item .ttl {
        display: block;
        min-height: 36px;
        padding: 1em 30px; } }
    .job_item .ttl span.name {
      display: block;
      border-radius: 2em;
      background-color: #fff;
      color: #4e5e94;
      font-size: max(22px, calc(35 / 16 * 1rem));
      letter-spacing: .05em; }
      @media screen and (max-width: 767px) {
        .job_item .ttl span.name {
          padding: 5px; } }
    .job_item .ttl span.small {
      font-size: .8em; }
      @media screen and (max-width: 767px) {
        .job_item .ttl span.small {
          display: block; } }
    .job_item .ttl span.icon {
      position: relative; }
      @media screen and (max-width: 767px) {
        .job_item .ttl span.icon {
          display: block; } }
      .job_item .ttl span.icon::before {
        position: absolute;
        width: max(88px, calc(146 / 16 * 1rem));
        aspect-ratio: 146 / 105;
        background-image: url("../img/job/icon.svg");
        background-position: bottom center;
        background-repeat: no-repeat;
        content: ""; }
        @media screen and (max-width: 767px) {
          .job_item .ttl span.icon::before {
            bottom: 50px;
            left: 50%;
            transform: translateX(-50%); } }
      .job_item .ttl span.icon.icon_1::before {
        background-image: url("../img/job/icon.svg"); }
        @media screen and (min-width: 768px) {
          .job_item .ttl span.icon.icon_1::before {
            bottom: 0;
            left: calc(166 / 16 * 1rem * -1); } }
      .job_item .ttl span.icon.icon_2::before {
        background-image: url("../img/job/icon2.svg"); }
        @media screen and (min-width: 768px) {
          .job_item .ttl span.icon.icon_2::before {
            right: calc(166 / 16 * 1rem * -1);
            bottom: .3em; } }
      .job_item .ttl span.icon.icon_3::before {
        background-image: url("../img/job/icon3.svg"); }
        @media screen and (min-width: 768px) {
          .job_item .ttl span.icon.icon_3::before {
            bottom: .3em;
            left: calc(166 / 16 * 1rem * -1); } }
      .job_item .ttl span.icon.icon_4::before {
        background-image: url("../img/job/icon4.svg"); }
        @media screen and (min-width: 768px) {
          .job_item .ttl span.icon.icon_4::before {
            right: calc(166 / 16 * 1rem * -1);
            bottom: -.5em; } }
      .job_item .ttl span.icon.icon_5::before {
        background-image: url("../img/job/icon5.svg"); }
        @media screen and (min-width: 768px) {
          .job_item .ttl span.icon.icon_5::before {
            bottom: .3em;
            left: calc(166 / 16 * 1rem * -1); } }
      .job_item .ttl span.icon.icon_6::before {
        background-image: url("../img/job/icon6.svg"); }
        @media screen and (min-width: 768px) {
          .job_item .ttl span.icon.icon_6::before {
            right: calc(166 / 16 * 1rem * -1);
            bottom: .3em; } }
      .job_item .ttl span.icon.icon_7::before {
        background-image: url("../img/job/icon7.svg"); }
        @media screen and (min-width: 768px) {
          .job_item .ttl span.icon.icon_7::before {
            bottom: .3em;
            left: calc(166 / 16 * 1rem * -1); } }
      .job_item .ttl span.icon.icon_8::before {
        background-image: url("../img/job/icon8.svg"); }
        @media screen and (min-width: 768px) {
          .job_item .ttl span.icon.icon_8::before {
            right: calc(110 / 16 * 1rem * -1);
            bottom: .7em; } }
        @media screen and (max-width: 767px) {
          .job_item .ttl span.icon.icon_8::before {
            bottom: 80px; } }
  .job_item .text {
    margin-bottom: 2em;
    color: var(--mainColor);
    font-size: var(--fz20);
    text-align: center; }
    @media screen and (max-width: 767px) {
      .job_item .text {
        padding: 0 30px;
        text-align: justify; }
        .job_item .text br:not(.md_visible) {
          display: none; } }
  .job_item .thumb {
    display: flex;
    justify-content: center;
    column-gap: 1em;
    row-gap: 1em; }
    @media screen and (max-width: 767px) {
      .job_item .thumb {
        flex-wrap: wrap;
        max-width: 430px;
        margin: 0 auto;
        column-gap: 1em;
        row-gap: 2em; } }
    .job_item .thumb li {
      width: calc(310 / 16 * 1rem);
      text-align: center; }
      @media screen and (max-width: 767px) {
        .job_item .thumb li {
          width: calc(50% - .5em); } }
      .job_item .thumb li img {
        width: 100%; }
    .job_item .thumb figcaption {
      margin-top: 5px; }
      @media screen and (max-width: 767px) {
        .job_item .thumb figcaption {
          font-size: 12px; } }
  .job_item:nth-child(even) .ttl {
    background-color: #6a74b1; }
  .job_item .job_item7_box {
    display: flex;
    justify-content: center;
    align-items: center; }
    @media screen and (max-width: 767px) {
      .job_item .job_item7_box {
        flex-direction: column;
        max-width: 260px;
        margin: 0 auto;
        gap: 1em; } }
    @media screen and (max-width: 767px) {
      .job_item .job_item7_box .thumb {
        max-width: 300px; } }
    @media screen and (max-width: 767px) {
      .job_item .job_item7_box .el_btn_s {
        width: 100%; } }
  @media screen and (min-width: 768px) {
    .job_item.job_item__7 {
      padding-bottom: 0; } }
  .job_item .job_item8_box {
    display: flex;
    justify-content: space-between;
    align-items: start; }
    @media screen and (max-width: 767px) {
      .job_item .job_item8_box {
        flex-direction: column;
        align-items: center; } }
    @media screen and (min-width: 768px) {
      .job_item .job_item8_box .job_item8_box_printing {
        flex-shrink: 0; } }
    @media screen and (max-width: 767px) {
      .job_item .job_item8_box .job_item8_box_printing {
        margin-bottom: 4em; } }
    .job_item .job_item8_box .job_item8_box_printing figure {
      margin-bottom: 1em; }
      @media screen and (max-width: 767px) {
        .job_item .job_item8_box .job_item8_box_printing figure {
          max-width: 230px; } }
    .job_item .job_item8_box .thumb {
      flex-wrap: wrap; }
      @media screen and (max-width: 767px) {
        .job_item .job_item8_box .thumb {
          row-gap: 1em; } }

.job_cv_btn {
  display: grid;
  justify-content: center;
  padding-top: max(30px, calc(50 / 16 * 1rem));
  background-color: #fff;
  grid-template-columns: minmax(auto, 690px); }
  .job_cv_btn .el_btn {
    font-size: max(14px, calc(25 / 16 * 1rem)); }
  .job_cv_btn a {
    border: 5px solid #97c8f1;
    background-color: #fff;
    color: #4e5e94; }
    @media screen and (max-width: 767px) {
      .job_cv_btn a {
        border-width: 3px; } }
    .job_cv_btn a::after {
      background-color: #4e5e94;
      color: #fff; }
    .job_cv_btn a:hover {
      background-color: #3d98e5;
      color: #fff; }

.job_furusato {
  position: relative; }
  .job_furusato::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    border-radius: 60px;
    background-color: #ffe97c;
    content: ""; }
    @media screen and (max-width: 767px) {
      .job_furusato::after {
        border-radius: 30px; } }
  .job_furusato::before {
    opacity: .5;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("../img/common/bg_dot.svg");
    background-size: 26px auto;
    content: ""; }
  .job_furusato .inner {
    position: relative;
    padding: calc(40 / 16 * 1rem) calc(70 / 16 * 1rem) calc(120 / 16 * 1rem);
    color: #4e5e94; }
    @media screen and (max-width: 767px) {
      .job_furusato .inner {
        padding: 1.6em 1.6em 5em; } }
    .job_furusato .inner::before {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 100px;
      border-radius: 0 0 60px 60px;
      background-image: url("../img/job/furusato_bg_bottom.svg");
      background-position: bottom center;
      background-size: 100% auto;
      background-repeat: no-repeat;
      content: ""; }
      @media screen and (max-width: 767px) {
        .job_furusato .inner::before {
          border-radius: 0 0 30px 30px;
          background-position: bottom left;
          background-size: auto 50px; } }
    .job_furusato .inner::after {
      position: absolute;
      right: -2em;
      bottom: -2em;
      width: max(90px, calc(184 / 16 * 1rem));
      aspect-ratio: 184 / 188;
      background-image: url("../img/job/furusato_illust.svg");
      content: ""; }
      @media screen and (max-width: 767px) {
        .job_furusato .inner::after {
          right: -.5em;
          bottom: 1.5em; } }
  .job_furusato .name {
    position: relative;
    margin-bottom: 10px;
    font-weight: 900;
    font-size: max(22px, calc(45 / 16 * 1rem));
    letter-spacing: .04em;
    text-align: center; }
    .job_furusato .name span {
      color: #0098e6; }
    .job_furusato .name::before {
      position: absolute;
      bottom: -10px;
      left: 50%;
      transform: translateX(-50%);
      width: calc(666 / 16 * 1rem);
      height: 1px;
      border-bottom: 3px dotted #4e5e94;
      content: ""; }
      @media screen and (max-width: 767px) {
        .job_furusato .name::before {
          width: 100%; } }
  .job_furusato .ttl {
    font-weight: 700;
    font-size: max(20px, calc(45 / 16 * 1rem));
    letter-spacing: .04em;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .job_furusato .ttl {
        margin-bottom: .5em; } }

.job_furusato_cont {
  display: grid;
  width: 100%;
  column-gap: 3em;
  grid-row: auto; }
  @media screen and (min-width: 768px) {
    .job_furusato_cont {
      grid-template-columns: 1fr 196px; } }
  .job_furusato_cont .text {
    font-size: var(--fz19); }
    @media screen and (min-width: 768px) {
      .job_furusato_cont .text {
        grid-column: 1;
        grid-row: 1; } }
    @media screen and (max-width: 767px) {
      .job_furusato_cont .text {
        margin-bottom: 2em;
        text-align: center; } }
  .job_furusato_cont figure {
    text-align: center; }
    @media screen and (min-width: 768px) {
      .job_furusato_cont figure {
        grid-column: 2;
        grid-row: 1 / 3; } }
    @media screen and (max-width: 767px) {
      .job_furusato_cont figure {
        margin-bottom: 2em; } }
  .job_furusato_cont dl {
    position: relative;
    padding-top: 1.5em;
    border: solid 5px #82cdf3;
    border-radius: 22px;
    background-color: #fff; }
    @media screen and (min-width: 768px) {
      .job_furusato_cont dl {
        grid-column: 1;
        grid-row: 2; } }
    @media screen and (max-width: 767px) {
      .job_furusato_cont dl {
        padding: 2em;
        border-radius: 16px; } }
    .job_furusato_cont dl dt {
      display: inline-block;
      position: absolute;
      top: -1em;
      left: -.5em;
      padding: .5em 2em;
      border-radius: 5em;
      background-color: #3bb0ec;
      color: #fff;
      font-weight: 700;
      font-size: max(14px, calc(22 / 16 * 1rem));
      line-height: 1; }
      @media screen and (max-width: 767px) {
        .job_furusato_cont dl dt {
          display: block;
          right: 1em;
          left: 1em; } }
      .job_furusato_cont dl dt + dd {
        /*margin-bottom: .25em;*/
        margin-bottom: 0em;
        color: #4e5e94;
        font-weight: 700;
        font-size: max(17px, calc(29 / 16 * 1rem));
        text-align: center; }
  .job_furusato_cont .el_textlink a {
    display: inline-block;
    padding-bottom: 0em;
    margin-top: .5em; }

.job_voice_sec {
  position: relative;
  margin: 8em 0;
  background-color: #f5eddc; }
  .job_voice_sec::before, .job_voice_sec::after {
    position: absolute;
    left: 0;
    width: 100%;
    background-position: center;
    background-size: cover;
    content: ""; }
  .job_voice_sec::before {
    top: -45px;
    z-index: 1;
    height: 45px;
    background-image: url("../img/job/voice_bg_top.svg"); }
    @media screen and (max-width: 767px) {
      .job_voice_sec::before {
        top: -25px;
        height: 25px; } }
  .job_voice_sec::after {
    bottom: -45px;
    z-index: 1;
    height: 45px;
    background-image: url("../img/job/voice_bg_bottom.svg"); }
    @media screen and (max-width: 767px) {
      .job_voice_sec::after {
        bottom: -25px;
        height: 25px; } }

.job_voice_ttl {
  position: relative;
  margin-bottom: 4em;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .job_voice_ttl {
      margin-bottom: 2em; } }
  .job_voice_ttl img {
    display: inline-block;
    position: relative;
    z-index: 2;
    background-color: #f5eddc; }
    @media screen and (max-width: 767px) {
      .job_voice_ttl img {
        max-width: 230px; } }
  .job_voice_ttl::before {
    position: absolute;
    bottom: max(38px, calc(90 / 16 * 1rem));
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #a76b0d;
    content: ""; }
    @media screen and (max-width: 767px) {
      .job_voice_ttl::before {
        height: 2px; } }
  .job_voice_ttl span {
    display: block; }
    .job_voice_ttl span::before, .job_voice_ttl span::after {
      position: absolute;
      bottom: max(34px, calc(82 / 16 * 1rem));
      width: max(10px, calc(20 / 16 * 1rem));
      aspect-ratio: 1 / 1;
      border-radius: 50%;
      background-color: #a76b0d;
      content: ""; }
    .job_voice_ttl span::before {
      left: 0; }
    .job_voice_ttl span::after {
      right: 0; }

.job_voice {
  display: grid;
  gap: calc(160 / 16 * 1rem); }
  @media screen and (min-width: 768px) {
    .job_voice {
      grid-template-columns: repeat(2, 1fr); } }
  .job_voice:last-child {
    padding-bottom: calc(80 / 16 * 1rem); }
    @media screen and (min-width: 768px) {
      .job_voice:last-child {
        border-bottom: 7px solid var(--mainColor); } }
  .job_voice > li {
    display: flex;
    flex-direction: column;
    position: relative; }
    @media screen and (min-width: 768px) {
      .job_voice > li .cont__blue .ttl {
        background-color: #4e5e94; }
      .job_voice > li .cont__blue .name span.year {
        background-color: #d1d5e3;
        color: #4e5e94; } }
    @media screen and (max-width: 767px) {
      .job_voice > li:nth-child(odd) .ttl {
        background-color: #4e5e94; }
      .job_voice > li:nth-child(odd) .name span.year {
        background-color: #d1d5e3;
        color: #4e5e94; }
      .job_voice > li:nth-child(even) .cont .copy,
      .job_voice > li:nth-child(even) .cont .name {
        text-align: right; }
      .job_voice > li:nth-child(even) .ttl {
        right: auto;
        left: -1em; } }
    .job_voice > li .thumb {
      margin-bottom: 1em; }
      @media screen and (max-width: 767px) {
        .job_voice > li .thumb {
          margin-bottom: 2em; } }
      .job_voice > li .thumb img {
        border-radius: 30px; }
    .job_voice > li .ttl {
      display: grid;
      position: absolute;
      top: -3em;
      right: -3em;
      width: max(102px, calc(154 / 16 * 1rem));
      height: max(102px, calc(154 / 16 * 1rem));
      border-radius: 50%;
      box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
      background-color: #5ea188;
      color: #fff;
      font-weight: 700;
      font-size: max(15px, calc(22 / 16 * 1rem));
      line-height: 1.3;
      text-align: center;
      place-items: center; }
      @media screen and (max-width: 767px) {
        .job_voice > li .ttl {
          top: auto;
          right: -1em;
          margin-top: -5em; } }
      .job_voice > li .ttl::before {
        position: absolute;
        width: max(92px, calc(144 / 16 * 1rem));
        height: max(92px, calc(144 / 16 * 1rem));
        border: 1px dashed #fff;
        border-radius: 50%;
        content: ""; }
    .job_voice > li .copy {
      margin-bottom: 1em;
      color: #4e5e94;
      font-weight: 900;
      font-size: max(18px, calc(30 / 16 * 1rem)); }
    .job_voice > li .name {
      margin-bottom: .8em;
      font-weight: 500;
      font-size: max(18px, calc(24 / 16 * 1rem)); }
      @media screen and (max-width: 767px) {
        .job_voice > li .name {
          margin-bottom: 1em; } }
      .job_voice > li .name::after {
        font-size: .7em;
        content: "さん"; }
      .job_voice > li .name span.year {
        position: relative;
        top: -2px;
        margin-right: 1em;
        padding: .2em .8em;
        background-color: #dfecce;
        color: #5ea188;
        font-size: .66em; }
    @media screen and (min-width: 768px) {
      .job_voice > li.job_voice_wide {
        flex-direction: row;
        justify-content: space-between;
        gap: 5em;
        grid-column: 1 / 3; }
        .job_voice > li.job_voice_wide .ttl {
          right: -1em; }
        .job_voice > li.job_voice_wide .thumb {
          margin-top: -3em;
          margin-left: calc(50% - 50vw); }
          .job_voice > li.job_voice_wide .thumb img {
            width: 100%;
            border-radius: 0 30px 30px 0; }
        .job_voice > li.job_voice_wide .cont {
          flex-shrink: 0;
          position: relative;
          max-width: calc(520 / 16 * 1rem); }
        .job_voice > li.job_voice_wide .name {
          text-align: right; } }
    @media screen and (max-width: 767px) {
      .job_voice > li.job_voice_wide .ttl {
        margin-top: -3.5em; } }
    @media screen and (min-width: 768px) {
      .job_voice > li.job_voice_wide.job_voice_wide__r {
        flex-direction: row-reverse; }
        .job_voice > li.job_voice_wide.job_voice_wide__r .thumb {
          margin-right: calc(50% - 50vw);
          margin-left: 0; }
          .job_voice > li.job_voice_wide.job_voice_wide__r .thumb img {
            border-radius: 30px 0 0 30px; } }
    .job_voice > li.job_voice_wide.job_voice_wide__r .copy {
      color: #5ea188; }

.job_business_intro {
  display: grid;
  padding: 2.5em;
  border: 5px solid #fff;
  border-radius: 30px;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
  background-color: #c5e2ca;
  place-items: center; }
  @media screen and (max-width: 767px) {
    .job_business_intro {
      padding: 2em 1em; } }
  .job_business_intro .el_lead_ttl {
    margin-bottom: .5em;
    color: #698851; }
  .job_business_intro .el_lead_text {
    margin-bottom: 2em; }
  .job_business_intro .el_btn {
    color: #698851;
    font-size: max(15px, calc(25 / 16 * 1rem)); }
    .job_business_intro .el_btn a::after {
      right: 1em;
      width: 2em;
      height: 2em;
      background-color: #c5e2ca; }

/* page business */
.business_item_ttl {
  display: grid;
  justify-content: center;
  margin-bottom: 1em;
  padding: .5em 1em;
  background-color: #626dad;
  line-height: 1.5;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .business_item_ttl {
      grid-template-columns: minmax(auto, 680px); } }
  @media screen and (max-width: 767px) {
    .business_item_ttl {
      display: block;
      min-height: 36px;
      padding: 1em 30px; } }
  .business_item_ttl span.name {
    display: block;
    border-radius: 2em;
    background-color: #fff;
    color: #4e5e94;
    font-size: max(22px, calc(35 / 16 * 1rem));
    letter-spacing: .05em; }
    @media screen and (max-width: 767px) {
      .business_item_ttl span.name {
        padding: 5px; } }

.business_item_text {
  margin-bottom: 2em;
  color: var(--mainColor);
  font-size: var(--fz20);
  text-align: center; }
  @media screen and (max-width: 767px) {
    .business_item_text {
      padding: 0 30px;
      text-align: justify; }
      .business_item_text br {
        display: none; } }

.business_point {
  position: relative;
  z-index: 1;
  margin: -220px 0 2em;
  padding: 3em;
  border: 5px solid #626dad;
  border-radius: 40px;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
  background-color: #fff8d6; }
  @media screen and (max-width: 767px) {
    .business_point {
      margin: -160px 0 2em;
      padding: 2em 1.6em;
      border-width: 3px;
      border-radius: 20px; } }
  .business_point .bl_point_list li::after {
    color: #626dad; }

.business_recycle_lead {
  padding: 3em 0 160px; }
  @media screen and (max-width: 767px) {
    .business_recycle_lead {
      padding: 3em 0 130px; } }
  .business_recycle_lead .business_slider {
    margin: 1em 0 calc(128 / 16 * 1rem); }

.business_sewing_lead {
  padding: 3em 0 1em; }
  .business_sewing_lead .el_sec_ttl {
    margin-bottom: .6em; }

.business_cont_wrap {
  padding: max(50px, calc(70 / 16 * 1rem)) 0;
  background-color: #cbd2f3; }

.business_cont_wrap__footer {
  padding-bottom: 150px; }

.business_slider .swiper-slide img {
  width: 100%; }
.business_slider .swiper-button-next,
.business_slider .swiper-button-prev {
  width: max(34px, calc(70 / 16 * 1rem));
  height: max(34px, calc(70 / 16 * 1rem));
  border-radius: 50%;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
  background-color: #fff;
  transition: .3s; }
  .business_slider .swiper-button-next::after,
  .business_slider .swiper-button-prev::after {
    color: #626dad;
    font-size: var(--fz20);
    font-family: "icon";
    transition: .3s; }
  .business_slider .swiper-button-next:hover,
  .business_slider .swiper-button-prev:hover {
    background-color: #626dad; }
    .business_slider .swiper-button-next:hover::after,
    .business_slider .swiper-button-prev:hover::after {
      color: #fff; }
.business_slider .swiper-button-prev {
  left: calc(70 / 16 * 1rem); }
  @media screen and (max-width: 767px) {
    .business_slider .swiper-button-prev {
      left: 3px; } }
  .business_slider .swiper-button-prev::after {
    content: "\e901"; }
.business_slider .swiper-button-next {
  right: calc(70 / 16 * 1rem); }
  @media screen and (max-width: 767px) {
    .business_slider .swiper-button-next {
      right: 3px; } }
  .business_slider .swiper-button-next::after {
    content: "\e900"; }

.business_slider__2 {
  margin: max(50px, calc(70 / 16 * 1rem)) 0; }

.business_slider__3 {
  margin-bottom: max(50px, calc(70 / 16 * 1rem)); }

.business_slider__4 {
  margin-bottom: max(50px, calc(70 / 16 * 1rem)); }

.business_info {
  display: flex;
  align-items: center;
  padding: 1.5em;
  border-radius: 30px;
  background-color: rgba(255, 255, 255, 0.7);
  gap: 2em; }
  @media screen and (max-width: 767px) {
    .business_info {
      flex-direction: column;
      border-radius: 16px;
      gap: 1em; } }

.business_info_cont .name {
  margin-bottom: .5em;
  color: #626dad;
  font-weight: 700;
  font-size: max(17px, calc(26 / 16 * 1rem)); }
.business_info_cont dl {
  display: grid;
  font-weight: 500;
  row-gap: 1em;
  grid-template-columns: repeat(2, auto); }
  @media screen and (max-width: 767px) {
    .business_info_cont dl {
      row-gap: .6em; } }
  .business_info_cont dl dt {
    padding-right: 1em;
    border-right: 2px solid currentColor;
    color: #626dad;
    font-size: max(11px, calc(15 / 16 * 1rem));
    text-align: justify; }
    @media screen and (max-width: 767px) {
      .business_info_cont dl dt {
        padding-right: .6em;
        border-width: 1px; } }
    .business_info_cont dl dt span {
      display: block;
      text-align-last: justify; }
  .business_info_cont dl dd {
    padding-left: 1em;
    color: #555;
    font-size: max(12px, calc(17 / 16 * 1rem)); }

.business_info_map {
  width: 100%;
  aspect-ratio: 1000 / 312;
  margin-top: 1em; }
  @media screen and (max-width: 767px) {
    .business_info_map {
      height: 260px; } }
  .business_info_map iframe {
    width: 100%;
    height: 100%; }

.business_culture_printing {
  margin-bottom: 5em;
  text-align: center; }
  .business_culture_printing figure {
    margin-bottom: 1em;
    max-width: 265px;
    margin-inline: auto; }

/* page member */
.member_topics {
  position: relative;
  max-width: 880px;
  margin: 8em auto 3em;
  padding: 1em 4em 2em;
  border: 3px solid var(--mainColor);
  border-radius: 40px;
  box-sizing: border-box;
  box-shadow: 3px 3px 6px rgba(209, 175, 94, 0.5);
  background-color: #fef8a6; }
  @media screen and (max-width: 767px) {
    .member_topics {
      max-width: 400px;
      margin-bottom: 1em;
      padding: 1em 0 65px;
      border-radius: 26px; } }
  .member_topics::before {
    position: absolute;
    top: calc(-80 / 16 * 1rem);
    left: 50%;
    transform: translateX(-50%);
    width: calc(308 / 16 * 1rem);
    aspect-ratio: 308 / 87;
    background-image: url("../img/member/topics_ttl.svg");
    background-size: cover;
    background-repeat: no-repeat;
    content: ""; }
    @media screen and (max-width: 767px) {
      .member_topics::before {
        top: -55px;
        left: 50%;
        transform: translateX(-50%);
        width: calc(142 / 16 * 1rem);
        width: 120px;
        aspect-ratio: 142 / 79;
        background-image: url("../img/top/topics_ttl.svg"); } }
  .member_topics .el_btn_s {
    display: inline-block;
    position: absolute;
    bottom: -1em;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (max-width: 767px) {
      .member_topics .el_btn_s {
        bottom: 1em; } }

.member_lead_banner {
  margin-top: 4em;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .member_lead_banner img {
      filter: drop-shadow(2px 2px 10px rgba(0, 0, 0, 0.3)); } }

.member_ttl {
  margin-bottom: 1em;
  border-radius: 5em;
  box-shadow: 2px 2px 10px rgba(173, 106, 166, 0.5);
  background-color: #ad6aa6;
  color: #fff;
  font-size: max(20px, calc(30 / 16 * 1rem));
  letter-spacing: .05em;
  text-align: center;
  text-align: center; }

.member_training_sec {
  position: relative;
  margin-top: 3em;
  background-color: #f2d7f7; }
  .member_training_sec::before, .member_training_sec::after {
    position: absolute;
    left: 0;
    width: 100%;
    background-position: center;
    background-size: cover;
    content: ""; }
  .member_training_sec::before {
    top: -45px;
    z-index: 1;
    height: 45px;
    background-image: url("../img/member/training_bg_top.svg"); }
    @media screen and (max-width: 767px) {
      .member_training_sec::before {
        top: -25px;
        height: 25px; } }
  .member_training_sec::after {
    bottom: -45px;
    z-index: 1;
    height: 45px;
    background-image: url("../img/member/training_bg_bottom.svg"); }
    @media screen and (max-width: 767px) {
      .member_training_sec::after {
        bottom: -25px;
        height: 25px; } }

.member_doc_sec::after {
  background-color: #fcf6fd; }

.member_club_sec {
  background-color: #eddfbf; }

.member_doc {
  margin-top: 1em;
  padding: 2.5em;
  border-radius: 40px;
  box-shadow: 2px 2px 10px rgba(173, 106, 166, 0.5);
  background-color: #ad6aa6; }
  @media screen and (max-width: 767px) {
    .member_doc {
      padding: 2em 1em;
      border-radius: 20px; } }

.member_doc_info {
  margin-bottom: 2em;
  text-align: center; }
  .member_doc_info .inner {
    display: inline-block; }
  .member_doc_info dl {
    display: grid;
    font-weight: 500;
    column-gap: 1em;
    row-gap: .5em; }
    @media screen and (min-width: 768px) {
      .member_doc_info dl {
        grid-template-columns: repeat(2, auto); } }
    .member_doc_info dl dt {
      color: #ad6aa6;
      font-size: var(--fz19); }
      .member_doc_info dl dt span {
        display: inline-block;
        min-width: 150px;
        border-radius: 5em;
        background-color: #fff; }
        @media screen and (max-width: 767px) {
          .member_doc_info dl dt span {
            min-width: 100px; } }
    .member_doc_info dl dd {
      color: #fff;
      font-size: var(--fz20); }
      @media screen and (min-width: 768px) {
        .member_doc_info dl dd {
          text-align: left; } }

.member_doc_list {
  display: grid;
  gap: .5em; }
  @media screen and (min-width: 768px) {
    .member_doc_list {
      grid-template-columns: repeat(2, 1fr); } }
  .member_doc_list li {
    padding: 1.5em;
    border-radius: .5em;
    background-color: #fff;
    color: var(--mainColor);
    font-weight: 500;
    font-size: var(--fz17);
    line-height: 1.5; }
    .member_doc_list li a {
      display: flex;
      align-items: center;
      gap: .5em; }
      .member_doc_list li a::before {
        flex-shrink: 0;
        width: max(31px, calc(37 / 16 * 1rem));
        height: max(33px, calc(40 / 16 * 1rem));
        background-image: url("../img/common/icon_pdf.svg");
        background-size: cover;
        content: ""; }
      .member_doc_list li a:hover {
        opacity: .7; }
    .member_doc_list li .small {
      display: block;
      font-size: .76em; }

.member_newsletter_sec {
  margin-top: 5em; }

.member_newsletter {
  padding: 2.5em;
  border-radius: 35px;
  box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.3);
  background-color: #fff89e; }
  @media screen and (max-width: 767px) {
    .member_newsletter {
      padding: 1.5em 1em;
      border-radius: 20px; } }
  .member_newsletter .member_ttl {
    margin-bottom: .5em;
    background-color: #965300; }
    @media screen and (max-width: 767px) {
      .member_newsletter .member_ttl {
        padding: 5px;
        line-height: 1.5; } }
    @media screen and (max-width: 767px) {
      .member_newsletter .member_ttl span {
        display: block;
        font-size: .8em; } }
  .member_newsletter + .member_newsletter {
    margin-top: 5em; }
  @media screen and (max-width: 767px) {
    .member_newsletter .ac_newsletter_item_list {
      padding: 0 2em; } }

.member_training_items {
  margin-bottom: 3em; }
  .member_training_items .ac_training_item_list {
    display: none; }

.member_club_items .ac_club_item_list {
  display: none; }

.member_club_archives {
  display: flex;
  flex-wrap: wrap;
  gap: 3em;
  justify-content: center; }
  @media screen and (max-width: 767px) {
    .member_club_archives {
      flex-direction: column;
      align-items: center;
      gap: 1em; } }

/* page archive */
.archive_topics .bl_topics_list {
  max-width: 763px;
  margin: 0 auto; }

.archive_newsletter_sec {
  padding-top: calc(50 / 16 * 1rem); }

/* page privacy */
.privacy_cont {
  max-width: 838px;
  margin-top: calc(30 / 16 * 1rem * -1);
  font-size: var(--fz15);
  letter-spacing: .02em;
  margin-inline: auto; }

.privacy_ttl {
  margin-bottom: 1.5em;
  color: #e27a00;
  font-weight: 900;
  font-size: max(25px, calc(45 / 16 * 1rem));
  line-height: 1.3;
  text-align: center; }

.privacy_lead {
  margin-bottom: 2em;
  padding-bottom: 2em;
  border-bottom: 1px solid var(--mainColor); }

.privacy_list {
  margin-bottom: 3em;
  counter-reset: number 0; }
  .privacy_list li {
    position: relative;
    padding-left: 1em;
    counter-increment: number 1; }
    .privacy_list li + li {
      margin-top: 1em; }
    .privacy_list li::before {
      position: absolute;
      left: 0;
      content: counter(number) "."; }

.privacy_info {
  padding: 1em 2em;
  border: 1px solid var(--mainColor);
  background-color: #f5f2d5; }
  .privacy_info dt {
    color: var(--mainColor);
    font-weight: 700;
    font-size: var(--fz18); }

/* page contact */
.contact_cont {
  max-width: 760px;
  margin-top: calc(30 / 16 * 1rem * -1);
  margin-inline: auto; }

.contact_lead {
  margin-bottom: 5em; }

.contact_ttl {
  margin-bottom: 2em;
  font-weight: normal;
  text-align: center; }

.contact_link_btn {
  margin-bottom: 2em;
  text-align: center; }

.contact_caution {
  padding: 1em 1.5em;
  border: 1px solid #f00;
  color: #f00; }
  @media screen and (min-width: 768px) {
    .contact_caution {
      letter-spacing: .02em; } }
  @media screen and (max-width: 767px) {
    .contact_caution {
      text-align: justify; } }

.contact_form {
  max-width: 667px;
  font-size: var(--fz15);
  margin-inline: auto; }

.contact_form_policy {
  margin-top: 2em;
  padding-top: 2em;
  border-top: 1px solid var(--mainColor);
  color: var(--mainColor);
  text-align: center; }
  .contact_form_policy a {
    border-bottom: 1px solid currentColor;
    color: #006fff; }
  .contact_form_policy .bl_mailform {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 3em;
    gap: 1em; }

.contact_thanks {
  text-align: center; }

/*------------------------------
    mailformpro
--------------------------------*/
div#mfp_hidden {
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden; }

div#mfp_overlay {
  display: none;
  position: absolute;
  z-index: 10001; }

div#mfp_overlay_inner {
  width: 640px;
  max-width: 90%;
  margin: 0 auto;
  padding: 15px;
  border-radius: 5px;
  box-shadow: 0 0 10px #000;
  background-color: #fff; }

div#mfp_overlay_background {
  display: none;
  position: absolute;
  z-index: 10000;
  background-color: #000; }

div#mfp_loading_screen {
  display: none;
  opacity: .8;
  position: absolute;
  z-index: 20000;
  background-color: #000; }

div#mfp_loading {
  display: none;
  position: absolute;
  z-index: 20001;
  width: 40px;
  height: 40px;
  background-image: url("../assets/img/mfp_loading.gif"); }

div.mfp_err {
  display: none;
  clear: both;
  margin: 5px 0 0 0;
  padding: 3px 0 5px 0;
  color: #f00;
  font-size: 12px;
  line-height: normal;
  text-align: left; }

#mfp_phase_confirm_inner h4,
#mfp_phase_confirm_inner .mfp_buttons {
  display: none; }

#mfp_confirm_table {
  width: 100%;
  border-collapse: collapse; }
  #mfp_confirm_table * {
    box-sizing: border-box; }
  #mfp_confirm_table th,
  #mfp_confirm_table td {
    padding: 1em;
    border-bottom: 1px solid currentColor;
    box-sizing: border-box;
    font-weight: normal;
    text-align: left; }
    @media screen and (max-width: 767px) {
      #mfp_confirm_table th,
      #mfp_confirm_table td {
        display: block;
        padding: 0.5em; } }
  #mfp_confirm_table th {
    width: 280px; }
    @media screen and (max-width: 767px) {
      #mfp_confirm_table th {
        width: 100%;
        background: #f5f5f5; } }

/*------------------------------
    wordpress
--------------------------------*/
.wp-pagenavi {
  margin-top: 5em;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px; }
  .wp-pagenavi span,
  .wp-pagenavi a {
    font-size: var(--fz16);
    line-height: 1;
    display: inline-block;
    border: 1px solid currentColor;
    padding: 5px;
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    color: var(--mainColor); }
  .wp-pagenavi .current,
  .wp-pagenavi a:hover {
    background-color: var(--mainColor);
    color: #fff; }
