@charset "UTF-8";
:root {
  /* s0 : 0.5em(1文字16pxの半分の8pxの場合)
  	 s1 : 8
  	 s2 : 16
  	 s3 : 24
     s4 : 32
     s5 : 40
     s6 : 48
     s7 : 56
     s8 : 64
     s10 : 80
     s14 : 104
     s15 : 120
     s19 : 152
  */
  --s0: 0.5em;
  --s1: calc(var(--s0) * 1);
  --s2: calc(var(--s0) * 2);
  --s3: calc(var(--s0) * 3);
  --s4: calc(var(--s0) * 4);
  --s5: calc(var(--s0) * 5);
  --s6: calc(var(--s0) * 6);
  --s7: calc(var(--s0) * 7);
  --s8: calc(var(--s0) * 8);
  --s10: calc(var(--s0) * 10);
  --s13: calc(var(--s0) * 13);
  --s15: calc(var(--s0) * 15);
  --s19: calc(var(--s0) * 19);
  --s9: calc(var(--s0) * 9);
  --s11: calc(var(--s0) * 11);
  --s12: calc(var(--s0) * 12);
  --s14: calc(var(--s0) * 14);
}

:root {
  --spa: 35px;
  --spa2: 30px;
  --spaPlus: 15px;
}
@media screen and (max-width: 767px) {
  :root {
    --spa: 4.5vw;
    --spa2: 7.6vw;
    --spaPlus: 15px;
  }
}

:root {
  --cpt: 100px;
  --cpb: 120px;
}
@media screen and (max-width: 767px) {
  :root {
    --cpt: 80px;
    --cpb: 150px;
  }
}

:root {
  --minw: 1024px;
}

:root {
  --k: #222922;
  --k2: #454D4A;
  --k3: #929894;
  --w: #fff;
  --g1: #EDEDED;
  --g2: #EDEDED;
  --g3: #ccc;
  --g4: #aaa;
  --g5: #777;
  --g6: #666;
  --c1: #38B45E;
  --c1-hover: #2CC95C;
  --c2: #B7B5A2;
  --c3: #d8695d;
  --c4: #50cc85;
  --c5: #B277E0;
  --c6: #E0C332;
  --cCaution: #FF4141;
}

:root {
  --fzS: 1.4rem;
  --fz: 1.6rem;
  --fzM: 1.8rem;
  --fzL: 2.0rem;
}
@media screen and (max-width: 767px) {
  :root {
    --fzS: 1.3rem;
    --fz: 1.5rem;
    --fzM: 1.7rem;
    --fzL: 1.9rem;
  }
}

:root {
  --lhS: 1.4;
  --lh: 1.8;
  --lhL: 2.4;
}
@media screen and (max-width: 767px) {
  :root {
    --lhS: 1.4;
    --lh: 1.8;
    --lhL: 2.4;
  }
}

:root {
  --font1: "Zen Kaku Gothic New";
  --font2: "Inter";
}

:root {
  --header-height: 120px;
}
@media screen and (max-width: 767px) {
  :root {
    --header-height: 60px;
  }
}

:root {
  --bdrs1: 4px;
  --bdrs2: 6px;
  --opacity: 0.5;
  --bxs1: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
  --bxs2: 0px -6px 0px -2px rgba(0, 0, 0, 0.2) inset;
  --txs1: 0px 0px 12px rgba(0, 0, 0, 0.6);
  --grd1: linear-gradient(135deg, #ffa84c 0%, #ff7b0d 100%);
}

:root {
  --ease: cubic-bezier(0.25, 0.1, 0.25, 1);
  --linear: cubic-bezier(0, 0, 1, 1);
  --In: cubic-bezier(0.42, 0, 1, 1);
  --Out: cubic-bezier(0, 0, 0.58, 1);
  --InOut: cubic-bezier(0.42, 0, 0.58, 1);
  --easeInQuad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --easeOutQuad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --easeInOutQuad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  --easeInSine: cubic-bezier(0.47, 0, 0.745, 0.715);
  --easeOutSine: cubic-bezier(0.39, 0.575, 0.565, 1);
  --easeInOutSine: cubic-bezier(0.445, 0.05, 0.55, 0.95);
  --easeInCubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --easeOutCubic: cubic-bezier(0.215, 0.61, 0.355, 1);
  --easeInOutCubic: cubic-bezier(0.645, 0.045, 0.355, 1);
  --easeInQuart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --easeOutQuart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --easeInOutQuart: cubic-bezier(0.77, 0, 0.175, 1);
  --easeInQuint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  --easeOutQuint: cubic-bezier(0.23, 1, 0.32, 1);
  --easeInOutQuint: cubic-bezier(0.86, 0, 0.07, 1);
  --easeInExpo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --easeOutExpo: cubic-bezier(0.19, 1, 0.22, 1);
  --easeInOutExpo: cubic-bezier(1, 0, 0, 1);
  --easeInCirc: cubic-bezier(0.6, 0.04, 0.98, 0.335);
  --easeOutCirc: cubic-bezier(0.075, 0.82, 0.165, 1);
  --easeInOutCirc: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  --easeInBack: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  --easeOutBack: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --easeInOutBack: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --time: 200ms;
  --transition: all var(--time) var(--Out);
  --ease1: all var(--time) var(--ease);
  --ease2: all var(--time) cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --ease3: all var(--time) var(--easeInOutCubic);
}

/*==================================================================
    reset
===================================================================*/
html {
  background: var(--g1);
  font-size: 62.5%;
}

body {
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
  word-wrap: break-word;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
object,
iframe,
pre,
code,
p,
blockquote,
form,
fieldset,
legend,
table,
th,
td,
caption,
tbody,
tfoot,
thead,
article,
aside,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
audio,
video,
canvas {
  margin: 0;
  padding: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
menu {
  display: block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden] {
  display: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset,
img {
  border: none;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  font-weight: normal;
}

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

caption,
th {
  text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

q:before,
q:after {
  content: "";
}

abbr,
acronym {
  border: none;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

legend {
  color: #000;
}

a img,
map a {
  border: none;
}

a:hover,
a:active,
a:focus {
  outline: 0;
}

embed {
  width: 100%;
}

audio,
canvas,
video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

img,
object,
embed {
  max-width: 100%;
  height: auto;
}

object,
embed {
  height: 100%;
}

img {
  vertical-align: bottom;
  -ms-interpolation-mode: bicubic;
}

div {
  vertical-align: top;
}

strong {
  font-weight: bold;
}

em {
  font-style: normal;
}

select,
input,
button,
textarea,
button {
  font: 99% arial, sans-serif;
}

pre,
code,
kbd,
samp,
tt {
  font-family: monospace;
  line-height: 1;
}

/*  touch
---------------------------------------------*/
a,
img,
button,
input[type=button],
input[type=submit],
.touch-hover {
  -webkit-tap-highlight-color: transparent;
}

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

/*  table
---------------------------------------------*/
table {
  empty-cells: show;
  font-size: inherit;
  font: 100%;
}

/*  main
---------------------------------------------*/
/* IE10,11対策 main要素の高さと幅を認識させる */
@media all and (-ms-high-contrast: none) {
  main {
    display: block;
  }
}
/*  list
---------------------------------------------*/
li {
  list-style: none;
  line-height: 1;
}

/*  form
---------------------------------------------*/
input {
  line-height: 1;
}

form img,
input,
select {
  vertical-align: middle;
}

textarea {
  resize: none;
}

select {
  padding: 1px;
}

legend {
  display: none;
}

input,
select,
textarea,
button {
  font-size: var(--fz);
  vertical-align: middle;
  color: var(--k);
  height: auto;
}
@media screen and (max-width: 767px) {
  input,
  select,
  textarea,
  button {
    font-size: 1.6rem;
  }
}

textarea {
  height: auto;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=password],
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  font-size: var(--fz);
  font-family: var(--font1);
  width: 100%;
  padding: 1em 1.2em;
  border: 1px solid #ccc;
  background: #fff;
  font-weight: normal;
  border-radius: var(--bdrs2);
  color: var(--k2);
}
@media screen and (max-width: 767px) {
  input[type=text],
  input[type=tel],
  input[type=email],
  input[type=password],
  select,
  textarea {
    font-size: 1.6rem;
    padding: 1em 1.2em;
  }
}

input::placeholder {
  opacity: 0.6;
}

/* ======= outline ======= */
input[type=email],
input[type=text],
input[type=number],
input[type=password],
textarea,
select {
  outline: none;
}

/* ======= label ======= */
label {
  margin-right: 1em;
  line-height: 1;
}

/*==================================================================
    utility
===================================================================*/
/* ------------------------------------------------------------------
  Visual utility
-------------------------------------------------------------------*/
/*  display
---------------------------------------------*/
.noDisplay {
  display: none !important;
}

.block {
  display: block !important;
}

.inline {
  display: inline !important;
}

.inlineBlock {
  display: inline-block !important;
}

/* ======= display none ======= */
@media screen and (min-width: 768px) {
  .pcNone {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .spNone {
    display: none !important;
  }
}
/*  overflow
----------------------------*/
.ofx-h {
  overflow-x: hidden;
}

@media screen and (max-width: 767px) {
  .scrollWSp {
    overflow: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
}
/* .firstload
※初回読み込み時のCSSトランジション防止
----------------------------*/
.firstload {
  transition: 0s !important;
  animation-duration: 0s !important;
}

/* タップ制御
----------------------------*/
.touch-none {
  /* 選択不可にする */
  user-select: none;
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Safari */
  -moz-user-select: none;
  -ms-user-select: none; /* Internet Explorer/Edge */
  /* ダブルタップでのズームを禁止 */
  touch-action: manipulation;
  /* タップした際のハイライトを透明にする */
  -webkit-tap-highlight-color: transparent;
}

.events-none {
  pointer-events: none;
}

/*==================================================================
    general
===================================================================*/
/* -----------------------------------------------
    font
------------------------------------------------*/
body {
  font-family: var(--font1), "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-size: var(--fz);
  color: var(--k);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  font-feature-settings: "palt" 1;
  font-kerning: normal;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/*  scrollbar
------------------------------------*/
@media (pointer: fine) {
  ::-webkit-scrollbar {
    width: 4px;
    height: 4px;
  }
  ::-webkit-scrollbar-track {
    background-color: transparent;
  }
  ::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.2);
  }
  /* firefox */
  @-moz-document url-prefix() {
    html {
      scrollbar-color: rgba(0, 0, 0, 0.2) rgba(255, 255, 255, 0);
      scrollbar-width: thin;
    }
  }
}
/* -----------------------------------------------
    p
------------------------------------------------*/
p {
  font-size: var(--fz);
  line-height: var(--lh);
}

/* ======= hiwrite ======= */
::selection {
  color: var(--w);
  background: var(--c1);
}

/* ======= テキストの下線スタイル ======= */
.underHiwrite {
  background: linear-gradient(transparent 80%, #ff0 80%);
}

/* ======= 上付き文字、下付き文字 ======= */
.supText {
  font-size: 75.5%;
  vertical-align: top;
  position: relative;
  top: -0.1em;
}

.subText {
  font-size: 75.5%;
  vertical-align: bottom;
  position: relative;
  top: 0.1em;
}

/* ======= 注釈 ======= */
.annotation {
  color: #666;
  font-size: var(--fzS);
}

/* -----------------------------------------------
    link
------------------------------------------------*/
a {
  text-decoration: none;
  transition: var(--transition);
}

.pc a:hover {
  text-decoration: none;
}

/*  a img
---------------------------------------------*/
a img {
  transition: var(--transition);
}

a[href^="tel:"] {
  cursor: default;
}

/* ======= hover ======= */
a[href^="tel:"]:hover img {
  opacity: 1;
}

/*  .link - decoration underline
---------------------------------------------*/
a.link {
  color: var(--c1);
  text-decoration: underline;
}

.pc a.link:hover {
  text-decoration: none;
  color: var(--c1);
}

/*==================================================================
    layout
===================================================================*/
/*  container
---------------------------------------------*/
.container {
  --mw: 1000px;
  width: 100%;
  box-sizing: border-box;
  max-width: calc(var(--mw) + var(--spa) * 2);
  padding-right: var(--spa);
  padding-left: var(--spa);
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .container {
    max-width: none;
  }
}
.container.-large {
  --mw: 1150px;
}
@media screen and (min-width: 1501px) {
  .container.-large {
    --mw: min(1460px, 80vw);
  }
}
.container.-small {
  --mw: 860px;
}
.container.-min {
  --mw: 660px;
}
.container.-fluid {
  max-width: none;
  padding-right: 0;
  padding-left: 0;
}
.container.-center {
  flex-direction: column;
  display: flex;
  align-items: center;
}

/* bg-white
---------------------------------------------------------------------------*/
.bg-white {
  width: 100%;
  border-radius: 60px;
  background-color: var(--w);
}
@media screen and (max-width: 767px) {
  .bg-white {
    border-radius: 40px;
  }
}
.bg-white_inner {
  padding-top: 110px;
  padding-bottom: 150px;
}
@media screen and (max-width: 767px) {
  .bg-white_inner {
    padding-top: 50px;
    padding-bottom: 60px;
  }
}
.bg-white.-companyName {
  position: relative;
  overflow-x: hidden;
}
.bg-white.-companyName::before {
  content: "";
  display: block;
  position: absolute;
  top: 120px;
  left: -40px;
  width: 140px;
  height: 900px;
  background-image: url(../img/common/txt_cessgumo.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .bg-white.-companyName::before {
    display: none;
  }
}

/* main
---------------------------------------------------------------------------*/
main {
  min-height: 50vh;
}

/*==================================================================
    form
===================================================================*/
/*  autofill
---------------------------------------------*/
input:-webkit-autofill {
  box-shadow: 0 0 0px 1000px rgb(250, 250, 250) inset;
}

/*  hover
---------------------------------------------*/
input[type=text],
input[type=tel],
input[type=email],
input[type=password],
select,
textarea {
  transition: var(--transition);
}

@media (hover: hover) and (pointer: fine) {
  input[type=text]:hover,
  input[type=tel]:hover,
  input[type=email]:hover,
  input[type=password]:hover,
  select:hover,
  textarea:hover {
    border: 1px solid var(--c1);
    background-color: #fff;
  }
}
/*  focus
---------------------------------------------*/
input:focus,
select:focus,
textarea:focus {
  color: #000000;
}

input[type=text]:focus,
input[type=tel]:focus,
input[type=email]:focus,
input[type=password]:focus,
select:focus,
textarea:focus {
  border: 1px solid var(--c1);
}

input[type=button]:focus,
input[type=submit]:focus,
button[type=submit]:focus,
input[type=file],
input[type=text]:focus,
input[type=tel]:focus,
input[type=password]:focus,
button:focus {
  outline: none;
}

/*  input.short
---------------------------------------------*/
input.short,
select.short,
textarea.short {
  width: 40%;
}

@media screen and (max-width: 767px) {
  input.short,
  select.short,
  textarea.short {
    width: 100%;
  }
}
/*  must 必須項目の※
---------------------------------------------*/
.must {
  color: var(--cCaution);
  font-size: 80%;
  vertical-align: top;
  position: relative;
  top: -0.4em;
  right: -0.2rem;
}

/*  button submit
---------------------------------------------*/
input[type=button],
input[type=submit] {
  -webkit-appearance: none;
  appearance: none;
  display: inline-block;
  color: var(--w);
  background-color: var(--c1);
  border: 0;
  padding: 0rem 3rem;
  margin-bottom: 0.5em;
  text-align: center;
  font-weight: bold;
  border-radius: var(--bdrs1);
  height: 50px;
  position: relative;
  transition: var(--transition);
}

@media (hover: hover) and (pointer: fine) {
  input[type=button]:hover,
  input[type=submit]:hover {
    opacity: 0.8;
    cursor: pointer;
  }
}
/*  checkbox radio
---------------------------------------------*/
/* ======= common ======= */
input[type=checkbox],
input[type=radio] {
  transform-origin: right bottom;
  transform: scale(1, 1);
  cursor: pointer;
}

input[type=checkbox]:focus,
input[type=radio]:focus {
  outline: 0;
}

label.checkbox,
label.radio {
  padding-left: 1.5em;
  margin-bottom: 0.5em;
  display: inline-block;
  cursor: pointer;
  letter-spacing: 0;
}

label.checkbox input,
label.radio input {
  opacity: 0;
}

label.checkbox span,
label.radio span {
  display: inline-block;
  position: relative;
}

/* ======= checkbox ======= */
label.checkbox span::before,
label.checkbox span::after {
  content: "";
  display: block;
  position: absolute;
  transition: var(--transition);
}

label.checkbox span::before {
  top: 50%;
  transform: translateY(-50%);
  left: -22px;
  width: 16px;
  height: 16px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: var(--bdrs1);
}

label.checkbox input[type=checkbox]:checked + span::before {
  background: var(--c2);
  border: 1px solid var(--c2);
}

label.checkbox input[type=checkbox]:checked + span::after {
  position: absolute;
  content: "";
  display: block;
  top: 3px;
  left: -19px;
  width: 10px;
  height: 5px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}

/* ======= radio ======= */
label.radio span::before,
label.radio span::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transition: var(--transition);
}

label.radio span::before {
  left: -22px;
  width: 18px;
  height: 18px;
  background: #fff;
  border: 1px solid #bcc2ba;
  border-radius: 100%;
  transform: translateY(-50%);
}

label.radio span::after {
  opacity: 0;
  left: -19px;
  transform-origin: center;
  transform: translateY(-50%) scale(1);
}

label.radio input[type=radio]:checked + span::after {
  opacity: 1;
  left: -19px;
  width: 12px;
  height: 12px;
  background: var(--c2);
  border-radius: 100%;
}

/*  input file
---------------------------------------------*/
input[type=file] {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}

label.file {
  display: inline-block;
  color: var(--w);
  font-size: var(--fz);
  background-color: var(--c1);
  padding: 1rem 2.5rem;
  margin-bottom: 0.8rem;
  border-radius: var(--bdrs2);
  cursor: pointer;
  transition: var(--transition);
}

/* ======= hover ======= */
@media (hover: hover) and (pointer: fine) {
  label.file:hover {
    background-color: var(--c2);
  }
}
/*  select
---------------------------------------------*/
select {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  position: relative;
  height: 40px;
  padding-left: 1rem;
  border-radius: var(--bdrs1);
  cursor: pointer;
  line-height: 1;
}

label.select {
  position: relative;
  display: block;
}

label.select::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  top: 50%;
  transform: translateY(-50%);
  right: 1px;
  width: 38px;
  height: 38px;
}

label.select::after {
  position: absolute;
  content: "";
  display: block;
  z-index: 2;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
  border-top: 6px solid var(--k);
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  font-size: 1.4rem;
}

/*
表示確認済みPC : chrome,safari,edge,firefoxはアップデードでselectの疑似要素がOKになりました。
※ IE11~9はデフォルト表示
確認済みSP : 【ios12】 Safari/chrome 【android7】chrome
*/
/* IE9以下はデフォルト */
label.select::after,
label.select::before {
  display: none\9 ;
}

/* IE10,11はデフォルト */
@media all and (-ms-high-contrast: none) {
  label.select::after,
  label.select::before {
    display: none;
  }
}
/* ======= sp ======= */
@media screen and (max-width: 767px) {
  label.select::after {
    right: 10px;
    border-top: 5px solid var(--k);
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    font-size: 1.4rem;
  }
}
/* form_table
---------------------------------------------------------------------------*/
.form_table {
  max-width: calc(715px + var(--spa) * 2);
  margin-inline: auto;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .form_table {
    margin-bottom: 50px;
  }
}
.form_table > dl {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .form_table > dl {
    flex-direction: column;
  }
}
.form_table > dl dt {
  --top: 1.5em;
  width: 30%;
  padding-top: var(--top);
  font-weight: bold;
  position: relative;
}
@media screen and (max-width: 767px) {
  .form_table > dl dt {
    width: 100%;
    margin-bottom: 1.5em;
  }
}
.form_table > dl dt .req {
  text-align: left;
  text-indent: -9999px;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .form_table > dl dt .req {
    position: relative;
  }
}
.form_table > dl dt .req::before {
  --width: 3.5em;
  text-indent: 0px;
  content: "必須";
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: calc(-1 * (var(--width) + 1em));
  top: calc(var(--top) + 0.25em);
  color: var(--cCaution);
  font-weight: bold;
  font-size: 1.2rem;
  text-align: center;
  width: var(--width);
  height: 2em;
  letter-spacing: 0;
  border-radius: 999px;
  border: 1px solid var(--cCaution);
}
@media screen and (max-width: 767px) {
  .form_table > dl dt .req::before {
    left: 0.8em;
    top: -0.25em;
  }
}
.form_table > dl dd {
  width: 70%;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .form_table > dl dd {
    width: 100%;
  }
}
.form_table .kiyaku {
  padding-top: 5em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .form_table .kiyaku {
    padding-top: 3em;
    text-align: left;
  }
}
.form_table .kiyaku p {
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .form_table .kiyaku p {
    font-size: 1.4rem;
    text-align: left !important;
  }
}
@media screen and (max-width: 767px) {
  .form_table .kiyaku br {
    display: none;
  }
}
.form_table .kiyaku a {
  color: var(--k);
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  .form_table .kiyaku a:hover {
    text-decoration: none;
  }
}
.form_table .fullbox dt {
  width: 100%;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .form_table .fullbox dt {
    margin-bottom: 15px;
  }
}
.form_table .fullbox dd {
  width: 100%;
}
.form_table .fullbox .mwform-checkbox-field {
  width: 100%;
  display: block;
  color: var(--k2);
  font-weight: normal;
}
.form_table .fullbox .mwform-checkbox-field:not(:last-of-type) {
  border-bottom: 1px solid #ccc;
}

/* mw_wp_form
---------------------------------------------------------------------------*/
.mw_wp_form .btnWrap {
  text-align: center;
}
.mw_wp_form .btnWrap input[type=submit] {
  width: 100%;
  max-width: 320px;
  border-radius: 999px;
  height: 65px;
  font-size: 1.8rem;
  font-family: var(--font1);
  margin-bottom: 0;
}
@media (hover: hover) and (pointer: fine) {
  .mw_wp_form .btnWrap input[type=submit]:hover {
    cursor: pointer;
    background-color: var(--c1-hover);
  }
}
.mw_wp_form .mwform-checkbox-field input[type=checkbox] {
  display: none;
}
.mw_wp_form .mwform-checkbox-field label {
  padding: 1.25em 1em;
  width: 100%;
  display: block;
  line-height: 1.2;
  padding-left: 2em;
  display: block;
  margin-right: 0;
  cursor: pointer;
  letter-spacing: 0;
}
@media (hover: hover) and (pointer: fine) {
  .mw_wp_form .mwform-checkbox-field label:hover {
    cursor: pointer;
  }
}
.mw_wp_form .mwform-checkbox-field label input {
  opacity: 0;
}
.mw_wp_form .mwform-checkbox-field label span {
  display: inline-block;
  position: relative;
  transition: color 0.2s ease;
}
.mw_wp_form .mwform-checkbox-field label span::before, .mw_wp_form .mwform-checkbox-field label span::after {
  content: "";
  display: block;
  position: absolute;
  transition: var(--transition);
}
.mw_wp_form .mwform-checkbox-field label span::before {
  top: calc(50% + 1px);
  transform: translateY(-50%);
  left: -28px;
  width: 20px;
  height: 20px;
  background: #fff;
  border: 1px solid var(--k3);
  border-radius: var(--bdrs1);
}
.mw_wp_form .mwform-checkbox-field label input[type=checkbox]:checked + span::before {
  background: var(--c1);
  border: 1px solid var(--c1);
}
.mw_wp_form .mwform-checkbox-field label input[type=checkbox]:checked + span::after {
  position: absolute;
  content: "";
  display: block;
  top: calc(50% - 5px);
  left: -24px;
  width: 12px;
  height: 7px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}
@media (hover: hover) and (pointer: fine) {
  .mw_wp_form .mwform-checkbox-field label:hover span {
    color: var(--c1);
  }
}
.mw_wp_form .mwform-radio-field input[type=radio] {
  display: none;
}
.mw_wp_form .mwform-radio-field label {
  padding: 0.8em 1em;
  width: 100%;
  display: block;
  line-height: 1.2;
  padding-left: 2em;
  display: block;
  margin-right: 0;
  cursor: pointer;
  letter-spacing: 0;
}
@media (hover: hover) and (pointer: fine) {
  .mw_wp_form .mwform-radio-field label:hover {
    cursor: pointer;
  }
}
.mw_wp_form .mwform-radio-field label input {
  opacity: 0;
}
.mw_wp_form .mwform-radio-field label span {
  display: inline-block;
  position: relative;
  transition: color 0.2s ease;
}
.mw_wp_form .mwform-radio-field label span::before, .mw_wp_form .mwform-radio-field label span::after {
  content: "";
  display: block;
  position: absolute;
  transition: var(--transition);
}
.mw_wp_form .mwform-radio-field label span::before {
  top: calc(50% + 1px);
  transform: translateY(-50%);
  left: -28px;
  width: 20px;
  height: 20px;
  background: #fff;
  border: 1px solid var(--k3);
  border-radius: 50%;
}
.mw_wp_form .mwform-radio-field label input[type=radio]:checked + span::after {
  position: absolute;
  content: "";
  display: block;
  top: calc(50% - 5px);
  left: -24px;
  width: 12px;
  height: 12px;
  background-color: var(--c1);
  border-radius: 50%;
}
@media (hover: hover) and (pointer: fine) {
  .mw_wp_form .mwform-radio-field label:hover span {
    color: var(--c1);
  }
}

/*==================================================================
    .headline
===================================================================*/
.h-enSmall {
  font-family: var(--font2);
  letter-spacing: 0;
  font-size: clamp(1.2rem, 0.8vw, 1.8rem);
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .h-enSmall {
    font-size: 1.2rem;
  }
}

/* h01
---------------------------------------------------------------------------*/
.h01 {
  font-size: 5rem;
  font-family: var(--font2);
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 0.5em;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .h01 {
    font-size: 3.2rem;
  }
}
.h01 span {
  display: block;
  font-weight: bold;
  font-size: 1.3rem;
  font-weight: bold;
  letter-spacing: 0.2em;
  color: #111;
}
@media screen and (max-width: 767px) {
  .h01 span {
    font-size: 1.2rem;
  }
}
.h01.-white {
  color: var(--w);
}
.h01.-white span {
  color: var(--w);
}

/* h02
---------------------------------------------------------------------------*/
.h02 {
  display: inline-block;
  margin-bottom: 40px;
}
.h02 a {
  color: var(--k);
}
.h02 ._jp {
  font-size: 3.5rem;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .h02 ._jp {
    font-size: 2.1rem;
    display: block;
  }
}
.h02 ._en {
  font-family: var(--font2);
  color: var(--k3);
  font-size: 1.6rem;
  letter-spacing: 0;
  display: inline-block;
  padding-left: 1em;
}
@media screen and (max-width: 767px) {
  .h02 ._en {
    font-size: 1.2rem;
    padding-left: 0.25em;
    padding-top: 0.2em;
  }
}
@media (hover: hover) and (pointer: fine) {
  .h02 a:hover {
    opacity: 0.5;
  }
}

/* h03
---------------------------------------------------------------------------*/
.h03 {
  display: inline-block;
}
.h03 ._en {
  font-family: var(--font2);
  font-weight: bold;
  font-size: 2.4rem;
  display: block;
  letter-spacing: 0;
  margin-bottom: 0.25em;
  line-height: 1;
}
.h03 ._jp {
  font-weight: bold;
  font-size: 1.2rem;
  color: var(--k2);
}

/*==================================================================
    .txt
===================================================================*/
/*==================================================================
    .icon
===================================================================*/
/*==================================================================
    .btn
===================================================================*/
.btn {
  display: inline-block;
  text-align: center;
  font-weight: bold;
  border-radius: 999px;
  padding: 1.25em 4em 1.25em 3em;
  font-size: 1.6rem;
  color: var(--k);
  background: var(--w);
  position: relative;
  z-index: 1;
  box-shadow: 0px 20px 20px 0px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .btn {
    font-size: 1.5rem;
  }
}
.btn span {
  display: block;
  position: relative;
  line-height: 1.35;
}
.btn span::before, .btn span::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: -1.5em;
  width: 9px;
  height: 10px;
  background-repeat: no-repeat;
  background-size: contain;
  transition: var(--transition);
  transform: translateY(-50%);
}
.btn span::before {
  opacity: 1;
  background-image: url("../img/common/icon_arrow.svg");
}
.btn span::after {
  background-image: url("../img/common/icon_arrow_w.svg");
  opacity: 0;
  transform: translateY(-50%) translateX(-1em);
}
.btn span._minusY::before, .btn span._minusY::after {
  top: calc(50% + 1px);
}
.btn.btn-youtube span::before, .btn.btn-youtube span::after {
  width: 21px;
  height: 15px;
  right: -1.75em;
}
.btn.btn-youtube span::before {
  background-image: url("../img/common/icon_youtube.svg");
}
.btn.btn-youtube span::after {
  background-image: url("../img/common/icon_youtube_w.svg");
}
.btn em {
  font-weight: bold;
}
@media (hover: hover) and (pointer: fine) {
  .btn:hover {
    color: var(--w);
    background-color: var(--c1);
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
  }
  .btn:hover span::before {
    opacity: 0;
    transform: translateY(-50%) translateX(1em);
  }
  .btn:hover span::after {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
  }
}

/* link-topic
---------------------------------------------------------------------------*/
.link-topic {
  --w: 37.5%;
  display: flex;
  align-items: center;
  color: var(--k);
  padding-top: 30px;
  padding-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .link-topic {
    flex-direction: column;
  }
}
.link-topic_l {
  width: var(--w);
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  aspect-ratio: 16/9;
}
@media screen and (max-width: 767px) {
  .link-topic_l {
    width: 100%;
    margin-bottom: 20px;
    height: auto;
    overflow: visible;
    max-width: 420px;
  }
}
.link-topic_l img {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  transform-origin: left top;
}
@media screen and (max-width: 767px) {
  .link-topic_l img {
    position: static;
    transform: translateX(0) translateY(0);
    border-radius: 8px;
  }
}
.link-topic_r {
  width: calc(100% - var(--w));
  padding-left: 7%;
}
@media screen and (max-width: 767px) {
  .link-topic_r {
    width: 100%;
    padding-left: 0;
  }
}
.link-topic_r .title {
  display: block;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.6;
  padding-bottom: 0.5em;
  transition: opacity 0.2s ease-out;
}
.link-topic_r .time {
  font-family: var(--font2);
  font-weight: bold;
  font-size: 1.2rem;
  color: var(--k);
  opacity: 0.5;
  display: block;
  margin-bottom: 0.75em;
}
@media screen and (max-width: 767px) {
  .link-topic_r .time {
    font-size: 1.1rem;
  }
}
.link-topic_r .tag {
  display: flex;
  flex-wrap: wrap;
  opacity: 0.5;
}
.link-topic_r .tag li {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 767px) {
  .link-topic_r .tag li {
    font-size: 1.1rem;
  }
}
.link-topic_r .tag li:not(:last-child) {
  margin-right: 0.8em;
}
@media screen and (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .link-topic:hover .link-topic_l img {
    transform: scale(1.05) translateX(-50%) translateY(-50%);
  }
  .link-topic:hover .title {
    opacity: 0.6;
  }
}

/*  link-external
------------------------------------*/
.link-external {
  display: inline-block;
  color: var(--k);
  position: relative;
  z-index: 1;
  padding-right: 1.5em;
}
.link-external::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0em;
  width: 17px;
  height: 10px;
  background-repeat: no-repeat;
  background-size: contain;
  transition: var(--transition);
  transform: translateY(-50%);
  background-image: url("../img/common/icon_external.svg");
}
.link-external.-green::after {
  background-image: url("../img/common/icon_external2_g.svg");
}

/* btn-cta
---------------------------------------------------------------------------*/
.btn-cta {
  display: block;
  text-align: center;
  width: 100%;
  background-color: var(--c1);
  color: var(--w);
  font-weight: bold;
  font-size: 2.2rem;
  padding: 25px 1.5em 26px;
  position: relative;
  border-radius: 999px;
  line-height: 1.1;
  box-shadow: 0 15px 20px 0 rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .btn-cta {
    max-width: 400px;
    font-size: 1.8rem;
    margin-inline: auto;
  }
  .btn-cta > span {
    display: inline-block;
    transform: translateX(-1em);
  }
}
.btn-cta i {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  transition: all 0.4s var(--easeOutQuint);
}
@media screen and (max-width: 767px) {
  .btn-cta i {
    right: 20px;
  }
}
.btn-cta i span {
  position: relative;
  width: 50px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background-color: var(--w);
  z-index: 1;
}
.btn-cta i span::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 120%;
  height: 120%;
  border-radius: 50%;
  background-color: var(--w);
  opacity: 0.2;
  z-index: -1;
  transition: all 0.4s var(--easeOutQuint);
}
@media (hover: hover) and (pointer: fine) {
  .btn-cta:hover {
    background-color: var(--c1-hover);
    box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.1);
  }
  .btn-cta:hover i {
    transform: translateY(-50%) scale(1.05);
  }
  .btn-cta:hover i span::before {
    transform: translateX(-50%) translateY(-50%) scale(1.05);
    opacity: 0.3;
    transition-delay: 0.1s;
  }
}

/* btgn-external
googlemapで見る で使用している外部リンクボタン
---------------------------------------------------------------------------*/
.btn-external {
  font-size: 1.4rem;
  font-weight: bold;
  color: var(--k);
  display: inline-block;
  padding: 1.5em 2em;
  border-radius: 999px;
  background-color: var(--w);
  box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.2);
}
.btn-external span {
  display: inline-block;
  padding-right: 1.5em;
  position: relative;
}
.btn-external span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.2em;
  right: 0;
  width: 1em;
  height: 0.8em;
  background-image: url("../img/common/icon_external2.svg");
  background-repeat: no-repeat;
  background-size: contain;
}
.btn-external.-green span::before {
  background-image: url("../img/common/icon_external2_g.svg");
}
@media (hover: hover) and (pointer: fine) {
  .btn-external:hover {
    opacity: 0.7;
  }
}

/*==================================================================
    .table
===================================================================*/
/* table-basic
---------------------------------------------------------------------------*/
.table-basic {
  --p: 1.5em;
  --lw: 12em;
  width: 100%;
  position: relative;
}
.table-basic tr {
  width: 100%;
}
.table-basic tr:not(:last-child) {
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
  .table-basic tr:not(:last-child) {
    border-bottom: 0;
  }
}
.table-basic th {
  width: var(--lw);
  padding: calc(var(--p) + 0.35em) var(--p) var(--p);
  font-size: clamp(1.4rem, 1vw, 1.6rem);
  font-weight: bold;
  vertical-align: top;
  line-height: 1.1;
}
@media screen and (max-width: 767px) {
  .table-basic th {
    text-align-last: left;
    display: block;
    width: 100%;
    padding: 10px 10px 10px 10px;
    border: 0;
    border-bottom: 1px solid rgba(204, 204, 204, 0.5);
    border-right: 0;
    font-size: 1.5rem;
  }
}
.table-basic td {
  width: calc(100% - var(--lw));
  padding: var(--p);
  border: 0;
  font-size: clamp(1.4rem, 1vw, 1.6rem);
  color: var(--k2);
  line-height: 1.8;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  .table-basic td {
    display: block;
    width: 100%;
    padding: 15px 10px 25px;
    border: 0;
    border-bottom: 0;
    font-size: 1.4rem;
  }
}
.table-basic .listItem01 li:not(:last-child) {
  margin-bottom: 1em;
}
.table-basic .listItem01 li span {
  display: block;
  margin-bottom: 0.3em;
}
.table-basic .listItem01 li small {
  font-size: 0.8em;
  color: var(--k3);
  line-height: 1.4;
}
.table-basic .listItem02 li {
  display: inline-block;
  position: relative;
}
.table-basic .listItem02 li:not(:last-child)::after {
  content: " / ";
  display: inline-block;
  padding: 0 0.2em 0 0.5em;
}

/*==================================================================
    .list
===================================================================*/
/*  list-news
------------------------------------*/
.list-news li:not(:last-child) {
  border-bottom: 1px solid rgba(34, 41, 34, 0.1);
}
.list-news li a {
  display: flex;
  padding: 1.5em 5em 1.5em 2em;
  position: relative;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;
  color: var(--k);
}
@media screen and (max-width: 767px) {
  .list-news li a {
    flex-direction: column;
    font-size: 1.2rem;
    font-weight: normal;
    padding: 1.5em 3em 1.5em 0.5em;
  }
}
.list-news li a::before {
  --h: 10px;
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - var(--h) / 2);
  right: 1em;
  width: 9px;
  height: var(--h);
  background-image: url("../img/common/icon_arrow.svg");
  background-repeat: no-repeat;
  background-size: contain;
  transition: transform 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .list-news li a::before {
    right: 0.5em;
  }
}
.list-news li a time {
  font-family: var(--font2);
  font-size: 1.4rem;
  font-weight: bold;
  display: inline-block;
  padding-right: 2em;
  letter-spacing: 0;
  opacity: 0.3;
}
@media screen and (max-width: 767px) {
  .list-news li a time {
    line-height: 1;
    font-size: 1.2rem;
    padding-right: 0;
    margin-bottom: 0.5em;
  }
}
.list-news li a span {
  transition: opacity 0.3s ease-out;
}
@media (hover: hover) and (pointer: fine) {
  .list-news li a:hover span {
    opacity: 0.5;
  }
  .list-news li a:hover::before {
    transform: translateX(50%);
  }
}

/*  list-archives
------------------------------------*/
.list-archives {
  margin-bottom: 90px;
}
@media screen and (max-width: 767px) {
  .list-archives {
    margin-bottom: 60px;
  }
}
.list-archives li {
  position: relative;
}
.list-archives li::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0%;
  height: 1px;
  background-color: var(--c1);
  transition: width 0.4s var(--easeInOutQuart);
}
.list-archives li:not(:last-child) {
  border-bottom: 1px solid rgba(34, 41, 34, 0.1);
}
.list-archives li:has(a:hover)::before {
  width: 100%;
}
.list-archives li a {
  display: flex;
  padding: 40px 4em 40px 0em;
  position: relative;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;
  color: var(--k);
}
@media screen and (max-width: 767px) {
  .list-archives li a {
    flex-direction: column;
    font-size: 1.2rem;
    font-weight: normal;
    padding: 2.5em 4em 2.5em 0.8em;
  }
}
.list-archives li a::before {
  --h: 10px;
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - var(--h) / 2);
  right: 2em;
  width: 9px;
  height: var(--h);
  background-image: url("../img/common/icon_arrow.svg");
  background-repeat: no-repeat;
  background-size: contain;
  transition: transform 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .list-archives li a::before {
    right: 1.5em;
  }
}
.list-archives li a time {
  font-family: var(--font2);
  font-size: 1.6rem;
  font-weight: bold;
  display: block;
  padding-right: 0.8em;
  letter-spacing: 0;
  width: 120px;
  opacity: 0.3;
}
@media screen and (max-width: 767px) {
  .list-archives li a time {
    line-height: 1;
    font-size: 1.2rem;
    padding-right: 0;
    margin-bottom: 0.75em;
  }
}
.list-archives li a .inner {
  width: calc(100% - 120px);
  margin-top: -0.2em;
}
@media screen and (max-width: 767px) {
  .list-archives li a .inner {
    width: 100%;
    margin-top: 0;
  }
}
.list-archives li a span, .list-archives li a time {
  transition: var(--transition);
}
.list-archives li a .title {
  display: block;
  font-size: 2.4rem;
  line-height: 1.2;
  font-weight: bold;
  margin-bottom: 0.5em;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .list-archives li a .title {
    font-size: 1.8rem;
  }
}
.list-archives li a .subtxt {
  display: block;
  font-size: 1.4rem;
  color: var(--k3);
  font-weight: normal;
  letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
  .list-archives li a .subtxt {
    font-size: 1.1rem;
    line-height: 1.35;
  }
}
@media (hover: hover) and (pointer: fine) {
  .list-archives li a:hover span {
    color: var(--c1);
  }
  .list-archives li a:hover time {
    color: var(--c1);
  }
  .list-archives li a:hover::before {
    transform: translateX(50%);
  }
}

/* -------------------------------------------------------------------------
 .pagenation
---------------------------------------------------------------------------*/
.pagenation {
  --size: 60px;
  text-align: center;
  font-size: 20px;
  overflow-x: hidden;
  padding-top: 5px;
  padding-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .pagenation {
    --size: 40px;
    padding-top: 0;
    padding-bottom: 0;
  }
}
.pagenation_inner {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .pagenation_inner {
    width: 100%;
  }
}
.pagenation_inner ul {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .pagenation_inner ul {
    gap: 5px;
  }
}
.pagenation_inner li .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  width: var(--size);
  height: var(--size);
  font-weight: bold;
  color: var(--k);
  text-decoration: none;
  font-family: var(--font2);
  font-size: 2rem;
}
@media (hover: hover) and (pointer: fine) {
  .pagenation_inner li .page-numbers:hover {
    opacity: 1;
    background-color: var(--w);
    box-shadow: 0 10px 20px 0px rgba(0, 0, 0, 0.1);
  }
}
@media screen and (max-width: 767px) {
  .pagenation_inner li .page-numbers {
    font-size: 1.6rem;
  }
}
.pagenation_inner li .page-numbers.current {
  background-color: var(--c1);
  color: var(--w);
}
@media (hover: hover) and (pointer: fine) {
  .pagenation_inner li .page-numbers.current:hover {
    cursor: initial;
    background-color: var(--c1);
    box-shadow: none;
  }
}
.pagenation_inner li .page-numbers.dots {
  border: 0;
}
@media (hover: hover) and (pointer: fine) {
  .pagenation_inner li .page-numbers.dots:hover {
    background-color: transparent;
    cursor: initial;
    box-shadow: none;
  }
}
.pagenation_inner li .page-numbers.next, .pagenation_inner li .page-numbers.prev {
  border-radius: 50%;
  height: var(--size);
  width: var(--size);
  position: relative;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}
.pagenation_inner li .page-numbers.next::after, .pagenation_inner li .page-numbers.prev::after {
  content: "";
  display: block;
  position: absolute;
  width: 9.46px;
  height: 10.12px;
  background: url(../img/common/icon_arrow_k.svg);
  background-repeat: no-repeat;
  background-size: contain;
  right: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  transition: var(--transition);
}
@media (hover: hover) and (pointer: fine) {
  .pagenation_inner li .page-numbers.next:hover, .pagenation_inner li .page-numbers.prev:hover {
    opacity: 1;
    box-shadow: none;
    background-color: transparent;
  }
  .pagenation_inner li .page-numbers.next:hover::after, .pagenation_inner li .page-numbers.prev:hover::after {
    transform: translateX(0%) translateY(-50%);
  }
}
.pagenation_inner li .page-numbers.prev::after {
  transform: translateX(-50%) translateY(-50%) rotateY(-180deg);
}
@media (hover: hover) and (pointer: fine) {
  .pagenation_inner li .page-numbers.prev:hover::after {
    transform: translateX(-100%) translateY(-50%) rotateY(-180deg);
  }
}

/* -------------------------------------------------------------------------
 pagenation-single
---------------------------------------------------------------------------*/
.pagenation-single {
  text-align: right;
}
@media screen and (max-width: 767px) {
  .pagenation-single {
    display: flex;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .pagenation-single > li {
    flex-grow: 1;
  }
}
@media screen and (max-width: 767px) {
  .pagenation-single > li:nth-child(1) {
    order: 1;
  }
}
@media screen and (max-width: 767px) {
  .pagenation-single > li:nth-child(2) {
    order: 0;
  }
}
@media screen and (max-width: 767px) {
  .pagenation-single > li:nth-child(3) {
    order: 2;
  }
}
.pagenation-single ._btn {
  display: inline-block;
  padding: 1.25em 1.5em;
  border-radius: 999px;
  width: 100%;
  max-width: 160px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .pagenation-single ._btn {
    padding: 1.25em 1em;
  }
}
.pagenation-single ._btn span {
  font-weight: bold;
  font-size: 1.6rem;
  color: var(--k);
  display: inline-block;
  position: relative;
  transform: translateX(-0.5em);
}
@media screen and (max-width: 767px) {
  .pagenation-single ._btn span {
    font-size: 1.3rem;
  }
}
.pagenation-single ._btn span i {
  position: absolute;
  right: -1.25em;
  top: 0;
}
.pagenation-single ._btn span i svg rect, .pagenation-single ._btn span i svg path {
  transition: var(--transition);
}
@media (hover: hover) and (pointer: fine) {
  .pagenation-single ._btn:hover {
    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.16);
  }
  .pagenation-single ._btn:hover svg rect, .pagenation-single ._btn:hover svg path {
    fill: var(--c1);
  }
}
@media screen and (max-width: 767px) {
  .pagenation-single ._btn.btn-archivePrev span {
    transform: translateX(0.5em);
  }
  .pagenation-single ._btn.btn-archivePrev span i {
    right: auto;
    left: -1.25em;
  }
}
.pagenation-single ._btn.btn-archivePrev #icon-archivePrev {
  transform: rotateY(-180deg);
}

/* list-pankuzu
---------------------------------------------------------------------------*/
.list-pankuzu {
  display: block;
  width: 100%;
  margin-bottom: 30px;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .list-pankuzu {
    display: none;
  }
}
.list-pankuzu li {
  display: inline-block;
  padding-right: 1.5em;
  position: relative;
  color: var(--k3);
  font-size: 1.2rem;
  line-height: 1.1;
}
.list-pankuzu li:not(:last-child):after {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 100%;
  top: 50%;
  right: 0.4em;
  background-color: var(--k3);
  transform: translateY(-50%) rotateZ(30deg);
}
.list-pankuzu li a {
  color: var(--k3);
  font-size: 1em;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .list-pankuzu li a:hover {
    color: var(--k);
  }
}

/* li-categoryLink
---------------------------------------------------------------------------*/
.li-categoryLink {
  background-color: var(--w);
  padding: 30px 20px;
  border-radius: 30px;
  margin-bottom: 30px;
}
.li-categoryLink dt {
  font-weight: bold;
  font-family: var(--font2);
  font-size: 2.6rem;
  letter-spacing: 0;
  margin-bottom: 15px;
}
.li-categoryLink dd:not(:last-child) {
  border-bottom: 1px solid #ccc;
}
.li-categoryLink dd a {
  padding: 1.5em 0;
  font-size: 1.6rem;
  color: var(--k);
  font-weight: bold;
  display: block;
  line-height: 1.2;
}
@media (hover: hover) and (pointer: fine) {
  .li-categoryLink dd a:hover {
    opacity: 0.5;
  }
}

/*==================================================================
    .header
===================================================================*/
.header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 120px;
  padding: 30px 30px 0;
}
.header .header_inner {
  --lw: 130px;
  display: flex;
}
.header .header_inner .header_inner_l {
  width: var(--w);
}
.header .header_inner .header_inner_r {
  width: calc(100% - var(--lw));
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media (max-width: 1160px) {
  .header .header_inner .header_inner_r {
    display: none;
  }
}
.header .header_inner .header_inner_r .linkarea,
.header .header_inner .header_inner_r .btnarea {
  display: flex;
}
.header .header_inner .header_inner_r .linkarea {
  margin-right: 2em;
}
.header .header_inner .header_inner_r .linkarea li:not(:last-child) {
  margin-right: 20px;
}
.header .header_inner .header_inner_r .linkarea a {
  color: var(--k);
  font-weight: bold;
  font-size: clamp(1.4rem, 1vw, 1.75rem);
}
@media (hover: hover) and (pointer: fine) {
  .header .header_inner .header_inner_r .linkarea a:hover {
    opacity: 0.6;
  }
}
.header .header_inner .header_inner_r .btnarea li:not(:last-child) {
  margin-right: 15px;
}
.header .header_inner .header_inner_r .btnarea li a {
  font-size: clamp(1.4rem, 1vw, 1.75rem);
  color: var(--w);
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 999px;
  background-color: var(--k);
  min-width: 160px;
  padding: 0.8em 2em;
  border: 1px solid var(--g1);
}
@media (hover: hover) and (pointer: fine) {
  .header .header_inner .header_inner_r .btnarea li a:hover {
    opacity: 0.6;
  }
}
.header .header_inner .header_inner_r .btnarea li:last-child a {
  background-color: var(--c1);
}
@media (hover: hover) and (pointer: fine) {
  .header .header_inner .header_inner_r .btnarea li:last-child a:hover {
    opacity: 0.6;
  }
}

section {
  /* スクロールスナップ領域のマージンを定義 */
  scroll-margin-top: var(--header-height);
}

/* -----------------------------------------------
    mobilemenu
------------------------------------------------*/
.mobileMenu {
  visibility: hidden;
  opacity: 0;
  width: 80vw;
  height: 100%;
  position: fixed;
  z-index: 99;
  top: 0;
  right: 0;
  transition: all 0.4s ease-out;
  overflow-y: hidden;
}
@media screen and (max-width: 767px) {
  .mobileMenu {
    width: 100%;
  }
}
.mobileMenu::before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  width: 80vw;
  height: 100%;
  background-color: var(--w);
  z-index: -3;
  transition: all 0.3s ease;
  transform: translateX(100%);
}
@media screen and (max-width: 767px) {
  .mobileMenu::before {
    width: 100%;
  }
}
.mobileMenu_inner {
  position: relative;
  padding: 80px 30px 50px;
}
@media screen and (max-width: 767px) {
  .mobileMenu_inner {
    padding: 30px 30px 50px;
  }
}
.mobileMenu_inner_logo {
  margin-bottom: 50px;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .mobileMenu_inner_logo {
    margin-bottom: 60px;
  }
}
.mobileMenu_inner_logo img {
  display: inline-block;
  height: 70px;
  width: auto;
}
.mobileMenu_sitemap {
  margin-bottom: 60px;
}
.mobileMenu_sitemap > li {
  line-height: 1;
}
.mobileMenu_sitemap > li:not(:last-child) {
  margin-bottom: 25px;
}
.mobileMenu_sitemap > li > a {
  line-height: 1;
  font-size: 2rem;
  color: var(--k);
  display: inline-block;
  font-weight: bold;
}
@media (hover: hover) and (pointer: fine) {
  .mobileMenu_sitemap > li > a:hover {
    opacity: 0.5;
  }
}
.mobileMenu_sitemap > li .submenu {
  margin-top: 0;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  padding-left: 1.5em;
  position: relative;
}
.mobileMenu_sitemap > li .submenu::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  background-color: var(--k);
  opacity: 0.3;
}
.mobileMenu_sitemap > li .submenu li:not(:last-child) {
  margin-bottom: 15px;
}
.mobileMenu_sitemap > li .submenu li a {
  display: inline-block;
  font-weight: bold;
  font-size: 1.6rem;
  color: var(--k2);
}
.mobileMenu .toggleMenu {
  position: relative;
}
.mobileMenu .toggleMenu button {
  appearance: none;
  border: 0;
  background-color: transparent;
  position: absolute;
  top: -10px;
  right: var(--spa);
  width: 30px;
  height: 30px;
  transition: all 0.4s ease-out;
}
.mobileMenu .toggleMenu button span {
  position: relative;
  display: block;
}
.mobileMenu .toggleMenu button span::before, .mobileMenu .toggleMenu button span::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 25px;
  height: 1px;
  background-color: #707070;
  transition: var(--transition);
  z-index: 1;
}
.mobileMenu .toggleMenu button span::before {
  transform: rotateZ(90deg);
}
@media (hover: hover) and (pointer: fine) {
  .mobileMenu .toggleMenu button:hover {
    cursor: pointer;
    opacity: 0.4;
  }
}
.mobileMenu .toggleMenu .submenu {
  visibility: hidden;
  opacity: 0;
  min-height: 0;
  height: 0;
  padding-top: 0;
  padding-bottom: 0;
  transition: all 0.2s ease-out;
}
.mobileMenu .toggleMenu .submenu > li {
  margin-bottom: 0;
  visibility: hidden;
  opacity: 0;
  transition: all 0.2s ease-out;
}
.mobileMenu .toggleMenu.active button span::before {
  transform: rotateZ(180deg);
}
.mobileMenu .toggleMenu.active button span::after {
  transform: rotateZ(90deg);
  opacity: 0;
}
.mobileMenu .toggleMenu.active .submenu {
  visibility: visible;
  opacity: 1;
  height: auto;
  min-height: 120px;
  margin-top: 1em;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}
.mobileMenu .toggleMenu.active .submenu > li {
  visibility: visible;
  opacity: 1;
  transition-delay: 0.1s;
}

.mobileMenu-bg {
  visibility: hidden;
  opacity: 0;
  width: 100vw;
  height: 100vh;
  position: fixed;
  background-color: rgba(var(--k), 0.3);
  top: 0;
  left: 0;
  z-index: 88;
  transition: all 0.2s ease-out;
}
@media screen and (max-width: 767px) {
  .mobileMenu-bg.-active {
    visibility: visible;
    opacity: 1;
    backdrop-filter: blur(2px);
  }
  .mobileMenu-bg.-active:hover {
    cursor: pointer;
  }
}

/*  active
---------------------------------------------*/
.mobileMenu.-active {
  visibility: visible;
  opacity: 1;
  overflow-y: scroll;
}
.mobileMenu.-active::before {
  transform: translateX(0);
}

/* -----------------------------------------------
  hamburger
------------------------------------------------*/
.hamburger {
  display: none;
}
@media (max-width: 1160px) {
  .hamburger {
    width: 80px;
    height: 60px;
    padding: 0;
    position: fixed;
    right: 20px;
    top: 20px;
    z-index: 999;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: all 0.4s ease-out;
    display: flex;
  }
}
.hamburger .hamburger-box {
  width: 40px;
  height: 24px;
  display: inline-block;
  position: relative;
}
.hamburger .hamburger_inner,
.hamburger .hamburger_inner::before,
.hamburger .hamburger_inner::after {
  width: 40px;
  height: 1px;
  background-color: #707070;
  position: absolute;
  transition: transform 0.4s cubic-bezier(1, 0, 0, 1);
}
.hamburger_inner {
  display: block;
  top: 50%;
  margin-top: -2px;
  background-color: transparent !important;
}
.hamburger_inner::before, .hamburger_inner::after {
  content: "";
  display: block;
}
.hamburger_inner::before {
  top: -5px;
  transform-origin: left top;
}
.hamburger_inner::after {
  bottom: -5px;
  transform-origin: right top;
}
@media (hover: hover) and (pointer: fine) {
  .hamburger:hover {
    opacity: 1;
  }
  .hamburger:hover .hamburger_inner::before {
    animation: burger_animation01 0.4s forwards;
  }
  .hamburger:hover .hamburger_inner::after {
    animation: burger_animation02 0.4s forwards;
  }
}

@keyframes burger_animation01 {
  from {
    transform: scale(1, 1);
    transform-origin: left top;
  }
  50% {
    transform: scale(0, 1);
    transform-origin: left top;
  }
  51% {
    transform: scale(0, 1);
    transform-origin: right top;
  }
  to {
    transform: scale(1, 1);
    transform-origin: right top;
  }
}
@keyframes burger_animation02 {
  from {
    transform: scale(1, 1);
    transform-origin: right top;
  }
  50% {
    transform: scale(0, 1);
    transform-origin: right top;
  }
  51% {
    transform: scale(0, 1);
    transform-origin: left top;
  }
  to {
    transform: scale(1, 1);
    transform-origin: left top;
  }
}
.hamburger .hamburger_inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger .hamburger_inner::before {
  transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}
.hamburger .hamburger_inner::after {
  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

/* ======= active ======= */
.hamburger.-active {
  opacity: 1;
  visibility: visible;
}
.hamburger.-active .hamburger_inner {
  animation: none;
  transform: rotateZ(202deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transform-origin: center;
}
.hamburger.-active .hamburger_inner::before {
  top: 0;
  transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform-origin: center;
}
.hamburger.-active .hamburger_inner::after {
  animation: none;
  bottom: 0;
  transform: rotateZ(-45deg);
  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform-origin: center;
}
@media (hover: hover) and (pointer: fine) {
  .hamburger.-active:hover .hamburger_inner::before {
    animation: none;
    transform: rotateZ(15deg);
  }
  .hamburger.-active:hover .hamburger_inner::after {
    animation: none;
    transform: rotateZ(-60deg);
  }
}

/*==================================================================
    .footer
===================================================================*/
.footer {
  width: 100%;
  padding-top: 80px;
  padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .footer {
    padding-bottom: 85px;
  }
}

/* box-contact
---------------------------------------------------------------------------*/
.box-contact {
  width: 100%;
  position: relative;
  margin-bottom: 150px;
}
@media screen and (max-width: 767px) {
  .box-contact {
    margin-bottom: 80px;
  }
}
.box-contact_link {
  display: flex;
  align-items: stretch;
}
@media screen and (max-width: 767px) {
  .box-contact_link {
    flex-direction: column;
  }
}
.box-contact_link li {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .box-contact_link li {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .box-contact_link li:first-child {
    margin-bottom: var(--spa);
  }
}
.box-contact_link li:first-child a::before {
  background-color: var(--k);
}
.box-contact_link a {
  display: inline-block;
  width: 100%;
  height: 100%;
  color: var(--k);
  font-weight: bold;
  font-size: 2rem;
  position: relative;
  line-height: 1.4;
  letter-spacing: 0.1em;
  padding: 80px 110px 80px 50px;
}
@media screen and (max-width: 767px) {
  .box-contact_link a {
    color: var(--w);
    line-height: 1.1;
    font-size: 1.8rem;
    padding: 45px 90px 45px 35px;
  }
}
.box-contact_link a::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 12px;
  background-color: var(--c1);
  z-index: -1;
  opacity: 0;
  transition: var(--transition);
  transform: scale(1, 1.05);
}
@media screen and (max-width: 767px) {
  .box-contact_link a::before {
    opacity: 1;
    transform: scale(1);
    box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.15);
  }
}
.box-contact_link a .title {
  margin-bottom: 20px;
  line-height: 1;
}
.box-contact_link a .title span {
  font-family: var(--font2);
  font-weight: bold;
  letter-spacing: 0;
  display: block;
  margin-bottom: 0.2em;
  font-size: 4rem;
}
@media screen and (max-width: 767px) {
  .box-contact_link a .title span {
    font-size: 2.4rem;
    margin-bottom: 0.1em;
  }
}
.box-contact_link a .title small {
  font-weight: bold;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .box-contact_link a .title small {
    font-size: 1.2rem;
  }
}
.box-contact_link a .txt {
  font-size: 1.4rem;
  color: var(--k);
  font-weight: normal;
  opacity: 0.6;
  display: inline-block;
  line-height: 1.45;
}
@media screen and (max-width: 767px) {
  .box-contact_link a .txt {
    font-size: 1.2rem;
    color: var(--w);
    letter-spacing: 0.1em;
  }
}
.box-contact_link a i {
  position: absolute;
  top: 50%;
  right: 50px;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 1px solid rgba(146, 152, 148, 0.2);
  transition: all 0.3s var(--easeOutSine);
}
@media screen and (max-width: 767px) {
  .box-contact_link a i {
    width: 40px;
    height: 40px;
    right: 30px;
    border-color: rgba(255, 255, 255, 0.2);
  }
}
.box-contact_link a i span {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.box-contact_link a i span svg path {
  fill: var(--k);
}
@media screen and (max-width: 767px) {
  .box-contact_link a i span svg path {
    fill: var(--w);
  }
}
.box-contact_link a i span::before {
  content: "";
  display: block;
  position: absolute;
  top: -40%;
  left: -40%;
  width: 180%;
  height: 180%;
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  z-index: -1;
  opacity: 0;
  transform: scale(0.8);
  transform-origin: center;
  transition: all 1.2s var(--easeOutExpo) 0.09s;
}
@media screen and (max-width: 767px) {
  .box-contact_link a i span::before {
    top: -40%;
    left: -40%;
  }
}
@media (hover: hover) and (pointer: fine) {
  .box-contact_link a:hover {
    color: var(--w);
  }
  .box-contact_link a:hover .title span {
    color: var(--w);
  }
  .box-contact_link a:hover .title small {
    color: var(--w);
  }
  .box-contact_link a:hover .txt {
    color: var(--w);
  }
  .box-contact_link a:hover::before {
    opacity: 1;
    transform: scale(1);
    box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.15);
  }
  .box-contact_link a:hover i {
    border-color: transparent;
    background-color: #fff;
  }
  .box-contact_link a:hover i span::before {
    opacity: 1;
    transform: scale(1);
  }
}
.box-contact.-mobile {
  margin-bottom: 0;
}
.box-contact.-mobile .box-contact_link {
  flex-direction: column;
  gap: var(--spa);
}
.box-contact.-mobile .box-contact_link li {
  width: 100%;
}
.box-contact.-mobile .box-contact_link a {
  color: var(--w);
  font-size: 1.8rem;
  padding: 45px 90px 45px 35px;
}
@media (hover: hover) and (pointer: fine) {
  .box-contact.-mobile .box-contact_link a:hover {
    opacity: 0.8;
  }
}
.box-contact.-mobile .box-contact_link a .title span {
  color: var(--w);
}
.box-contact.-mobile .box-contact_link a .title small {
  color: var(--w);
}
.box-contact.-mobile .box-contact_link a .txt {
  color: var(--w);
}
.box-contact.-mobile .box-contact_link a::before {
  opacity: 1;
  transform: scale(1);
  box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.15);
}
.box-contact.-mobile .box-contact_link a i {
  border-color: transparent;
  background-color: #fff;
}
.box-contact.-mobile .box-contact_link a i span::before {
  opacity: 1;
  transform: scale(1);
}
.box-contact.-mobile .box-contact_link a i span svg path {
  fill: var(--k);
}

/* info
---------------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
  .footer_info {
    padding: 0 15px;
  }
}
.footer_info .footer_info_inner {
  display: flex;
}
@media screen and (max-width: 767px) {
  .footer_info .footer_info_inner {
    flex-direction: column;
    position: relative;
    padding-top: 125px;
  }
  .footer_info .footer_info_inner::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 145px;
    height: 78.41px;
    background-image: url("../img/common/logo_color.svg");
    background-repeat: no-repeat;
    background-size: contain;
  }
}
.footer_info .footer_info_inner_l {
  width: 70%;
}
@media screen and (max-width: 767px) {
  .footer_info .footer_info_inner_l {
    width: 100%;
    margin-bottom: 60px;
  }
}
.footer_info .footer_info_inner_r {
  width: 30%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: end;
}
@media screen and (max-width: 767px) {
  .footer_info .footer_info_inner_r {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .footer_info .footer_info_inner_r_btm {
    max-width: 300px;
    margin-inline: auto;
  }
}

.sitemaparea {
  display: flex;
}
@media screen and (max-width: 767px) {
  .sitemaparea {
    flex-direction: column;
  }
}
.sitemaparea .sitemaparea_l {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .sitemaparea .sitemaparea_l {
    width: 100%;
    margin-bottom: 30px;
  }
}
.sitemaparea .sitemaparea_r {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .sitemaparea .sitemaparea_r {
    width: 100%;
  }
}
.sitemaparea .mainmenu li:not(:last-child) {
  margin-bottom: 20px;
}
.sitemaparea .mainmenu li > a {
  font-size: 1.6rem;
  color: var(--k);
}
@media (hover: hover) and (pointer: fine) {
  .sitemaparea .mainmenu li > a:hover {
    opacity: 0.4;
  }
}
.sitemaparea .submenu {
  padding-top: 20px;
  padding-left: 20px;
}
.sitemaparea .submenu li:not(:last-child) {
  margin-bottom: 20px;
}
.sitemaparea .submenu li > a {
  font-size: 1.4rem;
}
@media (hover: hover) and (pointer: fine) {
  .sitemaparea .submenu li > a:hover {
    opacity: 0.4;
  }
}
.sitemaparea .minimenu {
  margin-top: 20px;
  padding: 0.2em 0 0.5em 25px;
  position: relative;
}
.sitemaparea .minimenu::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 8px;
  width: 1px;
  height: 100%;
  background-color: var(--k);
  opacity: 0.3;
}
.sitemaparea .minimenu li:not(:last-child) {
  margin-bottom: 1em;
}
.sitemaparea .minimenu li > a {
  color: var(--k);
  opacity: 0.6;
  font-size: 1.2rem;
}
@media (hover: hover) and (pointer: fine) {
  .sitemaparea .minimenu li > a:hover {
    opacity: 1;
  }
}
.sitemaparea .mainmenu > li a.sitemaparea_smalllink {
  font-size: 1.2rem;
  opacity: 0.6;
}
@media (hover: hover) and (pointer: fine) {
  .sitemaparea .mainmenu > li a.sitemaparea_smalllink:hover {
    opacity: 1;
  }
}

.footer_info_company {
  text-align: right;
}
@media screen and (max-width: 767px) {
  .footer_info_company {
    text-align: left;
    padding: 60px 20px 0px;
    width: 100%;
    border-top: 1px solid #ccc;
  }
}
.footer_info_company dt.logo {
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .footer_info_company dt.logo {
    display: none;
  }
}
@media (hover: hover) and (pointer: fine) {
  .footer_info_company dt.logo a:hover {
    opacity: 0.5;
  }
}
.footer_info_company dd.name {
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1;
  margin-bottom: 10px;
}
.footer_info_company dd.place {
  font-size: 1.2rem;
  line-height: 1.5;
  margin-bottom: 22px;
  letter-spacing: 0;
}
.footer_info_company dd.sns {
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .footer_info_company dd.sns {
    justify-content: start;
    margin-bottom: 60px;
  }
}
.footer_info_company dd.sns p {
  font-family: var(--font2);
  font-weight: bold;
  color: var(--k3);
  letter-spacing: 0;
  margin-right: 20px;
  font-size: 1.8rem;
}
.footer_info_company dd.sns ul {
  display: flex;
  align-items: center;
}
.footer_info_company dd.sns ul li:not(:last-child) {
  margin-right: 16px;
}
@media (hover: hover) and (pointer: fine) {
  .footer_info_company dd.sns a:hover {
    opacity: 0.5;
  }
}

.footer_info_banner {
  display: flex;
  width: 100%;
  max-width: 270px;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 45px;
}
@media screen and (max-width: 767px) {
  .footer_info_banner {
    max-width: none;
    gap: 5.5%;
    margin-bottom: 40px;
  }
}
.footer_info_banner a img {
  width: 100%;
}
.footer_info_banner a:nth-child(1) {
  width: 100%;
  display: block;
  margin-bottom: 30px;
}
.footer_info_banner a:nth-child(2) {
  width: 28.5%;
}
@media screen and (max-width: 767px) {
  .footer_info_banner a:nth-child(2) {
    width: 28.9%;
  }
}
.footer_info_banner a:nth-child(3) {
  width: 65.5%;
}
@media screen and (max-width: 767px) {
  .footer_info_banner a:nth-child(3) {
    width: 65.1%;
  }
}
@media (hover: hover) and (pointer: fine) {
  .footer_info_banner a:hover {
    opacity: 0.5;
  }
}

.footer_info_copy p {
  text-align: right;
  color: var(--k3);
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .footer_info_copy p {
    text-align: center;
  }
}

/*==================================================================
    .mainView01
===================================================================*/
.mv {
  width: 100%;
  height: 90vh;
  height: 90dvh;
  display: flex;
  align-items: end;
  padding-bottom: 15vh;
}
@media screen and (max-width: 767px) {
  .mv {
    height: 80vh;
    height: 80dvh;
    padding-bottom: 15vh;
  }
}
.mv .mv_title {
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .mv .mv_title {
    margin-bottom: 20px;
  }
}
.mv .mv_title h1 {
  color: var(--k);
  font-size: 7rem;
  font-weight: bold;
  line-height: 1.157;
  padding-bottom: 0.2em;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .mv .mv_title h1 {
    font-size: 3rem;
    letter-spacing: 0;
    margin-bottom: 0.1em;
  }
}
.mv .mv_title h1 em {
  font-weight: bold;
  position: relative;
}
.mv .mv_title h1 em span {
  content: "";
  display: block;
  position: absolute;
  bottom: 0.05em;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--k);
}
@media screen and (max-width: 767px) {
  .mv .mv_title h1 em span {
    bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .mv .mv_title p img {
    width: auto;
    height: 10px;
  }
}

/*  icon-scroll
------------------------------------*/
.icon-scroll {
  font-size: 1.4rem;
  font-weight: 700;
  font-family: var(--font2);
  letter-spacing: 0;
  line-height: 1;
  padding: 0.8em 1em;
  position: relative;
}
.icon-scroll::before, .icon-scroll::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  background-color: var(--k);
  z-index: 1;
}
.icon-scroll::before {
  z-index: 0;
  background-color: rgba(0, 0, 0, 0.15);
}
.icon-scroll::after {
  height: 30%;
  background-color: #000;
  animation: icon_scorll_animation 3s infinite forwards var(--easeInOutQuint);
}
@keyframes icon_scorll_animation {
  from {
    opacity: 0;
    transform: translateY(0);
  }
  33% {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(233%);
  }
}

/* kvbg
---------------------------------------------------------------------------*/
#kvbg {
  width: 100vw;
  height: 100vh;
  position: fixed;
  z-index: -999;
  top: 0;
  left: 0;
}

/* -------------------------------------------------------------------------
 .content-single
---------------------------------------------------------------------------*/
/*
content-single01
---------------------------------------------------------------------------*/
.content-single01 {
  --sidew: 200px;
  display: flex;
}
@media screen and (max-width: 767px) {
  .content-single01 {
    flex-direction: column;
    padding-left: var(--spaPlus);
    padding-right: var(--spaPlus);
  }
}
.content-single01_l {
  width: calc(100% - var(--sidew));
}
@media screen and (max-width: 767px) {
  .content-single01_l {
    width: 100%;
  }
}
.content-single01_l .title {
  padding-bottom: 60px;
  margin-bottom: 60px;
  border-bottom: 1px solid rgba(34, 41, 34, 0.15);
}
@media screen and (max-width: 767px) {
  .content-single01_l .title {
    padding-bottom: 30px;
    margin-bottom: 30px;
  }
}
.content-single01_l .title h1 {
  font-weight: bold;
  color: var(--k);
  font-size: 3.6rem;
  line-height: 1.2;
  padding-top: 0.5em;
}
@media screen and (max-width: 767px) {
  .content-single01_l .title h1 {
    line-height: 1.4;
    font-size: 2.1rem;
  }
}
.content-single01_l .title time {
  font-family: var(--font2);
  letter-spacing: 0;
  opacity: 0.3;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .content-single01_l .title time {
    font-size: 1.3rem;
  }
}
.content-single01_r {
  width: var(--sidew);
}
@media screen and (max-width: 767px) {
  .content-single01_r {
    width: 100%;
  }
}
.content-single01_sidenav {
  position: sticky;
  top: 3em;
}
@media screen and (max-width: 767px) {
  .content-single01_sidenav {
    position: static;
  }
}
.content-single01 .detail {
  font-size: 1.6rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .content-single01 .detail {
    font-size: 1.4rem;
  }
}
.content-single01 .detail p:not(:last-child), .content-single01 .detail h1:not(:last-child), .content-single01 .detail h2:not(:last-child), .content-single01 .detail h3:not(:last-child), .content-single01 .detail h4:not(:last-child), .content-single01 .detail h5:not(:last-child), .content-single01 .detail h6:not(:last-child) {
  margin-bottom: 1.25em;
}
.content-single01 .detail p {
  font-size: 1em;
  line-height: 1.8;
  color: var(--k2);
}
.content-single01 .detail b {
  font-weight: bold;
  color: var(--k);
}
.content-single01 .detail em {
  color: var(--k);
  font-style: italic;
}
.content-single01 .detail del {
  font-style: oblique;
}
.content-single01 .detail a {
  color: var(--c1);
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  .content-single01 .detail a:hover {
    text-decoration: none;
  }
}
.content-single01 .detail sup, .content-single01 .detail sub {
  font-size: 0.5em;
  letter-spacing: 0;
}
.content-single01 .detail small {
  font-size: 0.7em;
}
.content-single01 .detail h1, .content-single01 .detail h2, .content-single01 .detail h3, .content-single01 .detail h4, .content-single01 .detail h5, .content-single01 .detail h6 {
  line-height: 1.5;
  font-weight: bold;
}
.content-single01 .detail h1 {
  padding-top: 2em;
  font-size: 2em;
}
@media screen and (max-width: 767px) {
  .content-single01 .detail h1 {
    padding-top: 1.5em;
    font-size: 1.8em;
  }
}
.content-single01 .detail h2 {
  padding-top: 2em;
  font-size: 1.8em;
}
@media screen and (max-width: 767px) {
  .content-single01 .detail h2 {
    padding-top: 1.5em;
    font-size: 1.65em;
  }
}
.content-single01 .detail h3 {
  padding-top: 1.8em;
  font-size: 1.6em;
}
@media screen and (max-width: 767px) {
  .content-single01 .detail h3 {
    padding-top: 1.5em;
    font-size: 1.45em;
  }
}
.content-single01 .detail h4 {
  padding-top: 1.5em;
  font-size: 1.4em;
}
@media screen and (max-width: 767px) {
  .content-single01 .detail h4 {
    padding-top: 1.35em;
    font-size: 1.3em;
  }
}
.content-single01 .detail h5 {
  padding-top: 1.5em;
  font-size: 1.2em;
}
.content-single01 .detail h6 {
  padding-top: 1em;
  font-size: 1.1em;
}
.content-single01 .detail hr {
  padding-top: 3em;
  border: none;
  border-bottom: 1px solid #ccc;
  margin-bottom: 3em;
}
@media screen and (max-width: 767px) {
  .content-single01 .detail hr {
    padding-top: 2em;
    margin-bottom: 2em;
  }
}
.content-single01 .detail img {
  padding-bottom: 2em;
}
.content-single01 .detail img.alignnone {
  display: block;
  margin-inline: auto;
}
.content-single01 .detail img.aligncenter {
  display: block;
  margin-inline: auto;
}
.content-single01 .detail img.alignright {
  display: block;
  margin-left: auto;
}
.content-single01 .detail img.alignleft {
  display: inline-block;
  text-align: left;
}
.content-single01 .detail ul {
  margin-bottom: 2.5em;
}
.content-single01 .detail ul li:not(:last-child) {
  margin-bottom: 1em;
}
.content-single01 .detail ol {
  margin-bottom: 2.5em;
  list-style-type: decimal;
  transform: translateX(1.5em);
}
.content-single01 .detail ol li {
  list-style-type: decimal;
}
.content-single01 .detail ol li:not(:last-child) {
  margin-bottom: 1em;
}
.content-single01 .detail blockquote {
  width: 100%;
  position: relative;
  border-left: 1px solid var(--k);
  padding-left: 3em;
  padding-top: 0.8em;
  padding-bottom: 1em;
  margin-bottom: 2em;
  color: var(--k);
  line-height: 1.8;
}
.content-single01 .detail blockquote::before {
  position: absolute;
  content: "”";
  top: 0;
  left: 0.5em;
  font-size: 1.8em;
  font-weight: bold;
  color: var(--k);
}
.content-single01 .detail blockquote cite {
  color: var(--k2);
}
.content-single01 .detail code {
  width: 100%;
  display: block;
  padding: 2em;
  white-space: pre-wrap;
  line-break: auto;
  line-height: 1.5;
  background-color: #eee;
  border-radius: 0.5em;
  color: var(--k2);
}
.content-single01 .detail table {
  border: 1px solid #ccc;
}
.content-single01 .detail table tr:not(:last-child) {
  border-bottom: 1px solid #ccc;
}
.content-single01 .detail table tr td:not(:last-child), .content-single01 .detail table tr th:not(:last-child) {
  border-right: 1px solid #ccc;
}
.content-single01 .detail table td, .content-single01 .detail table th {
  padding: 1.5em 1.5em;
  line-height: 1.6;
}
.content-single01 .snsarea {
  padding-top: 3.5em;
}

/* content-single02
---------------------------------------------------------------------------*/
.content-single02 {
  --sidew: 275px;
  display: flex;
  gap: 35px;
}
@media screen and (max-width: 767px) {
  .content-single02 {
    flex-direction: column;
    padding-left: var(--spaPlus);
    padding-right: var(--spaPlus);
  }
}
@media (min-width: 1700px) {
  .content-single02 {
    --sidew: 400px;
  }
}
.content-single02_l {
  width: calc(100% - var(--sidew));
  background-color: var(--w);
  border-radius: 30px;
  padding: 40px 40px 60px;
}
@media screen and (max-width: 767px) {
  .content-single02_l {
    width: 100%;
    padding: 40px var(--spa) 60px;
  }
}
.content-single02_l article {
  padding-bottom: 25px;
  margin-bottom: 25px;
  border-bottom: 1px solid #ccc;
}
.content-single02_l .mainimg {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .content-single02_l .mainimg {
    margin-bottom: 20px;
  }
}
.content-single02_l .mainimg img {
  width: 100%;
  border-radius: 8px;
}
.content-single02_l .mainimg.-img02 {
  text-align: center;
}
.content-single02_l .mainimg.-img02 img {
  max-width: 580px;
  box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.2);
}
.content-single02_l .title {
  padding-bottom: 20px;
  margin-bottom: 30px;
  border-bottom: 1px solid rgba(34, 41, 34, 0.15);
}
@media screen and (max-width: 767px) {
  .content-single02_l .title {
    padding-bottom: 30px;
    margin-bottom: 30px;
  }
}
.content-single02_l .title h1 {
  font-weight: bold;
  color: var(--k);
  font-size: clamp(2.5rem, 2vw, 3.2rem);
  line-height: 1.5;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .content-single02_l .title h1 {
    line-height: 1.4;
    font-size: 2rem;
  }
}
.content-single02_l .title .time {
  text-align: right;
}
.content-single02_l .title .time time {
  color: var(--k3);
  font-family: var(--font2);
  letter-spacing: 0;
  font-size: clamp(1.4rem, 1.2vw, 1.8rem);
}
@media screen and (max-width: 767px) {
  .content-single02_l .title .time time {
    font-size: 1.3rem;
  }
}
.content-single02_l .title.-nobdr {
  border: 0;
}
.content-single02_l .recommend {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .content-single02_l .recommend {
    margin-bottom: 40px;
  }
}
.content-single02_l .recommend_title {
  font-size: 1.6rem;
  color: var(--c1);
  font-weight: bold;
  position: relative;
  margin-bottom: 2em;
}
@media screen and (max-width: 767px) {
  .content-single02_l .recommend_title {
    font-size: 1.5rem;
  }
}
.content-single02_l .recommend_title::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  width: calc(100% - 12em);
  height: 1px;
  background-color: #ccc;
}
.content-single02_l .recommend_detail p {
  font-size: clamp(1.2rem, 1vw, 1.6rem);
  color: var(--k2);
  overflow-wrap: break-word;
}
.content-single02_l .info {
  --rw: 350px;
  padding: 0 20px 30px;
  border-bottom: 1px solid rgba(34, 41, 34, 0.15);
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}
@media (max-width: 1120px) {
  .content-single02_l .info {
    --rw: 200px;
  }
}
@media screen and (max-width: 767px) {
  .content-single02_l .info {
    flex-direction: column;
    padding: 0 0 20px;
  }
}
.content-single02_l .info .info_l {
  width: calc(100% - var(--rw));
  padding-right: 1em;
}
@media screen and (max-width: 767px) {
  .content-single02_l .info .info_l {
    width: 100%;
    padding: 0 var(--spa);
    order: 1;
  }
}
.content-single02_l .info .info_r {
  width: var(--rw);
}
@media screen and (max-width: 767px) {
  .content-single02_l .info .info_r {
    width: 100%;
    max-width: 400px;
    margin-inline: auto;
    order: 0;
    margin-bottom: 40px;
    padding: 0 var(--spa);
  }
}
.content-single02_l .info .tag {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}
.content-single02_l .info .tag a {
  font-weight: bold;
  font-size: 1.3rem;
  color: var(--k);
  border: 1px solid var(--k);
  border-radius: 999px;
  display: inline-block;
  padding: 0.65em 1.2em;
  line-height: 1.1;
  letter-spacing: 0;
}
@media (hover: hover) and (pointer: fine) {
  .content-single02_l .info .tag a:hover {
    background-color: var(--k);
    color: var(--w);
  }
}
@media screen and (max-width: 767px) {
  .content-single02_l .info .tag a {
    font-size: 1.1rem;
  }
}
.content-single02_l .info .schedule {
  display: flex;
  gap: 1.5em;
}
.content-single02_l .info .schedule dt, .content-single02_l .info .schedule dd {
  font-size: clamp(1.4rem, 1vw, 1.8rem);
  font-weight: bold;
  color: var(--k);
  letter-spacing: 0;
  font-family: var(--font2);
}
@media screen and (max-width: 767px) {
  .content-single02_l .info .schedule dt, .content-single02_l .info .schedule dd {
    font-size: 1.3rem;
  }
}
.content-single02_l .info .profile {
  position: relative;
  padding-right: 80px;
}
.content-single02_l .info .profile_title {
  font-weight: bold;
  margin-bottom: 0.5em;
}
.content-single02_l .info .profile_title span {
  color: var(--c1);
  font-size: 1.4rem;
  display: block;
  margin-bottom: 0.3em;
}
.content-single02_l .info .profile_title em {
  font-weight: bold;
  font-size: 1.5rem;
}
.content-single02_l .info .profile_txt {
  font-size: clamp(1rem, 0.7vw, 1.2rem);
  color: var(--k3);
  letter-spacing: 0;
}
.content-single02_l .info .profile_img {
  position: absolute;
  top: 0;
  right: 0;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  overflow: hidden;
}
.content-single02_l .info .profile_img img {
  width: 70px;
  height: 70px;
  object-fit: cover;
  object-position: center;
}
.content-single02_l .btnarea {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .content-single02_l .btnarea {
    flex-direction: column;
    justify-content: start;
    align-items: center;
    gap: var(--spa);
  }
}
@media screen and (max-width: 767px) {
  .content-single02_l .btnarea li:nth-child(1) {
    margin-bottom: 15px;
  }
}
.content-single02_l .outroarea .sns {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .content-single02_l .outroarea .sns {
    margin-bottom: 30px;
  }
}
.content-single02_l .outroarea .sns dt {
  position: relative;
  font-size: 1.5rem;
  font-weight: bold;
  padding: 0 1em;
  margin-bottom: 1em;
}
.content-single02_l .outroarea .sns dt::before, .content-single02_l .outroarea .sns dt::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  background-color: var(--k);
  transform: rotateZ(15deg);
}
.content-single02_l .outroarea .sns dt::before {
  right: auto;
  left: 0;
  transform: rotateZ(-15deg);
}
.content-single02_l .outroarea .pagenation-single {
  display: flex;
  justify-content: space-between;
  max-width: 720px;
  margin-inline: auto;
}
.content-single02_l .outroarea .pagenation-single li {
  flex-grow: 1;
  text-align: center;
}
.content-single02_l .outroarea .pagenation-single li:nth-child(1) {
  order: 1;
}
.content-single02_l .outroarea .pagenation-single li:nth-child(2) {
  order: 0;
}
.content-single02_l .outroarea .pagenation-single li:nth-child(3) {
  order: 2;
}
.content-single02_l .outroarea .pagenation-single li .btn-archivePrev span {
  transform: translateX(0.5em);
}
.content-single02_l .outroarea .pagenation-single li .btn-archivePrev i {
  right: auto;
  left: -1.25em;
}
.content-single02_r {
  width: var(--sidew);
}
@media screen and (max-width: 767px) {
  .content-single02_r {
    width: 100%;
  }
}
@media (hover: hover) and (pointer: fine) {
  .content-single02_r a:hover {
    opacity: 0.5;
  }
}
.content-single02_r a img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .content-single02_r a img {
    display: block;
    margin-inline: auto;
    max-width: 420px;
  }
}
.content-single02_sidenav {
  position: sticky;
  top: 3em;
}
@media screen and (max-width: 767px) {
  .content-single02_sidenav {
    position: static;
  }
}
.content-single02 .detail {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .content-single02 .detail {
    font-size: 1.4rem;
  }
}
.content-single02 .detail p:not(:last-child), .content-single02 .detail h1:not(:last-child), .content-single02 .detail h2:not(:last-child), .content-single02 .detail h3:not(:last-child), .content-single02 .detail h4:not(:last-child), .content-single02 .detail h5:not(:last-child), .content-single02 .detail h6:not(:last-child) {
  margin-bottom: 1.25em;
}
.content-single02 .detail p {
  font-size: 1em;
  line-height: 1.8;
  color: var(--k2);
}
.content-single02 .detail b {
  font-weight: bold;
  color: var(--k);
}
.content-single02 .detail em {
  color: var(--k);
  font-style: italic;
}
.content-single02 .detail del {
  font-style: oblique;
}
.content-single02 .detail a {
  color: var(--c1);
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  .content-single02 .detail a:hover {
    text-decoration: none;
  }
}
.content-single02 .detail sup, .content-single02 .detail sub {
  font-size: 0.5em;
  letter-spacing: 0;
}
.content-single02 .detail small {
  font-size: 0.7em;
}
.content-single02 .detail h1, .content-single02 .detail h2, .content-single02 .detail h3, .content-single02 .detail h4, .content-single02 .detail h5, .content-single02 .detail h6 {
  line-height: 1.5;
  font-weight: bold;
}
.content-single02 .detail h1, .content-single02 .detail h2 {
  margin-top: 3em;
  padding-left: 1em;
  font-size: 1.8em;
  position: relative;
}
.content-single02 .detail h1::before, .content-single02 .detail h2::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -0.08em;
  left: 0;
  width: 5px;
  height: 100%;
  background-color: var(--c1);
}
@media screen and (max-width: 767px) {
  .content-single02 .detail h1, .content-single02 .detail h2 {
    margin-top: 1.5em;
    font-size: 1.5em;
  }
}
.content-single02 .detail h3 {
  margin-top: 1em;
  font-size: 1.6em;
}
@media screen and (max-width: 767px) {
  .content-single02 .detail h3 {
    margin-top: 1.5em;
    font-size: 1.45em;
  }
}
.content-single02 .detail h4 {
  padding-top: 1em;
  font-size: 1.4em;
}
@media screen and (max-width: 767px) {
  .content-single02 .detail h4 {
    padding-top: 1.35em;
    font-size: 1.3em;
  }
}
.content-single02 .detail h5 {
  padding-top: 1.5em;
  font-size: 1.2em;
}
.content-single02 .detail h6 {
  padding-top: 1em;
  font-size: 1.1em;
}
.content-single02 .detail hr {
  padding-top: 3em;
  border: none;
  border-bottom: 1px solid #ccc;
  margin-bottom: 3em;
}
@media screen and (max-width: 767px) {
  .content-single02 .detail hr {
    padding-top: 2em;
    margin-bottom: 2em;
  }
}
.content-single02 .detail img {
  padding-bottom: 2em;
}
.content-single02 .detail img.alignnone {
  display: block;
  margin-inline: auto;
}
.content-single02 .detail img.aligncenter {
  display: block;
  margin-inline: auto;
}
.content-single02 .detail img.alignright {
  display: block;
  margin-left: auto;
}
.content-single02 .detail img.alignleft {
  display: inline-block;
  text-align: left;
}
.content-single02 .detail ul {
  margin-bottom: 2.5em;
}
.content-single02 .detail ul li:not(:last-child) {
  margin-bottom: 1em;
}
.content-single02 .detail ol {
  margin-bottom: 2.5em;
  list-style-type: decimal;
  transform: translateX(1.5em);
}
.content-single02 .detail ol li {
  list-style-type: decimal;
}
.content-single02 .detail ol li:not(:last-child) {
  margin-bottom: 1em;
}
.content-single02 .detail blockquote {
  width: 100%;
  position: relative;
  border-left: 1px solid var(--k);
  padding-left: 3em;
  padding-top: 0.8em;
  padding-bottom: 1em;
  margin-bottom: 2em;
  color: var(--k);
  line-height: 1.8;
}
.content-single02 .detail blockquote::before {
  position: absolute;
  content: "”";
  top: 0;
  left: 0.5em;
  font-size: 1.8em;
  font-weight: bold;
  color: var(--k);
}
.content-single02 .detail blockquote cite {
  color: var(--k2);
}
.content-single02 .detail code {
  width: 100%;
  display: block;
  padding: 2em;
  white-space: pre-wrap;
  line-break: auto;
  line-height: 1.5;
  background-color: #eee;
  border-radius: 0.5em;
  color: var(--k2);
}
.content-single02 .detail table tr {
  height: auto !important;
}
.content-single02 .detail table tr:not(:last-child) {
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
  .content-single02 .detail table tr:not(:last-child) {
    border: 0;
  }
}
@media screen and (max-width: 767px) {
  .content-single02 .detail table tr {
    display: block;
  }
}
.content-single02 .detail table tr td, .content-single02 .detail table tr th {
  height: auto !important;
}
@media screen and (max-width: 767px) {
  .content-single02 .detail table tr td, .content-single02 .detail table tr th {
    width: 100% !important;
    display: block !important;
  }
}
.content-single02 .detail table tr td {
  width: auto !important;
}
.content-single02 .detail table tr td:nth-child(1) {
  width: 10em !important;
}
@media screen and (max-width: 767px) {
  .content-single02 .detail table tr td:nth-child(1) {
    width: 100% !important;
    padding: 0.5em !important;
    text-align: center;
    background-color: #ededed;
    border-radius: 6px;
  }
}
.content-single02 .detail table tr td:nth-child(2) {
  width: calc(100% - 10em) !important;
}
@media screen and (max-width: 767px) {
  .content-single02 .detail table tr td:nth-child(2) {
    width: 100% !important;
    padding: 1em 0.5em 1.5em;
  }
}
.content-single02 .detail table td, .content-single02 .detail table th {
  font-size: 1.4rem;
  font-size: clamp(1.4rem, 1vw, 1.6rem);
  padding: 1.5em 1.5em;
  line-height: 1.6;
  color: vare(--k2);
}
.content-single02 .guest {
  padding-top: 40px;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .content-single02 .guest {
    padding-top: 20px;
    margin-bottom: 50px;
  }
}
.content-single02 .guest h2 {
  font-weight: bold;
  font-size: 2rem;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .content-single02 .guest h2 {
    font-size: 1.8rem;
  }
}
.content-single02 .guest_box {
  display: flex;
  border: 1px solid var(--k3);
  border-radius: 12px;
  padding: 30px 50px 30px 30px;
}
@media screen and (max-width: 767px) {
  .content-single02 .guest_box {
    flex-direction: column;
    padding: 30px var(--spa);
  }
}
.content-single02 .guest_box_img {
  width: 120px;
}
@media screen and (max-width: 767px) {
  .content-single02 .guest_box_img {
    width: 100%;
    text-align: center;
    margin-bottom: 15px;
  }
}
.content-single02 .guest_box_img img {
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: 50%;
}
.content-single02 .guest_box_txt {
  width: calc(100% - 120px);
  padding-left: 30px;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .content-single02 .guest_box_txt {
    width: 100%;
    padding-left: 0;
  }
}
.content-single02 .guest_box_txt .name {
  font-weight: bold;
  font-size: clamp(1.8rem, 1.4vw, 2rem);
  margin-bottom: 0.35em;
}
.content-single02 .guest_box_txt .position {
  font-size: clamp(1.2rem, 1vw, 1.6rem);
  font-weight: bold;
  color: var(--k3);
}
.content-single02 .guest_box_txt .prof {
  padding-top: 1em;
  font-size: clamp(1.2rem, 1vw, 1.5rem);
  line-height: 1.7;
}
.content-single02 .video_intro {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .content-single02 .video_intro {
    margin-bottom: 25px;
  }
}
.content-single02 .video_title {
  padding-left: 1em;
  font-size: 1.8em;
  position: relative;
  font-weight: bold;
  margin-bottom: 40px;
}
.content-single02 .video_title::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -0.08em;
  left: 0;
  width: 5px;
  height: 100%;
  background-color: var(--c1);
}
@media screen and (max-width: 767px) {
  .content-single02 .video_title {
    margin-top: 1.5em;
    font-size: 1.5em;
    margin-bottom: 20px;
  }
}
.content-single02 .video_box {
  margin-bottom: 60px;
  aspect-ratio: 16/9;
  max-width: 680px;
  margin-inline: auto;
}
.content-single02 .video_box iframe {
  width: 100%;
  height: 100%;
}
.content-single02 .video_outro {
  text-align: center;
  padding-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .content-single02 .video_outro {
    padding-bottom: 30px;
  }
}
.content-single02 .formarea {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .content-single02 .formarea {
    margin-bottom: 40px;
  }
}
.content-single02 .formarea_title {
  padding-left: 1em;
  margin-bottom: 1em;
  font-size: 1.8em;
  position: relative;
  font-weight: bold;
}
.content-single02 .formarea_title::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -0.08em;
  left: 0;
  width: 5px;
  height: 100%;
  background-color: var(--c1);
}
@media screen and (max-width: 767px) {
  .content-single02 .formarea_title {
    font-size: 1.5em;
    margin-bottom: 1em;
  }
}
.content-single02 .formarea .form_table {
  padding-left: 4em;
}
@media screen and (max-width: 767px) {
  .content-single02 .formarea .form_table {
    padding-left: 0;
  }
}

/*==================================================================
    .content-archive
===================================================================*/
/* content-archiveIndex
---------------------------------------------------------------------------*/
.content-archiveIndex {
  margin-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .content-archiveIndex {
    margin-bottom: 80px;
  }
}
.content-archiveIndex_list {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 120px 35px;
  margin-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .content-archiveIndex_list {
    gap: 60px 0px;
    margin-bottom: 80px;
  }
}
.content-archiveIndex_list > li {
  width: calc(33.3% - 24px);
}
@media screen and (max-width: 767px) {
  .content-archiveIndex_list > li {
    width: 100%;
  }
}
.content-archiveIndex_outro {
  text-align: center;
}

/*==================================================================
    animation
===================================================================*/
/*  setting
---------------------------------------------*/
.animate {
  visibility: hidden;
  transition: var(--transition);
  animation-duration: var(--time);
  animation-fill-mode: both;
}

.animate.-animated {
  visibility: visible;
}

.aInfinite {
  animation-iteration-count: infinite;
}

.aEx {
  transform: translate3d(0, 0, 0);
}

/*  duration
---------------------------------------------*/
.-a0 {
  animation-duration: 0s;
  animation-fill-mode: both;
}

.-a1 {
  animation-duration: 0.1s;
  animation-fill-mode: both;
}

.-a2 {
  animation-duration: 0.2s;
  animation-fill-mode: both;
}

.-a3 {
  animation-duration: 0.3s;
  animation-fill-mode: both;
}

.-a4 {
  animation-duration: 0.4s;
  animation-fill-mode: both;
}

.-a5 {
  animation-duration: 0.5s;
  animation-fill-mode: both;
}

.-a6 {
  animation-duration: 0.6s;
  animation-fill-mode: both;
}

.-a7 {
  animation-duration: 0.7s;
  animation-fill-mode: both;
}

.-a8 {
  animation-duration: 0.8s;
  animation-fill-mode: both;
}

.-a9 {
  animation-duration: 0.9s;
  animation-fill-mode: both;
}

.-a10 {
  animation-duration: 1s;
  animation-fill-mode: both;
}

.-a11 {
  animation-duration: 1.1s;
  animation-fill-mode: both;
}

.-a12 {
  animation-duration: 1.2s;
  animation-fill-mode: both;
}

.-a13 {
  animation-duration: 1.3s;
  animation-fill-mode: both;
}

.-a14 {
  animation-duration: 1.4s;
  animation-fill-mode: both;
}

.-a15 {
  animation-duration: 1.5s;
  animation-fill-mode: both;
}

.-a16 {
  animation-duration: 1.6s;
  animation-fill-mode: both;
}

.-a17 {
  animation-duration: 1.7s;
  animation-fill-mode: both;
}

.-a18 {
  animation-duration: 1.8s;
  animation-fill-mode: both;
}

.-a19 {
  animation-duration: 1.9s;
  animation-fill-mode: both;
}

.-a20 {
  animation-duration: 2s;
  animation-fill-mode: both;
}

.-a21 {
  animation-duration: 2.1s;
  animation-fill-mode: both;
}

.-a22 {
  animation-duration: 2.2s;
  animation-fill-mode: both;
}

.-a23 {
  animation-duration: 2.3s;
  animation-fill-mode: both;
}

.-a24 {
  animation-duration: 2.4s;
  animation-fill-mode: both;
}

.-a25 {
  animation-duration: 2.5s;
  animation-fill-mode: both;
}

.-a26 {
  animation-duration: 2.6s;
  animation-fill-mode: both;
}

.-a27 {
  animation-duration: 2.7s;
  animation-fill-mode: both;
}

.-a28 {
  animation-duration: 2.8s;
  animation-fill-mode: both;
}

.-a29 {
  animation-duration: 2.9s;
  animation-fill-mode: both;
}

.-a30 {
  animation-duration: 3s;
  animation-fill-mode: both;
}

.-a31 {
  animation-duration: 3.1s;
  animation-fill-mode: both;
}

.-a32 {
  animation-duration: 3.2s;
  animation-fill-mode: both;
}

.-a33 {
  animation-duration: 3.3s;
  animation-fill-mode: both;
}

.-a34 {
  animation-duration: 3.4s;
  animation-fill-mode: both;
}

.-a35 {
  animation-duration: 3.5s;
  animation-fill-mode: both;
}

.-a36 {
  animation-duration: 3.6s;
  animation-fill-mode: both;
}

.-a37 {
  animation-duration: 3.7s;
  animation-fill-mode: both;
}

.-a38 {
  animation-duration: 3.8s;
  animation-fill-mode: both;
}

.-a39 {
  animation-duration: 3.9s;
  animation-fill-mode: both;
}

.-a40 {
  animation-duration: 4s;
  animation-fill-mode: both;
}

.-a41 {
  animation-duration: 4.1s;
  animation-fill-mode: both;
}

.-a42 {
  animation-duration: 4.2s;
  animation-fill-mode: both;
}

.-a43 {
  animation-duration: 4.3s;
  animation-fill-mode: both;
}

.-a44 {
  animation-duration: 4.4s;
  animation-fill-mode: both;
}

.-a45 {
  animation-duration: 4.5s;
  animation-fill-mode: both;
}

.-a46 {
  animation-duration: 4.6s;
  animation-fill-mode: both;
}

.-a47 {
  animation-duration: 4.7s;
  animation-fill-mode: both;
}

.-a48 {
  animation-duration: 4.8s;
  animation-fill-mode: both;
}

.-a49 {
  animation-duration: 4.9s;
  animation-fill-mode: both;
}

.-a50 {
  animation-duration: 5s;
  animation-fill-mode: both;
}

/*  delay
---------------------------------------------*/
.-ad0 {
  animation-delay: 0s;
}

.-ad1 {
  animation-delay: 0.1s;
}

.-ad2 {
  animation-delay: 0.2s;
}

.-ad3 {
  animation-delay: 0.3s;
}

.-ad4 {
  animation-delay: 0.4s;
}

.-ad5 {
  animation-delay: 0.5s;
}

.-ad6 {
  animation-delay: 0.6s;
}

.-ad7 {
  animation-delay: 0.7s;
}

.-ad8 {
  animation-delay: 0.8s;
}

.-ad9 {
  animation-delay: 0.9s;
}

.-ad10 {
  animation-delay: 1s;
}

.-ad11 {
  animation-delay: 1.1s;
}

.-ad12 {
  animation-delay: 1.2s;
}

.-ad13 {
  animation-delay: 1.3s;
}

.-ad14 {
  animation-delay: 1.4s;
}

.-ad15 {
  animation-delay: 1.5s;
}

.-ad16 {
  animation-delay: 1.6s;
}

.-ad17 {
  animation-delay: 1.7s;
}

.-ad18 {
  animation-delay: 1.8s;
}

.-ad19 {
  animation-delay: 1.9s;
}

.-ad20 {
  animation-delay: 2s;
}

.-ad21 {
  animation-delay: 2.1s;
}

.-ad22 {
  animation-delay: 2.2s;
}

.-ad23 {
  animation-delay: 2.3s;
}

.-ad24 {
  animation-delay: 2.4s;
}

.-ad25 {
  animation-delay: 2.5s;
}

.-ad26 {
  animation-delay: 2.6s;
}

.-ad27 {
  animation-delay: 2.7s;
}

.-ad28 {
  animation-delay: 2.8s;
}

.-ad29 {
  animation-delay: 2.9s;
}

.-ad30 {
  animation-delay: 3s;
}

.-ad31 {
  animation-delay: 3.1s;
}

.-ad32 {
  animation-delay: 3.2s;
}

.-ad33 {
  animation-delay: 3.3s;
}

.-ad34 {
  animation-delay: 3.4s;
}

.-ad35 {
  animation-delay: 3.5s;
}

.-ad36 {
  animation-delay: 3.6s;
}

.-ad37 {
  animation-delay: 3.7s;
}

.-ad38 {
  animation-delay: 3.8s;
}

.-ad39 {
  animation-delay: 3.9s;
}

.-ad40 {
  animation-delay: 4s;
}

.-ad41 {
  animation-delay: 4.1s;
}

.-ad42 {
  animation-delay: 4.2s;
}

.-ad43 {
  animation-delay: 4.3s;
}

.-ad44 {
  animation-delay: 4.4s;
}

.-ad45 {
  animation-delay: 4.5s;
}

.-ad46 {
  animation-delay: 4.6s;
}

.-ad47 {
  animation-delay: 4.7s;
}

.-ad48 {
  animation-delay: 4.8s;
}

.-ad49 {
  animation-delay: 4.9s;
}

.-ad50 {
  animation-delay: 5s;
}

.gsap-clip {
  clip-path: inset(0 100% 0 0);
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fadeIn {
  animation-name: fadeIn;
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInUp {
  animation-name: fadeInUp;
}

/*==================================================================
    pages
===================================================================*/
/* box-pagetitle
---------------------------------------------------------------------------*/
.box-pagetitle {
  height: 410px;
  display: flex;
  align-items: end;
  padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .box-pagetitle {
    height: auto;
    padding-top: 180px;
    padding-bottom: 60px;
  }
}
.box-pagetitle .title-en {
  font-family: var(--font2);
  font-size: clamp(6rem, 4.6vw, 8rem);
  font-weight: bold;
  line-height: 1;
  padding-bottom: 0.2em;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .box-pagetitle .title-en {
    font-size: 5rem;
  }
}
.box-pagetitle .title-en-small {
  font-family: var(--font2);
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1;
  padding-bottom: 1em;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .box-pagetitle .title-en-small {
    font-size: 1.2rem;
  }
}
.box-pagetitle .title-en-small a {
  color: var(--k);
}
@media (hover: hover) and (pointer: fine) {
  .box-pagetitle .title-en-small a:hover {
    opacity: 0.5;
  }
}
.box-pagetitle .title {
  font-size: clamp(1.3rem, 1vw, 1.6rem);
  font-weight: bold;
  color: var(--k2);
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .box-pagetitle .title {
    line-height: 1.2;
    font-size: 1.4rem;
  }
}
.box-pagetitle .title span, .box-pagetitle .title em {
  font-weight: bold;
}
.box-pagetitle .title em {
  display: inline-block;
}
.box-pagetitle.box-pagetitle-small {
  height: auto;
  padding-top: 200px;
  padding-bottom: clamp(30px, 3vw, 60px);
}
@media screen and (max-width: 767px) {
  .box-pagetitle.box-pagetitle-small {
    padding-top: 150px;
    padding-bottom: 30px;
  }
}
.box-pagetitle.box-pagetitle-small .box-pagetitle_inner {
  display: flex;
  align-items: end;
}
.box-pagetitle.box-pagetitle-small .box-pagetitle_inner .title-en {
  padding-bottom: 0;
  line-height: 0.7;
  font-size: clamp(4rem, 3.1vw, 6rem);
}
@media screen and (max-width: 767px) {
  .box-pagetitle.box-pagetitle-small .box-pagetitle_inner .title-en {
    font-size: 3.6rem;
  }
}
.box-pagetitle.box-pagetitle-small .box-pagetitle_inner .title {
  padding-left: 1em;
}
@media screen and (max-width: 767px) {
  .box-pagetitle.box-pagetitle-small .box-pagetitle_inner .title {
    font-size: 1.2rem;
  }
}
.box-pagetitle.-withImage {
  display: flex;
  height: auto;
  padding-top: 180px;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .box-pagetitle.-withImage {
    flex-direction: column;
    padding-top: 150px;
    padding-bottom: 40px;
  }
}
.box-pagetitle.-withImage .box-pagetitle_l {
  width: 50%;
  padding-left: clamp(60px, 5.2vw, 120px);
  padding-right: 3em;
}
@media screen and (max-width: 767px) {
  .box-pagetitle.-withImage .box-pagetitle_l {
    width: 100%;
    padding: 0 var(--spa);
    margin-bottom: 30px;
  }
}
.box-pagetitle.-withImage .box-pagetitle_l .box-pagetitle_txt {
  padding-top: 80px;
}
@media screen and (max-width: 767px) {
  .box-pagetitle.-withImage .box-pagetitle_l .box-pagetitle_txt {
    padding-top: 25px;
  }
}
.box-pagetitle.-withImage .box-pagetitle_r {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .box-pagetitle.-withImage .box-pagetitle_r {
    width: 100%;
    padding-left: var(--spa);
  }
}
.box-pagetitle.-withImage .box-pagetitle_r img {
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
}
@media screen and (max-width: 767px) {
  .box-pagetitle.-withImage .box-pagetitle_r img {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
  }
}

/* .box-introduction
   タイトル直下の導入エリア
---------------------------------------------------------------------------*/
.box-introduction {
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .box-introduction {
    margin-bottom: 35px;
  }
}
.box-introduction p {
  color: var(--k2);
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .box-introduction p {
    font-size: 1.5rem;
  }
}

/* sec-page 404など汎用的なセクションコンテンツ
---------------------------------------------------------------------------*/
.sec-page_content p {
  color: var(--k2);
}
.sec-page_content p:not(:last-child) {
  margin-bottom: 1em;
}
.sec-page_content p small {
  opacity: 0.7;
}
.sec-page_content .btnarea {
  padding-top: 2em;
}
.sec-page_content section:not(:last-of-type) {
  margin-bottom: 4em;
}
@media screen and (max-width: 767px) {
  .sec-page_content section:not(:last-of-type) {
    margin-bottom: 3em;
  }
}
.sec-page_content .mb {
  margin-bottom: 4em;
}
@media screen and (max-width: 767px) {
  .sec-page_content .mb {
    margin-bottom: 3em;
  }
}
.sec-page_content .title {
  font-weight: bold;
  font-size: 1.5em;
  margin-bottom: 0.8em;
}

/* -------------------------------------------------------------------------
 top
---------------------------------------------------------------------------*/
/* intro
---------------------------------------------------------------------------*/
.top-intro {
  margin-bottom: 160px;
  margin-bottom: clamp(160px, 12.5vw, 360px);
}
@media screen and (max-width: 767px) {
  .top-intro {
    margin-bottom: 100px;
  }
}
.top-intro .top-intro_inner {
  padding-top: 100px;
  display: flex;
  align-items: stretch;
}
@media screen and (max-width: 767px) {
  .top-intro .top-intro_inner {
    padding-top: 0;
    flex-direction: column;
    align-items: start;
  }
}
.top-intro .top-intro_inner_l {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .top-intro .top-intro_inner_l {
    width: 100%;
    order: 1;
  }
}
.top-intro .top-intro_inner_l .title-en {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .top-intro .top-intro_inner_l .title-en {
    margin-bottom: 25px;
  }
}
.top-intro .top-intro_inner_l .title {
  margin-bottom: 3.214em;
}
@media screen and (max-width: 767px) {
  .top-intro .top-intro_inner_l .title {
    margin-inline: auto;
    text-align: center;
  }
}
.top-intro .top-intro_inner_l .title span {
  color: var(--c1);
  font-weight: bold;
  font-size: clamp(2.6rem, 1.9vw, 3.2rem);
  display: block;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 767px) {
  .top-intro .top-intro_inner_l .title span {
    font-size: 2.6rem;
  }
}
.top-intro .top-intro_inner_l .title span em {
  font-family: var(--font2);
  font-weight: 700;
  font-size: 7rem;
  letter-spacing: -0.05em;
  display: inline-block;
  padding-right: 0.08em;
  transform: translateY(5%);
}
.top-intro .top-intro_inner_l .title small {
  font-weight: 700;
  color: var(--c1);
  font-size: clamp(1.5rem, 1.4vw, 2.4rem);
}
.top-intro .top-intro_inner_l .subtitle {
  font-size: clamp(2.6rem, 1.9vw, 3.2rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.46;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .top-intro .top-intro_inner_l .subtitle {
    font-size: 2rem;
    text-align: center;
  }
}
.top-intro .top-intro_inner_l .txtarea {
  margin-bottom: 2em;
}
.top-intro .top-intro_inner_l .txtarea p {
  font-size: clam(1.6rem, 1.1vw, 2rem);
  color: var(--k2);
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .top-intro .top-intro_inner_l .txtarea p {
    font-weight: normal;
    font-size: 1.4rem;
  }
}
.top-intro .top-intro_inner_l .txtarea p:not(:last-child) {
  margin-bottom: 1.5em;
}
@media screen and (max-width: 767px) {
  .top-intro .top-intro_inner_l .txtarea p br {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .top-intro .top-intro_inner_l .btnarea {
    text-align: center;
  }
}
.top-intro .top-intro_inner_r {
  width: 50%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-intro .top-intro_inner_r {
    width: 100%;
    order: 0;
    min-height: clamp(360px, 92.3vw, 500px);
    max-width: 550px;
    margin-inline: auto;
    margin-bottom: 50px;
  }
}
.top-intro .top-intro_inner_r img {
  position: absolute;
  top: 0;
  right: 0;
}
.top-intro .top-intro_inner_r picture:nth-of-type(1) img {
  width: 90%;
}
@media screen and (max-width: 767px) {
  .top-intro .top-intro_inner_r picture:nth-of-type(1) img {
    max-width: 400px;
  }
}
.top-intro .top-intro_inner_r picture:nth-of-type(2) img {
  width: 100%;
  max-width: 220px;
  max-width: clamp(220px, 16vw, 300px);
  right: auto;
  left: 0;
  top: clamp(100px, 10vw, 200px);
}
@media screen and (max-width: 767px) {
  .top-intro .top-intro_inner_r picture:nth-of-type(2) img {
    max-width: clamp(130px, 34.6vw, 180px);
  }
}
.top-intro .top-intro_inner_r picture:nth-of-type(3) img {
  width: 100%;
  max-width: 300px;
  max-width: clamp(300px, 21.96vw, 250px);
  top: clamp(390px, 27vw, 490px);
}
@media screen and (max-width: 767px) {
  .top-intro .top-intro_inner_r picture:nth-of-type(3) img {
    max-width: 180px;
    max-width: clamp(180px, 46vw, 250px);
    top: clamp(225px, 59vw, 300px);
  }
}

/* top-news
---------------------------------------------------------------------------*/
.top-news {
  margin-bottom: 170px;
}
@media screen and (max-width: 767px) {
  .top-news {
    margin-bottom: 70px;
  }
}
.top-news .top-news_inner {
  display: flex;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-news .top-news_inner {
    flex-direction: column;
  }
}
.top-news .top-news_inner_l {
  width: 35%;
}
@media screen and (max-width: 767px) {
  .top-news .top-news_inner_l {
    width: 100%;
  }
}
.top-news .top-news_inner_r {
  width: 65%;
}
@media screen and (max-width: 767px) {
  .top-news .top-news_inner_r {
    width: 100%;
  }
}
.top-news .top-news_inner_btnarea {
  position: absolute;
  left: 0;
  top: 130px;
}
@media screen and (max-width: 767px) {
  .top-news .top-news_inner_btnarea {
    padding-top: 2em;
    position: static;
    top: auto;
    left: auto;
    text-align: center;
  }
}

/* top-service
---------------------------------------------------------------------------*/
.top-service {
  width: 100%;
  max-width: 1600px;
  margin-inline: auto;
  margin-bottom: 150px;
}
@media screen and (max-width: 767px) {
  .top-service {
    margin-bottom: 70px;
  }
}
.top-service .top-service_inner {
  display: flex;
  align-items: stretch;
}
@media screen and (max-width: 767px) {
  .top-service .top-service_inner {
    flex-direction: column;
  }
}
.top-service .top-service_inner_l {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .top-service .top-service_inner_l {
    width: 100%;
    padding-right: var(--spa);
    margin-bottom: 20px;
  }
}
.top-service .top-service_inner_l .titlearea {
  width: 100%;
  height: 100%;
  background: url(../img/top/service_bg.jpg) no-repeat;
  background-size: cover;
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
}
@media (min-width: 1601px) {
  .top-service .top-service_inner_l .titlearea {
    border-radius: 20px;
  }
}
@media screen and (max-width: 767px) {
  .top-service .top-service_inner_l .titlearea {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    height: 360px;
    display: flex;
    align-items: center;
  }
}
.top-service .top-service_inner_l .title {
  padding-top: 100px;
  padding-left: clamp(65px, 5vw, 100px);
}
@media screen and (max-width: 767px) {
  .top-service .top-service_inner_l .title {
    padding: 100px var(--spa2);
  }
}
.top-service .top-service_inner_r {
  width: 50%;
  padding-left: clamp(50px, 5vw, 80px);
  padding-right: clamp(50px, 8vw, 100px);
}
@media (min-width: 1601px) {
  .top-service .top-service_inner_r {
    padding-right: var(--spa);
  }
}
@media screen and (max-width: 767px) {
  .top-service .top-service_inner_r {
    width: 100%;
    padding: 0 var(--spa);
  }
}

/* list-contentsLink
---------------------------------------------------------------------------*/
.list-contentsLink > li {
  position: relative;
  padding: 45px 5px;
}
@media screen and (max-width: 767px) {
  .list-contentsLink > li {
    padding: 25px 5px;
  }
}
.list-contentsLink > li:not(:last-child) {
  border-bottom: 1px solid rgba(34, 41, 34, 0.2);
}
.list-contentsLink > li::before {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 5px);
  right: 20px;
  width: 9.46px;
  height: 10.12px;
  background-image: url(../img/common/icon_arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0;
  transform: translateX(-100%);
  transition: var(--transition);
}
@media screen and (max-width: 767px) {
  .list-contentsLink > li::before {
    transform: translateX(0%);
    opacity: 1;
  }
}
.list-contentsLink > li::after {
  content: "";
  display: block;
  position: absolute;
  background-color: var(--k);
  height: 1px;
  bottom: 0;
  left: 0;
  width: 0%;
  opacity: 0;
  transition: all 0.4s var(--easeInOutQuart);
}
.list-contentsLink > li:has(> a:hover)::before {
  opacity: 1;
  transform: translateX(0%);
}
.list-contentsLink > li:has(> a:hover)::after {
  width: 100%;
  opacity: 1;
}
.list-contentsLink > li > a {
  display: inline-block;
  color: var(--k);
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .list-contentsLink > li > a {
    margin-bottom: 15px;
  }
}
.list-contentsLink > li > a span {
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.1;
  display: block;
  margin-bottom: 0.25em;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .list-contentsLink > li > a span {
    font-size: 2rem;
    margin-bottom: 0.1em;
  }
}
.list-contentsLink > li > a small {
  font-family: var(--font2);
  font-weight: bold;
  font-size: 1.2rem;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .list-contentsLink > li > a small {
    font-size: 1rem;
  }
}
.list-contentsLink > li > ul {
  display: flex;
}
.list-contentsLink > li > ul > li {
  position: relative;
}
.list-contentsLink > li > ul > li:not(:last-child) {
  margin-right: 2.5em;
}
.list-contentsLink > li > ul > li:not(:last-child)::after {
  content: "";
  display: block;
  position: absolute;
  top: -5%;
  right: -1.25em;
  width: 1px;
  height: 110%;
  background-color: #707070;
  opacity: 0.6;
  transform-origin: center;
  transform: rotateZ(35deg);
}
.list-contentsLink > li > ul > li a {
  color: var(--k);
  opacity: 0.6;
  position: relative;
  padding-bottom: 0.2em;
  text-decoration: none;
  line-height: 1.8;
  letter-spacing: 0;
  font-size: 1.3rem;
  background-position: left 100% bottom 0;
  background-image: linear-gradient(var(--k), var(--k));
  background-repeat: no-repeat;
  background-size: 0% 1px;
  transition: background-size 0.3s var(--easeOutSine), opacity 0.4s ease-out;
}
@media (hover: hover) and (pointer: fine) {
  .list-contentsLink > li > ul > li a:hover {
    opacity: 1;
    background-size: 100% 1px;
    background-position: right 100% bottom 0;
  }
}
@media screen and (max-width: 767px) {
  .list-contentsLink > li > ul > li a {
    font-size: 1rem;
  }
}

/* top-seminar
---------------------------------------------------------------------------*/
.top-seminar {
  width: 100%;
  padding-top: 150px;
  padding-bottom: 180px;
}
@media screen and (max-width: 767px) {
  .top-seminar {
    padding-top: 60px;
    padding-bottom: 100px;
  }
}
.top-seminar .top-seminar_inner {
  display: flex;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-seminar .top-seminar_inner {
    flex-direction: column;
    padding-left: var(--spa2);
    padding-right: var(--spa2);
  }
}
.top-seminar .top-seminar_inner_l {
  width: 45%;
}
@media screen and (max-width: 767px) {
  .top-seminar .top-seminar_inner_l {
    width: 100%;
  }
}
.top-seminar .top-seminar_inner_l .title {
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .top-seminar .top-seminar_inner_l .title {
    margin-bottom: 30px;
  }
}
.top-seminar .top-seminar_inner_l .txt {
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .top-seminar .top-seminar_inner_l .txt {
    margin-bottom: 0px;
  }
}
.top-seminar .top-seminar_inner_l .txt p {
  color: var(--k2);
}
@media screen and (max-width: 767px) {
  .top-seminar .top-seminar_inner_l .txt p {
    font-size: 1.4rem;
  }
}
.top-seminar .top-seminar_inner_r {
  width: 55%;
}
@media screen and (max-width: 767px) {
  .top-seminar .top-seminar_inner_r {
    width: 100%;
  }
}
.top-seminar .top-seminar_inner_r ul li:not(:last-child) {
  border-bottom: 1px solid rgba(34, 41, 34, 0.1);
}
.top-seminar .top-seminar_inner .btnarea {
  position: absolute;
  top: 250px;
  left: var(--spa);
}
@media screen and (max-width: 767px) {
  .top-seminar .top-seminar_inner .btnarea {
    position: static;
    top: auto;
    left: auto;
    text-align: center;
    padding-top: 30px;
  }
}

/* top-result
---------------------------------------------------------------------------*/
.top-result {
  padding-top: 100px;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .top-result {
    padding-top: 60px;
    margin-bottom: 30px;
  }
}
.top-result_inner > .title {
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .top-result_inner > .title {
    margin-bottom: 30px;
  }
}
.top-result_inner > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
}
@media screen and (max-width: 767px) {
  .top-result_inner > ul {
    flex-direction: column;
    gap: var(--spa);
  }
}
.top-result_inner > ul li {
  width: calc(33.3% - 16.6px);
}
@media (max-width: 1200px) {
  .top-result_inner > ul li {
    width: calc(50% - 15px);
  }
  .top-result_inner > ul li:not(:last-child) {
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 767px) {
  .top-result_inner > ul li {
    width: 100%;
    flex-grow: initial;
  }
}
.top-result_outro {
  padding-top: 80px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top-result_outro {
    padding-top: 30px;
  }
}

/* -------------------------------------------------------------------------
 seminar
---------------------------------------------------------------------------*/
/* link-seminar
---------------------------------------------------------------------------*/
.link-seminar {
  color: var(--k);
}
.link-seminar_img {
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  aspect-ratio: 16/9;
}
@media screen and (max-width: 767px) {
  .link-seminar_img {
    width: 100%;
    height: auto;
    overflow: visible;
  }
}
.link-seminar_img img {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  transform-origin: left top;
}
@media screen and (max-width: 767px) {
  .link-seminar_img img {
    position: static;
    transform: translateX(0) translateY(0);
    border-radius: 8px;
  }
}
.link-seminar_txt {
  padding-top: 25px;
}
@media screen and (max-width: 767px) {
  .link-seminar_txt {
    padding-top: 20px;
  }
}
.link-seminar_txt .title {
  display: inline-block;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.75;
  padding-bottom: 0.8em;
}
@media screen and (max-width: 767px) {
  .link-seminar_txt .title {
    font-size: 1.8rem;
    line-height: 1.5;
  }
}
.link-seminar_txt .title span {
  padding-bottom: 0.2em;
  background-position: left 0% bottom 0;
  background-image: linear-gradient(var(--k), var(--k));
  background-repeat: no-repeat;
  background-size: 0% 1px;
  transition: background-size 0.4s var(--easeInOutCubic);
}
.link-seminar_txt .time {
  font-family: var(--font2);
  font-weight: bold;
  font-size: 1.3rem;
  color: var(--k);
  opacity: 0.5;
  display: inline-block;
  margin-bottom: 0.75em;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .link-seminar_txt .time {
    font-size: 1.1rem;
  }
}
.link-seminar_txt .tag {
  display: flex;
  flex-wrap: wrap;
  opacity: 0.5;
}
.link-seminar_txt .tag li {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 767px) {
  .link-seminar_txt .tag li {
    font-size: 1.2rem;
  }
}
.link-seminar_txt .tag li:not(:last-child) {
  margin-right: 0.8em;
}
@media screen and (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .link-seminar:hover .link-seminar_img img {
    transform: scale(1.05) translateX(-50%) translateY(-50%);
  }
  .link-seminar:hover .link-seminar_txt .title span {
    background-size: 100% 1px;
  }
}

/*==================================================================
    download
===================================================================*/
/* link-download
---------------------------------------------------------------------------*/
.link-download {
  color: var(--k);
}
.link-download_img img {
  width: 100%;
  border-radius: 8px;
  transition: all 0.2s ease-out;
}
.link-download_txt {
  padding-top: 25px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .link-download_txt {
    padding-top: 20px;
  }
}
.link-download_txt .title {
  display: inline-block;
  font-weight: bold;
  font-size: clamp(1.75rem, 1.2vw, 2rem);
  line-height: 1.5;
  padding-bottom: 1.5em;
  flex-grow: 1;
}
@media screen and (max-width: 767px) {
  .link-download_txt .title {
    font-size: 1.8rem;
    line-height: 1.5;
  }
}
.link-download_txt .title span {
  padding-bottom: 0.1em;
  background-position: left 0% bottom 0;
  background-image: linear-gradient(var(--k), var(--k));
  background-repeat: no-repeat;
  background-size: 0% 1px;
  transition: background-size 0.4s var(--easeInOutCubic);
}
.link-download_txt .recommend {
  margin-bottom: 20px;
}
.link-download_txt .recommend dt {
  font-size: 1.2rem;
  color: var(--c1);
  font-weight: bold;
  position: relative;
  margin-bottom: 1em;
}
.link-download_txt .recommend dt::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  width: calc(100% - 12em);
  height: 1px;
  background-color: #ccc;
}
.link-download_txt .recommend dd p {
  font-size: clamp(1.2rem, 1vw, 1.6rem);
  color: var(--k2);
  overflow-wrap: break-word;
}
.link-download_txt .arrowItem {
  display: block;
  text-align: right;
  position: relative;
  z-index: 1;
  font-size: clamp(1.2rem, 1vw, 1.6rem);
  font-weight: bold;
  letter-spacing: 0.025em;
  padding-right: 1em;
}
.link-download_txt .arrowItem::before {
  content: "";
  display: block;
  position: absolute;
  width: 7px;
  height: 8.5px;
  background-image: url(../img/common/icon_arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  right: 0;
  top: calc(50% - 3px);
  transition: right 0.2s ease-out;
}
@media screen and (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .link-download:hover .link-download_img img {
    transform: scale(1.05);
  }
  .link-download:hover .link-download_txt .title span {
    background-size: 100% 1px;
  }
  .link-download:hover .link-download_txt .arrowItem::before {
    right: -0.5em;
  }
}

/*==================================================================
    summary
===================================================================*/
/* summary-mission
---------------------------------------------------------------------------*/
.summary-mission {
  margin-bottom: 200px;
}
@media screen and (max-width: 767px) {
  .summary-mission {
    margin-bottom: 80px;
  }
}
.summary-mission_inner {
  display: flex;
  margin-inline: auto;
  padding-left: var(--spa);
  width: 100%;
}
@media (min-width: 1600px) {
  .summary-mission_inner {
    max-width: calc(1460px + var(--spa) * 2);
    padding: 0 var(--spa);
  }
}
@media screen and (max-width: 767px) {
  .summary-mission_inner {
    flex-direction: column;
    padding-left: var(--spa);
  }
}
.summary-mission_inner_l {
  width: 50%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .summary-mission_inner_l {
    width: 100%;
    margin-bottom: 3em;
    padding-right: var(--spa);
  }
}
.summary-mission_inner_r {
  width: 50%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .summary-mission_inner_r {
    width: 100%;
  }
}
.summary-mission_inner_r img {
  display: inline-block;
}
.summary-mission_inner_r img:nth-child(1) {
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
}
@media (min-width: 1600px) {
  .summary-mission_inner_r img:nth-child(1) {
    border-radius: 20px;
  }
}
.summary-mission_inner_r img:nth-child(2) {
  border-radius: 16px;
  width: 50%;
  position: absolute;
  bottom: -150px;
  right: 10%;
}
@media screen and (max-width: 767px) {
  .summary-mission_inner_r img:nth-child(2) {
    width: 45%;
    position: static;
    margin-top: -100px;
    transform: translateX(80%);
  }
}
@media screen and (max-width: 767px) {
  .summary-mission_subtitle {
    margin-bottom: 2em;
  }
}
.summary-mission_title {
  font-size: 3.8rem;
  font-size: clamp(3.6rem, 2.9vw, 4.2rem);
  font-weight: bold;
  position: absolute;
  writing-mode: vertical-rl;
  line-height: 1.8;
  letter-spacing: 0.1em;
  top: 0;
  right: clamp(95px, 7.5vw, 150px);
}
@media screen and (max-width: 767px) {
  .summary-mission_title {
    writing-mode: initial;
    position: static;
    line-height: 1.4;
    font-size: 3.2rem;
    margin-bottom: 1em;
  }
}
.summary-mission_txt {
  padding-top: 15em;
  color: var(--k2);
}
@media screen and (max-width: 767px) {
  .summary-mission_txt {
    padding-top: 0;
  }
}
.summary-mission_txt p {
  line-height: 2.25;
  font-size: 1.6rem;
  font-size: clamp(1.6rem, 1.25vw, 1.8rem);
}
@media screen and (max-width: 767px) {
  .summary-mission_txt p {
    font-size: 1.5rem;
  }
  .summary-mission_txt p br {
    display: none;
  }
}
.summary-mission_txt p:not(:last-child) {
  margin-bottom: 2.5em;
}
@media screen and (max-width: 767px) {
  .summary-mission_txt p:not(:last-child) {
    margin-bottom: 1em;
  }
}

/* summary-policy
---------------------------------------------------------------------------*/
.summary-policy {
  margin-bottom: 150px;
}
@media screen and (max-width: 767px) {
  .summary-policy {
    margin-bottom: 60px;
  }
}
.summary-policy_title {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .summary-policy_title {
    margin-bottom: 30px;
  }
}
.summary-policy ul {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .summary-policy ul {
    padding-left: 0;
    padding-right: 0;
    margin-top: 30px;
  }
}
.summary-policy ul li:not(:last-child) {
  border-bottom: 1px solid #ccc;
}
.summary-policy .policyItem {
  --lw: 46.5%;
  display: flex;
  padding: 3em 2em;
}
@media screen and (max-width: 767px) {
  .summary-policy .policyItem {
    flex-direction: column;
    padding: 2em 1.5em;
  }
}
.summary-policy .policyItem_title {
  width: var(--lw);
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .summary-policy .policyItem_title {
    width: 100%;
    margin-bottom: 1em;
  }
}
.summary-policy .policyItem_title span {
  font-weight: bold;
  display: block;
  font-family: var(--font2);
  letter-spacing: 0;
  font-size: clamp(3.2rem, 2.5vw, 4rem);
  margin-bottom: 0.2em;
}
@media screen and (max-width: 767px) {
  .summary-policy .policyItem_title span {
    font-size: 2.1rem;
  }
}
.summary-policy .policyItem_title em {
  font-weight: bold;
  font-size: clamp(1.2rem, 1vw, 1.4rem);
}
@media screen and (max-width: 767px) {
  .summary-policy .policyItem_title em {
    font-size: 1.2rem;
  }
}
.summary-policy .policyItem_detail {
  width: calc(100% - var(--lw));
}
@media screen and (max-width: 767px) {
  .summary-policy .policyItem_detail {
    width: 100%;
  }
}
.summary-policy .policyItem_detail p {
  color: var(--k2);
  font-size: clamp(1.6rem, 1.2vw, 1.8rem);
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .summary-policy .policyItem_detail p {
    font-size: 1.4rem;
  }
}
.summary-policy .policyItem_detail p:not(:last-child) {
  margin-bottom: 1em;
}

/* summary-message
---------------------------------------------------------------------------*/
.summary-message {
  margin-bottom: 150px;
}
@media screen and (max-width: 767px) {
  .summary-message {
    margin-bottom: 80px;
  }
}
.summary-message_title {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .summary-message_title {
    margin-bottom: 45px;
  }
}
.summary-message .summary-message_inner {
  --lw: 14.7%;
  display: flex;
}
@media screen and (max-width: 767px) {
  .summary-message .summary-message_inner {
    flex-direction: column;
    --lw: 24.7%;
  }
}
.summary-message .summary-message_inner_l {
  width: var(--lw);
  margin-right: 20px;
}
.summary-message .summary-message_inner_l img {
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .summary-message .summary-message_inner_l img {
    border-radius: 6px;
  }
}
.summary-message .summary-message_inner_r {
  width: calc(100% - var(--lw));
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-top: 2em;
  padding-left: 6%;
}
@media screen and (max-width: 767px) {
  .summary-message .summary-message_inner_r {
    width: 100%;
    padding-left: 0;
    order: 0;
    margin-bottom: 30px;
  }
}
@media (max-width: 1115px) {
  .summary-message .summary-message_inner_r {
    padding-top: 0;
  }
}
.summary-message .summary-message_inner .txtBox {
  margin-bottom: 3em;
}
.summary-message .summary-message_inner .txtBox p {
  font-size: 1.6rem;
  color: var(--k2);
  line-height: 2.25;
  font-size: clamp(1.6rem, 1vw, 1.8rem);
}
@media screen and (max-width: 767px) {
  .summary-message .summary-message_inner .txtBox p {
    font-size: 1.5rem;
    line-height: 1.8;
  }
}
.summary-message .summary-message_inner .txtBox p:not(:last-child) {
  margin-bottom: 2em;
}
@media screen and (max-width: 767px) {
  .summary-message .summary-message_inner .txtBox p:not(:last-child) {
    margin-bottom: 1em;
  }
}
@media (max-width: 1115px) {
  .summary-message .summary-message_inner .txtBox .mdNone {
    display: none;
  }
}
.summary-message .summary-message_inner .profileItem {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
}
.summary-message .summary-message_inner .profileItem .position {
  font-weight: bold;
  font-size: 1.4rem;
  display: block;
}
.summary-message .summary-message_inner .profileItem .name b {
  font-weight: bold;
  font-size: clamp(2.4rem, 1.8vw, 3rem);
  display: inline-block;
  padding-right: 0.8em;
}
@media screen and (max-width: 767px) {
  .summary-message .summary-message_inner .profileItem .name b {
    font-size: 2rem;
  }
}
.summary-message .summary-message_inner .profileItem .name a {
  font-size: 1.2rem;
  color: var(--k3);
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  .summary-message .summary-message_inner .profileItem .name a:hover {
    text-decoration: none;
  }
}

/* summary-profile
---------------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
  .summary-profile_title {
    margin-bottom: 40px;
  }
}
.summary-profile_inner {
  width: 100%;
  max-width: 800px;
  margin-inline: auto;
}
.summary-profile_inner .summary-outline {
  margin-bottom: 65px;
}
@media screen and (max-width: 767px) {
  .summary-profile_inner .summary-outline {
    margin-bottom: 40px;
    padding-left: 10px;
    padding-right: 10px;
    display: block;
  }
}
.summary-profile_inner .summary-map {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .summary-profile_inner .summary-map {
    margin-bottom: 60px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .summary-profile_inner .summary-banner a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  .summary-profile_inner .summary-banner a img {
    display: block;
    width: 80%;
    max-width: 350px;
    margin-inline: auto;
  }
}

/*  box-map
------------------------------------*/
.box-map {
  position: relative;
  z-index: 0;
}
.box-map .btn-external {
  position: absolute;
  bottom: 30px;
  right: 30px;
  z-index: 1;
}
.box-map_inner {
  position: relative;
  overflow: hidden;
  width: 100%;
  border-radius: 20px;
  aspect-ratio: 2/1;
  min-height: 400px;
}
@media screen and (max-width: 767px) {
  .box-map_inner {
    min-height: 300px;
    aspect-ratio: 1/1;
  }
}
.box-map_inner iframe {
  filter: grayscale(100%);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: calc(100% + 200px);
  height: calc(100% + 300px);
}

/*==================================================================
    business (service)
===================================================================*/
/* business
---------------------------------------------------------------------------*/
.box-sectionLink {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .box-sectionLink {
    margin-bottom: 25px;
  }
}
.box-sectionLink > ul {
  display: flex;
  flex-wrap: wrap;
}
.box-sectionLink > ul li:not(:last-child) {
  margin-right: 20px;
  margin-bottom: 10px;
}
.box-sectionLink > ul li a {
  opacity: 0.6;
  color: var(--k);
  display: inline-block;
  position: relative;
  padding-right: 18px;
  line-height: 1.1;
  font-size: clamp(1.3rem, 1vw, 1.5rem);
}
@media screen and (max-width: 767px) {
  .box-sectionLink > ul li a {
    font-size: 1.2rem;
  }
}
.box-sectionLink > ul li a::before {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 5px);
  right: 0;
  width: 10px;
  height: 10px;
  background-image: url("../img/common/icon_arrow.svg");
  background-repeat: no-repeat;
  background-size: contain;
  transform: rotateZ(90deg);
}
@media (hover: hover) and (pointer: fine) {
  .box-sectionLink > ul li a:hover {
    opacity: 1;
  }
}

/* businessBox
サービス紹介各セクションの共通用スタイル
---------------------------------------------------------------------------*/
.businessBox {
  width: 100%;
  border-radius: 20px;
  background-color: var(--w);
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .businessBox {
    margin-bottom: var(--spa);
  }
}
.businessBox.-nomb {
  margin-bottom: 0;
}
.businessBox_inner {
  --rw: 40%;
  padding: 70px 70px 90px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .businessBox_inner {
    flex-direction: column;
    align-items: start;
    padding: 40px var(--spa2) 30px;
  }
}
.businessBox_inner_l {
  width: calc(100% - var(--rw));
  padding-right: clamp(50px, 6vw, 105px);
}
@media screen and (max-width: 767px) {
  .businessBox_inner_l {
    width: 100%;
    padding-right: 0;
    margin-bottom: 3em;
  }
}
.businessBox_inner_r {
  width: var(--rw);
}
@media screen and (max-width: 767px) {
  .businessBox_inner_r {
    width: 100%;
  }
}
.businessBox_inner_r img {
  border-radius: 12px;
}
.businessBox_inner_full {
  width: 100%;
}
.businessBox_title {
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .businessBox_title {
    margin-bottom: 30px;
  }
}
.businessBox_title b {
  font-weight: bold;
  font-size: 2.8rem;
  line-height: 1.2;
  display: block;
}
@media screen and (max-width: 767px) {
  .businessBox_title b {
    font-size: 2.1rem;
    line-height: 1.4;
    margin-bottom: 0.25em;
  }
}
.businessBox_title small {
  color: var(--c1);
  font-family: var(--font2);
  letter-spacing: 0;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .businessBox_title small {
    font-size: 1.1rem;
  }
}
.businessBox_subtitle small {
  font-size: 1.6rem;
  font-weight: bold;
  display: block;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .businessBox_subtitle small {
    font-size: 1.2rem;
  }
}
.businessBox_subtitle span {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5;
  display: inline-block;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .businessBox_subtitle span {
    font-size: 2rem;
  }
}
.businessBox_detail p {
  color: var(--k2);
}
.businessBox_detail .btnarea {
  padding-top: 2em;
}
.businessBox_flex {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .businessBox_flex {
    flex-direction: column;
    justify-content: start;
  }
}
@media screen and (max-width: 767px) {
  .businessBox_flex_l {
    margin-bottom: 2em;
  }
}
.businessBox_list dl {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.businessBox_list dl dt {
  font-size: 1.6rem;
  font-weight: bold;
  border-bottom: 1px solid #707070;
  padding: 0 0.5em 0.5em;
  margin-bottom: 1em;
  width: 100%;
  color: var(--k);
}
@media screen and (max-width: 767px) {
  .businessBox_list dl dt {
    font-size: 1.5rem;
  }
}
.businessBox_list dl dd {
  width: 50%;
  font-size: 1.2rem;
  color: var(--k2);
  padding-right: 1em;
  line-height: 1.4;
}
.businessBox_list dl dd:not(:last-child) {
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .businessBox_list dl dd:not(:last-child) {
    margin-bottom: 0.75em;
  }
}
.businessBox_list dl dd small {
  letter-spacing: 0;
}
.businessBox_list2 {
  padding-top: 70px;
  display: flex;
  gap: 55px;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .businessBox_list2 {
    padding-top: 40px;
    flex-direction: column;
    gap: var(--spa);
  }
}
.businessBox_list2 li {
  flex-grow: 1;
}
.businessBox_list2 li dl dt {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 20px;
}
.businessBox_list2 li dl dt span {
  display: flex;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.1);
  margin-bottom: 15px;
}
.businessBox_list2 li dl dt b {
  display: block;
  text-align: center;
  font-size: 1.8rem;
  line-height: 1.2;
}
.businessBox_list2 li dl dd {
  color: var(--k2);
  font-size: 1.3rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .businessBox_list2 li dl dd {
    line-height: 1.8;
  }
}
.businessBox_list2 li dl dd.link {
  margin-top: 15px;
  text-align: center;
}
.businessBox_list2 li dl dd.link a {
  color: var(--k);
}
.businessBox_list2 li dl dd.link a span {
  display: inline-block;
  font-size: 1.3rem;
  margin-left: 10px;
  border: 1px solid #b5b5b5;
  padding: 3px 1.5em 3px 1em;
  border-radius: 999px;
}
.businessBox_list2 li dl dd.link a:hover {
  text-decoration: underline;
}
.businessBox_list3 {
  padding-top: 2em;
}
.businessBox_list3 li {
  font-weight: bold;
  font-size: 1.6rem;
  position: relative;
  padding-left: 1em;
  line-height: 1.5;
}
.businessBox_list3 li::before {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 0.15em);
  left: 0;
  width: 0.3em;
  height: 0.3em;
  border-radius: 50%;
  background-color: var(--c1);
}
@media screen and (max-width: 767px) {
  .businessBox_list3 li {
    font-size: 1.5rem;
  }
}
.businessBox_list3 li:not(:last-child) {
  margin-bottom: 1em;
}
.businessBox_list3 li a {
  color: var(--k);
}
.businessBox_list3 li a span {
  display: inline-block;
  font-size: 1.2rem;
  margin-left: 10px;
  border: 1px solid #b5b5b5;
  padding: 3px 1.5em 3px 1em;
  border-radius: 999px;
}
.businessBox_list3 li a:hover {
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  #digitalMarketing.businessBox .businessBox_inner_l {
    padding-top: 50px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
}
#digitalMarketing.businessBox .businessBox_img {
  margin-bottom: 30px;
}
@media (min-width: 1500px) {
  #digitalMarketing.businessBox .businessBox_detail .btnarea {
    padding-top: 5em;
  }
}

#mensBeauty.businessBox .mb_logo {
  padding-top: 2em;
}
#mensBeauty.businessBox .mb_logo dt {
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: 1.5em;
}
@media screen and (max-width: 767px) {
  #mensBeauty.businessBox .mb_logo dt {
    font-size: 1.6rem;
  }
}
#mensBeauty.businessBox .mb_logo dd {
  background-color: rgba(11, 145, 130, 0.1);
  padding: 20px;
  border-radius: 10px;
}

#hrSolutions.businessBox .businessBox_inner {
  --rw: 31%;
}

/*==================================================================
    result
===================================================================*/
.result-archive {
  width: 100%;
  max-width: calc(1000px + var(--spa) * 2);
  margin-inline: auto;
  padding-left: var(--spa);
  padding-right: var(--spa);
}
@media (min-width: 1500px) {
  .result-archive {
    max-width: calc(1280px + var(--spa) * 2);
  }
}
@media screen and (max-width: 767px) {
  .result-archive {
    max-width: calc(500px + var(--spa) * 2);
  }
}
.result-archive ul {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .result-archive ul {
    flex-direction: column;
    gap: var(--spa);
  }
}
.result-archive ul li {
  width: calc(50% - 20px);
  margin-bottom: 75px;
}
@media screen and (max-width: 767px) {
  .result-archive ul li {
    margin-bottom: 45px;
    width: 100%;
  }
}

.link-result {
  display: block;
}
.link-result_thumb {
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  min-height: 275px;
  aspect-ratio: 1.75/1;
  border-radius: 8px;
  position: relative;
  margin-bottom: 30px;
  transition: opacity 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .link-result_thumb {
    min-height: 200px;
    margin-bottom: 20px;
  }
}
.link-result_logo {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 140px;
  height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-top-left-radius: 8px;
  border-bottom-right-radius: 8px;
  background-color: var(--w);
}
.link-result_logo img {
  width: auto;
  height: 95%;
}
.link-result_txt > .subtitle {
  color: var(--k2);
  font-weight: bold;
  font-size: 1.5rem;
  display: block;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .link-result_txt > .subtitle {
    font-size: 1.3rem;
  }
}
.link-result_txt > .title {
  display: block;
  font-size: 2.2rem;
  line-height: 1.4;
  font-weight: bold;
  color: var(--k);
  margin-bottom: 1em;
}
@media (max-width: 1200px) {
  .link-result_txt > .title {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .link-result_txt > .title {
    font-size: 1.8rem;
  }
}
.link-result_txt > .title span {
  padding-bottom: 0.05em;
  background-position: left 0% bottom 0;
  background-image: linear-gradient(var(--k), var(--k));
  background-repeat: no-repeat;
  background-size: 0% 1px;
  transition: background-size 0.4s var(--easeInOutCubic);
}
.link-result_txt .name {
  color: var(--k3);
  font-weight: bold;
  font-size: 1.5rem;
}
@media screen and (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .link-result:hover .link-result_thumb {
    opacity: 0.8;
  }
  .link-result:hover .link-result_txt .title span {
    background-size: 100% 1px;
  }
}

/* result-single
---------------------------------------------------------------------------*/
/*  mv
------------------------------------*/
.result-single {
  padding-top: 25px;
}
@media screen and (max-width: 767px) {
  .result-single {
    padding-top: 15px;
  }
}
.result-single_mv > .subtitle {
  font-size: 1.9rem;
  line-height: 1.4;
  font-weight: bold;
  letter-spacing: 0.075em;
  color: var(--c1);
  display: block;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .result-single_mv > .subtitle {
    font-size: 1.5rem;
  }
}
.result-single_mv > .title {
  font-size: 3.2rem;
  line-height: 1.75;
  font-weight: bold;
  letter-spacing: 0.075em;
  color: var(--k);
  margin-bottom: 1.5em;
}
@media screen and (max-width: 767px) {
  .result-single_mv > .title {
    font-size: 1.8rem;
    line-height: 1.6;
  }
}
.result-single_mv > .imgarea img {
  width: 100%;
  min-height: 480px;
  aspect-ratio: 2.03/1;
  object-fit: cover;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .result-single_mv > .imgarea img {
    min-height: 200px;
    border-radius: 12px;
  }
}
.result-single_mv .clientData {
  width: calc(100% - 30px);
  max-width: 800px;
  background-color: var(--w);
  border-radius: 16px;
  display: flex;
  align-items: center;
  padding: 50px 35px;
  margin-top: -50px;
  margin-inline: auto;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .result-single_mv .clientData {
    flex-direction: column;
    padding: 15px var(--spa);
    border-radius: 8px;
    margin-top: -30px;
  }
}
.result-single_mv .clientData_l {
  width: calc(100% - 260px);
  position: relative;
  padding-left: 5em;
}
@media screen and (max-width: 767px) {
  .result-single_mv .clientData_l {
    width: 100%;
    padding-left: 0;
  }
}
.result-single_mv .clientData_l > .title {
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0;
  font-family: var(--font2);
  color: var(--k);
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .result-single_mv .clientData_l > .title {
    position: static;
    font-size: 1.2rem;
  }
}
.result-single_mv .clientData_l > .client {
  font-size: 2.2rem;
  line-height: 1.4;
  font-weight: bold;
  color: var(--k);
  margin-bottom: 0.5em;
}
@media screen and (max-width: 767px) {
  .result-single_mv .clientData_l > .client {
    font-size: 1.8rem;
  }
}
.result-single_mv .clientData_l > .name {
  font-size: 1.8rem;
  line-height: 1.4;
  font-weight: bold;
  color: var(--k3);
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .result-single_mv .clientData_l > .name {
    font-size: 1.5rem;
    margin-bottom: 0em;
  }
}
.result-single_mv .clientData_l > .url a {
  font-size: 1.4rem;
  line-height: 1.4;
  color: var(--k3);
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .result-single_mv .clientData_l > .url a {
    font-size: 1.1rem;
  }
}
.result-single_mv .clientData_r {
  width: 260px;
}
@media screen and (max-width: 767px) {
  .result-single_mv .clientData_r {
    width: 50%;
    max-width: 300px;
  }
}
.result-single_mv .clientData_r img {
  width: 100%;
}

/*  intro
------------------------------------*/
.result-single .result-intro {
  padding-top: 100px;
  padding-bottom: 180px;
}
@media screen and (max-width: 767px) {
  .result-single .result-intro {
    padding-top: 50px;
    padding-bottom: 60px;
  }
}
.result-single .result-intro_title {
  text-align: center;
  font-size: 2.4rem;
  line-height: 1.1;
  font-weight: bold;
  font-family: var(--font2);
  letter-spacing: 0;
  color: var(--k);
  margin-bottom: 2em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .result-single .result-intro_title {
    font-size: 2rem;
    margin-bottom: 1.5em;
  }
}
.result-single .result-intro > .txtarea p {
  font-size: 1.6rem;
  line-height: 2.1;
  color: var(--k2);
}
@media screen and (max-width: 767px) {
  .result-single .result-intro > .txtarea p {
    font-size: 1.4rem;
    text-align: justify;
  }
}
.result-single .result-intro > .txtarea p:not(:last-child) {
  margin-bottom: 1em;
}
.result-single .result-intro > .txtarea p strong {
  color: var(--k);
  font-weight: bold;
  padding-bottom: 0.05em;
  background-position: left 0% bottom 0;
  background-image: linear-gradient(var(--k), var(--k));
  background-repeat: no-repeat;
  background-size: 100% 1px;
}

/*  interview
------------------------------------*/
.result-single .result-interview_title {
  font-size: 2.8rem;
  line-height: 1.4;
  font-weight: bold;
  letter-spacing: 0.075em;
  color: var(--k);
  margin-bottom: 1.5em;
}
@media screen and (max-width: 767px) {
  .result-single .result-interview_title {
    font-size: 2rem;
    line-height: 1.8;
  }
}
.result-single .result-interview_title em {
  color: var(--c1);
  font-weight: bold;
  padding-bottom: 0.1em;
  background-position: left 0% bottom 0;
  background-image: linear-gradient(var(--c1), var(--c1));
  background-repeat: no-repeat;
  background-size: 100% 3px;
}
@media screen and (max-width: 767px) {
  .result-single .result-interview_title em {
    background-size: 100% 2px;
  }
}
.result-single .result-interview .boxInterview {
  padding-left: 100px;
  margin-bottom: 90px;
  max-width: 900px;
}
@media screen and (max-width: 767px) {
  .result-single .result-interview .boxInterview {
    padding-left: 0;
    margin-bottom: 50px;
  }
}
.result-single .result-interview .boxInterview .question {
  position: relative;
}
@media screen and (max-width: 767px) {
  .result-single .result-interview .boxInterview .question {
    padding-left: 1em;
  }
}
.result-single .result-interview .boxInterview .question::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -100px;
  width: 80px;
  height: 1px;
  background-color: var(--k);
}
@media screen and (max-width: 767px) {
  .result-single .result-interview .boxInterview .question::before {
    left: 0;
    width: 1px;
    height: 100%;
  }
}
.result-single .result-interview .boxInterview .question p {
  font-size: clamp(1.8rem, 1.2vw, 2rem);
  line-height: 1.5;
  font-weight: bold;
  letter-spacing: 0.075em;
  color: var(--k);
  margin-bottom: 1.2em;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .result-single .result-interview .boxInterview .question p {
    font-size: 1.6rem;
  }
}
.result-single .result-interview .boxInterview .answer p {
  font-size: 1.6rem;
  line-height: 2.1;
  color: var(--k2);
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .result-single .result-interview .boxInterview .answer p {
    font-size: 1.4rem;
  }
}
.result-single .result-interview .boxInterview .answer p:not(:last-child) {
  margin-bottom: 1.5em;
}
.result-single .result-interview .boxInterview .answer p strong {
  color: var(--k);
  font-weight: bold;
  padding-bottom: 0.05em;
  background-position: left 0% bottom 0;
  background-image: linear-gradient(var(--k), var(--k));
  background-repeat: no-repeat;
  background-size: 100% 1px;
}
.result-single .result-interview .boxImage {
  text-align: center;
  margin-bottom: 90px;
}
@media screen and (max-width: 767px) {
  .result-single .result-interview .boxImage {
    margin-bottom: 50px;
  }
}
.result-single .result-interview .boxImage img {
  border-radius: 20px;
}
.result-single .result-interview .boxImage.-small img {
  width: 100%;
  max-width: 560px;
}

/*  result-client
------------------------------------*/
.result-single .result-client .titlearea {
  text-align: center;
  margin-bottom: 40px;
}
.result-single .result-client .titlearea .title {
  font-size: 2.4rem;
  line-height: 1.2;
  font-weight: bold;
  letter-spacing: 0em;
  color: var(--k);
  font-family: var(--font2);
  text-align: center;
  background-color: #fff;
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: 0 1em;
}
@media screen and (max-width: 767px) {
  .result-single .result-client .titlearea .title {
    font-size: 2rem;
  }
}
.result-single .result-client_inner {
  --lw: 360px;
  display: flex;
  width: 100%;
  border: 1px solid #929894;
  border-radius: 12px;
  padding: 50px 40px 50px;
  margin-top: -60px;
}
@media screen and (max-width: 767px) {
  .result-single .result-client_inner {
    flex-direction: column;
    padding: 30px var(--spa);
    margin-top: -55px;
  }
}
.result-single .result-client_inner_l {
  width: var(--lw);
}
@media screen and (max-width: 767px) {
  .result-single .result-client_inner_l {
    width: 100%;
    text-align: center;
  }
}
.result-single .result-client_inner_l img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .result-single .result-client_inner_l img {
    width: 80%;
    max-width: 360px;
  }
}
.result-single .result-client_inner_r {
  width: calc(100% - var(--lw));
  padding-left: 3em;
}
@media screen and (max-width: 767px) {
  .result-single .result-client_inner_r {
    width: 100%;
    padding-left: 0;
  }
}
.result-single .result-client_inner_r table tr {
  display: block;
}
.result-single .result-client_inner_r table tr:not(:last-child) {
  margin-bottom: 0.8em;
}
@media screen and (max-width: 767px) {
  .result-single .result-client_inner_r table tr:not(:last-child) {
    margin-bottom: 0.6em;
  }
}
.result-single .result-client_inner_r table tr th {
  font-weight: bold;
  font-size: 1.4rem;
  color: var(--k);
  width: 7em;
  vertical-align: top;
  padding-top: 0.25em;
}
.result-single .result-client_inner_r table tr td {
  font-size: 1.4rem;
  color: var(--k2);
  width: calc(100% - 7em);
  line-height: 1.5;
}
.result-single .outroarea {
  padding-top: 60px;
}
@media screen and (max-width: 767px) {
  .result-single .outroarea {
    padding-top: 30px;
  }
}
.result-single .outroarea .sns {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .result-single .outroarea .sns {
    margin-bottom: 30px;
  }
}
.result-single .outroarea .sns dt {
  position: relative;
  font-size: 1.5rem;
  font-weight: bold;
  padding: 0 1em;
  margin-bottom: 1em;
}
.result-single .outroarea .sns dt::before, .result-single .outroarea .sns dt::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  background-color: var(--k);
  transform: rotateZ(15deg);
}
.result-single .outroarea .sns dt::before {
  right: auto;
  left: 0;
  transform: rotateZ(-15deg);
}
.result-single .outroarea .pagenation-single {
  display: flex;
  justify-content: space-between;
  max-width: 720px;
  margin-inline: auto;
}
.result-single .outroarea .pagenation-single li {
  flex-grow: 1;
  text-align: center;
}
.result-single .outroarea .pagenation-single li:nth-child(1) {
  order: 1;
}
.result-single .outroarea .pagenation-single li:nth-child(2) {
  order: 0;
}
.result-single .outroarea .pagenation-single li:nth-child(3) {
  order: 2;
}
.result-single .outroarea .pagenation-single li .btn-archivePrev span {
  transform: translateX(0.5em);
}
.result-single .outroarea .pagenation-single li .btn-archivePrev i {
  right: auto;
  left: -1.25em;
}

/* result-other
---------------------------------------------------------------------------*/
.result-other {
  padding-top: 110px;
}
.result-other_title {
  margin-bottom: 40px;
}
.result-other_title ._en {
  font-size: 4rem;
  line-height: 1.2;
  font-weight: bold;
  letter-spacing: 0em;
  color: var(--k);
  display: inline-block;
  font-family: var(--font2);
}
.result-other_title ._jp {
  font-size: 1.3rem;
  line-height: 1.1;
  font-weight: bold;
  color: var(--k2);
}

/* slider
---------------------------------------------------------------------------*/
.carousel-progress {
  margin-top: 40px;
  background: rgba(0, 0, 0, 0.1);
  width: 100%;
  max-width: 300px;
  height: 3px;
  position: relative;
  margin-inline: auto;
}
.carousel-progress-wrapper {
  max-width: min(1000px, 80%);
}
.carousel-progress_bar {
  background: var(--c1);
  height: 3px;
  transition: left 400ms ease;
  position: absolute;
  top: 0;
  left: 0;
}

@media (hover: hover) and (pointer: fine) {
  .splide.-custom:hover .splide__arrows {
    opacity: 1;
    visibility: visible;
  }
}
.splide.-custom .splide__slide {
  padding: 0 var(--spa);
}
.splide.-custom .splide__arrows {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease;
}
.splide.-custom .splide__arrows .splide__arrow {
  opacity: 1;
  border-radius: 0%;
  transition: all 0.2s ease;
  height: 100%;
  width: 25vw;
  display: flex;
  justify-content: center;
  align-items: center;
  background: transparent;
}
.splide.-custom .splide__arrows .splide__arrow:disabled {
  opacity: 0;
}
@media (hover: hover) and (pointer: fine) {
  .splide.-custom .splide__arrows .splide__arrow:hover > span {
    opacity: 1;
  }
}
.splide.-custom .splide__arrows .splide__arrow > span {
  opacity: 0;
  display: block;
  background-color: rgba(0, 0, 0, 0.1);
  width: 100px;
  height: 100px;
  border-radius: 50%;
  position: relative;
  backdrop-filter: blur(12px);
  transition: opacity 0.3s ease-out;
}
.splide.-custom .splide__arrows .splide__arrow > span::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 12px;
  height: 13px;
  background-image: url("../img/common/icon_arrow_w.svg");
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 1;
}
.splide.-custom .splide__arrows .splide__arrow.splide__arrow--prev {
  left: 0;
}
.splide.-custom .splide__arrows .splide__arrow.splide__arrow--prev > span::before {
  transform: translateX(-50%) translateY(-50%) rotateY(180deg);
}
@media (hover: hover) and (pointer: fine) {
  .splide.-custom .splide__arrows .splide__arrow.splide__arrow--prev:hover img {
    animation: splide_custom_arw_prev 0.4s;
  }
}
.splide.-custom .splide__arrows .splide__arrow.splide__arrow--next {
  right: 0;
}
@media (hover: hover) and (pointer: fine) {
  .splide.-custom .splide__arrows .splide__arrow.splide__arrow--next:hover img {
    animation: splide_custom_arw_next 0.4s;
  }
}