@charset "UTF-8";

:root {
  --brother-blue: #004898;
  --navy: #003a5e;
  --skyblue: #3b97b6;
  --red: #ff0031;
  --black: #141414;
  --dark-charcoal: #323232;
  --gray: #c8c8c8;
  --gray98: #fafafa;
  --light-gray: #e6e6e6;
  --white: #fff;
  --max-content-width: 1300;
}

@media (max-width: 768px) {
  :root {
    --max-content-width: 768;
  }
}

@media (max-width: 480px) {
  :root {
    --max-content-width: 480;
  }
}

@media (max-width: 375px) {
  :root {
    --max-content-width: 375;
  }
}

/* ----------------------------
[ CSS settings ]
+ :root - color, width
+ sanitize.css v3.0.0
+ SITE COMMON settings
+ FONTS
+ HEADER
+ BREADCRUMB
+ MAIN
+ FOOTER
+ SLIDE - swiper
+ COMPONENT - cards, flexbox, youtube
+ UTILITY
------------------------------- */
/*! sanitize.css v3.0.0 | CC0 1.0 Public Domain | github.com/10up/sanitize.css */
/*
 * Normalization
 */
audio:not([controls]) {
  display: none;
}

button {
  overflow: visible;
  -webkit-appearance: button;
}

details {
  display: block;
}

html {
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
}

input {
  -webkit-border-radius: 0;
}

input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
}

input[type="number"] {
  width: auto;
}

input[type="search"] {
  -webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

main {
  display: block;
}

pre {
  overflow: auto;
}

progress {
  display: inline-block;
}

small {
  font-size: 75%;
}

summary {
  display: block;
}

svg:not(:root) {
  overflow: hidden;
}

template {
  display: none;
}

textarea {
  overflow: auto;
}

[hidden] {
  display: none;
}

/*
 * Universal inheritance
 */
*,
::before,
::after {
  box-sizing: inherit;
}

* {
  font-size: inherit;
  line-height: inherit;
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

/*
 * Opinionated defaults
 */
*,
::before,
::after {
  border-style: solid;
  border-width: 0;
}

* {
  background-repeat: no-repeat;
  margin: 0;
  padding: 0;
}

:root {
  background-color: #FFFFFF;
  box-sizing: border-box;
  color: #000000;
  cursor: default;
  font: 100%/1.5 sans-serif;
  text-rendering: optimizeLegibility;
}

a {
  text-decoration: none;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

button,
input,
select,
textarea {
  background-color: transparent;
}

button,
input,
select,
textarea {
  color: inherit;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
}

button,
[type="button"],
[type="date"],
[type="datetime"],
[type="datetime-local"],
[type="email"],
[type="month"],
[type="number"],
[type="password"],
[type="reset"],
[type="search"],
[type="submit"],
[type="tel"],
[type="text"],
[type="time"],
[type="url"],
[type="week"],
select,
textarea {
  min-height: 1.5em;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}

nav ol,
nav ul {
  list-style: none;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

textarea {
  resize: vertical;
}

::-moz-selection {
  background-color: #B3D4FC;
  color: #ffffff;
  text-shadow: none;
}

::selection {
  background-color: #B3D4FC;
  color: #ffffff;
  text-shadow: none;
}

[aria-busy="true"] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled] {
  cursor: default;
}

[hidden][aria-hidden="false"] {
  clip: rect(0 0 0 0);
  display: inherit;
  position: absolute;
}

[hidden][aria-hidden="false"]:focus {
  clip: auto;
}

/* ---------- COMMON ---------- */
html {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  scroll-behavior: smooth;
}

@media screen and (min-width: 768px),
print {
  a[href^="tel:"] {
    text-decoration: none;
    pointer-events: none;
  }
}

* [lang="en"] {
  font-family: "Lato", sans-serif;
  font-style: normal;
  font-weight: 400;
}

.max-pc-only {
  display: none;
}

@media screen and (min-width: 1301px),
print {
  .max-pc-only {
    display: inline-block;
  }
}

.sp-only {
  display: none;
}

@media (max-width: 768px) {
  .sp-only {
    display: inline-block;
  }
}

@media (max-width: 768px) {
  .pc-only {
    display: none;
  }
}

/* ------------------------------
+FONTS 
Lato (English)
- Regular: 400 / Bold: 700

Noto sans JP
- Light: 300 / Regular: 400 / Medium: 500 / SemiBold: 600

Shippori Mincho
- Regular: 400 / Bold: 600
--------------------------------- */
.lato-R,
.lato-B {
  font-family: "Lato", sans-serif;
  font-style: normal;
}

.lato-R {
  font-weight: 400;
}

.lato-B {
  font-weight: 700;
}

.noto-sans-jp-L,
.noto-sans-jp-R,
.noto-sans-jp-M,
.noto-sans-jp-B {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.noto-sans-jp-L {
  font-weight: 300;
}

.noto-sans-jp-R {
  font-weight: 400;
}

.noto-sans-jp-M {
  font-weight: 500;
}

.noto-sans-jp-B {
  font-weight: 600;
}

.shippori-mincho-R,
.shippori-mincho-SB {
  font-family: "Shippori Mincho", serif;
  font-style: normal;
}

.shippori-mincho-R {
  font-weight: 400;
}

.shippori-mincho-SB {
  font-weight: 600;
}

/* ---------- HEADER ---------- */
#header {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 25;
  padding: min(8px, calc((8 / var(--max-content-width)) * 100vw)) 0;
  background-color: var(--brother-blue);
  color: var(--white);
  transition: transform ease .3s;
  /*@media (max-width: 1300px) {
    padding: calc((14 / var(--max-content-width)) * 100vw) calc((20 / var(--max-content-width)) * 100vw); 
  }*/
}

#header.hide {
  transform: translateY(-100%);
}

#header>.max-inner {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  column-gap: min(64px, calc((64 / var(--max-content-width)) * 100vw));
  max-width: 1300px;
}

@media (max-width: 1300px) {
  #header>.max-inner {
    align-items: center;
  }
}

.logo {
  flex-shrink: 0;
  display: block;
  width: calc((155 / var(--max-content-width)) * 100vw);
  height: auto;
  max-width: 155px;
  margin-right: auto;
  transition: opacity ease .3s;
}

@media (hover: hover) {

  .logo:hover,
  .logo:focus-within {
    opacity: .5;
  }
}

@media (max-width: 1300px) {
  .logo {
    width: 57%;
    height: auto;
    max-width: none;
  }
}

@media (max-width: 1300px) {
  .logo {
    width: 70%;
    max-width: 500px;
  }
}

.logo img {
  width: 100%;
  height: auto;
  object-fit: contain;
  vertical-align: middle;
}

/* grobal navigation - button */
.menu-btn {
  display: none;
  visibility: hidden;
}

@media (max-width: 1300px) {
  .menu-btn {
    display: block;
    visibility: visible;
    width: 44px;
    height: 44px;
    position: relative;
    background-color: transparent;
  }
}

@media (max-width: 1300px) {
  .menu-btn-bars {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
  }
}

@media (max-width: 1300px) {
  .menu-btn-bar {
    display: block;
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0;
    background-color: #fff;
    transition: all ease .25s;
  }

  .menu-btn-bar:first-child {
    top: 12px;
  }

  .menu-btn-bar:nth-child(2) {
    top: 50%;
    transform: translateY(-50%);
  }

  .menu-btn-bar:nth-child(3) {
    bottom: 12px;
  }
}

/* .menu-btn:active */
@media (max-width: 1300px) {
  .menu-btn.is-active .menu-btn-bar:first-child {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transform: none;
    background-color: transparent;
    border: 2px solid #fff;
    box-sizing: border-box;
  }

  .menu-btn.is-active .menu-btn-bar:nth-child(2) {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }

  .menu-btn.is-active .menu-btn-bar:nth-child(3) {
    top: 50%;
    bottom: auto;
    transform: translateY(-50%) rotate(-45deg);
  }
}

@media screen and (min-width: 1301px),
print {
  .gnav-area {
    display: flex;
    align-items: flex-end;
    column-gap: calc((40 / var(--max-content-width)) * 100vw);
  }
}

@media (max-width: 1300px) {
  .gnav-area {
    visibility: hidden;
    opacity: 0;
    height: 100vh;
    width: 40%;
    position: fixed;
    top: 0;
    right: 0;
    overflow-y: auto;
    background-color: var(--brother-blue);
    border-top: 1px solid #fff;
    scrollbar-color: #fff var(--brother-blue);
    scrollbar-width: thin;
  }
}

@media (max-width: 768px) {
  .gnav-area {
    width: 100%;
  }
}

@media (max-width: 1300px) {
  .gnav-area.is-active {
    visibility: visible;
    opacity: 1;
  }
}

/* grobal navigation */
#gnav a {
  display: block;
  width: 100%;
  color: var(--white);
  transition: opacity ease .3s;
}

@media (hover: hover) {
  #gnav a:hover {
    opacity: 0.5;
  }
}

@media screen and (min-width: 1301px),
print {
  .gnav-list {
    display: flex;
    flex-direction: row;
  }
}

.gnav-list-item {
  font-size: 0.9375rem;
  line-height: 1.4;
}

@media screen and (min-width: 1301px),
print {
  .gnav-list-item {
    flex-shrink: 0;
    min-width: 126px;
    border-left: 1px solid var(--dark-charcoal);
  }

  .gnav-list-item:last-child {
    border-right: 1px solid var(--dark-charcoal);
  }
}

@media (max-width: 1300px) {
  .gnav-list-item {
    border-bottom: 1px solid #fff;
  }
}

.gnav-list-item>a {
  display: block;
  height: 100%;
  padding-top: min(16px, calc((16 / var(--max-content-width)) * 100vw));
  padding-right: min(16px, calc((16 / var(--max-content-width)) * 100vw));
  padding-bottom: min(32px, calc((32 / var(--max-content-width)) * 100vw));
  padding-left: min(16px, calc((16 / var(--max-content-width)) * 100vw));
  text-align: center;
}

@media screen and (min-width: 1301px),
print {
  .gnav-list-item>a {
    padding-top: 0;
  }
}

@media (max-width: 1300px) {
  .gnav-list-item>a {
    padding-bottom: min(16px, calc((16 / var(--max-content-width)) * 100vw));
    text-align: left;
  }
}

.gnav-label {
  display: block;
  width: 100%;
  height: 100%;
  padding-top: min(16px, calc((16 / var(--max-content-width)) * 100vw));
  padding-right: min(16px, calc((16 / var(--max-content-width)) * 100vw));
  /*padding-bottom: min(32px, calc((32 / var(--max-content-width)) * 100vw));*/
  padding-bottom: 0;
  padding-left: min(16px, calc((16 / var(--max-content-width)) * 100vw));
  font-size: clamp(0.875rem, calc(0.852rem + 0.1vw), 0.9375rem);
}

/* 子ナビゲーションあり */
.gnav-list-item>.gnav-label {
  position: relative;
  text-align: center;
  cursor: pointer;
}

@media screen and (min-width: 1301px),
print {
  .gnav-list-item>.gnav-label {
    display: flex !important;
    flex-direction: column;
    min-height: 60px;
    padding-top: 0;
    padding-bottom: 0;
  }
}

@media (max-width: 1300px) {
  .gnav-list-item>.gnav-label {
    padding-bottom: min(16px, calc((16 / var(--max-content-width)) * 100vw));
    text-align: left;
  }
}

.gnav-list-item>.gnav-label::after {
  content: '';
  display: block;
  width: min(48px, calc((48 / var(--max-content-width)) * 100vw));
  height: min(10px, calc((10 / var(--max-content-width)) * 100vw));
  /*position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  margin: auto;*/
  margin-top: auto;
  margin-left: auto;
  margin-right: auto;
  transform: translateY(0);
  background: url("../images/common/nav-arrow.svg") bottom center no-repeat;
  background-size: contain;
  transition: transform ease .3s;
}

@media (max-width: 1300px) {
  .gnav-list-item>.gnav-label::after {
    width: min(40px, calc((40 / var(--max-content-width)) * 100vw));
    height: min(10px, calc((10 / var(--max-content-width)) * 100vw));
    position: absolute;
    top: 50%;
    right: 24px;
    bottom: auto;
    left: auto;
    transform: translateY(-50%);
  }
}

@media (hover: hover) {

  .gnav-list-item>.gnav-label:hover::after,
  .gnav-list-item>.gnav-label:focus-within::after {
    transform: translateY(5px);
  }
}

@media screen and (min-width: 1301px),
print {
  .gnav-list-item>.gnav-label.is-active::after {
    transform: translateY(-5px) rotate(180deg);
  }
}

/* grobal navigation - in area */
.gnav-in-area {
  background-color: #f1f1f1;
  color: #333;
  width: 100%;
  padding: calc((24 / var(--max-content-width)) * 100vw) calc((32 / var(--max-content-width)) * 100vw);
}

@media screen and (min-width: 1301px),
print {
  .gnav-in-area {
    visibility: hidden;
    max-height: 460px;
    position: absolute;
    left: 0;
    opacity: 0;
    overflow-y: auto;
    scrollbar-color: gray #f1f1f1;
    scrollbar-width: thin;
    transition: visibility ease .3s, opacity ease .3s;
  }
}

@media (max-width: 1300px) {
  .gnav-in-area {
    display: none;
    padding: 0;
  }
}

@media screen and (min-width: 1301px) {
  .gnav-in-area>.max-inner {
    column-count: 3;
    column-gap: 4%;
    width: 100%;
  }
}

@media (max-width: 1300px) {
  .gnav-in-area>.max-inner {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 4%;
    padding: 0;
  }
}

#gnav .gnav-in-area a {
  color: #333;
}

@media screen and (min-width: 1301px),
print {
  button.gnav-label.is-active+.gnav-in-area {
    visibility: visible;
    opacity: 1;
  }
}

@media (max-width: 1300px) {
  button.gnav-label.is-active+.gnav-in-area {
    display: block;
  }
}

@media screen and (min-width: 1301px),
print {
  .gnav-in-contents {
    break-inside: avoid;
    margin-bottom: 16px;
  }
}

.gnav-in-list {
  background-color: #f1f1f1;
  font-size: 0.875rem;
  margin-bottom: 16px;
  /*@media screen and (min-width: 1301px), print {
    border-bottom: 1px dotted #ccc;
    padding-bottom: 16px;
    margin-bottom: 16px;
  }*/
}

@media (max-width: 1300px) {
  .gnav-in-list {
    border-bottom: 1px solid #ccc;
    margin-bottom: 0;
  }
}

.gnav-in-list>li {
  display: flex;
  align-items: center;
  margin-left: 1rem;
}

@media (max-width: 1300px) {
  .gnav-in-list>li {
    padding: 8px;
    margin-left: 0;
    border-bottom: 1px solid #ccc;
  }
}

.gnav-in-list>li a {
  padding: 4px 0;
}

@media (max-width: 1300px) {
  .gnav-in-list>li a {
    display: block;
    width: 100%;
    height: 100%;
  }
}

.gnav-in-list>li::before {
  content: '〉';
  color: var(--brother-blue);
  display: inline-block;
  vertical-align: middle;
}

.gnav-in-list>li.gnav-cat,
.gnav-in-list>li.gnav-subcat {
  margin-left: 0;
}

.gnav-cat {
  padding: 8px;
  margin-bottom: 8px;
  margin-left: 0;
  background-color: #fff;
  font-size: clamp(0.8125rem, calc(0.767rem + 0.2vw), 0.9375rem);
  font-weight: 600;
  box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.1);
}

@media (max-width: 1300px) {
  .gnav-cat {
    margin-bottom: 0;
    border-bottom: 1px solid #ccc;
    box-shadow: none;
  }
}

.gnav-cat::before {
  content: '〉';
  color: var(--brother-blue);
  display: inline-block;
  vertical-align: baseline;
}

.gnav-subcat {
  margin-left: 0;
  font-size: 0.875rem;
  font-weight: 600;
}

.gnav-in-list .gnav-subcat::before {
  display: none;
}

/* header - side contents */
.header-side {
  margin-left: auto;
}

@media (max-width: 1300px) {
  .header-side {
    padding: calc((24 / var(--max-content-width)) * 100vw);
  }
}

.header-tel {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  margin-bottom: 6px;
  line-height: 1;
}

.icon-tel {
  display: inline-block;
  width: 24px;
  height: 30px;
  margin-right: 8px;
  background: url("../images/common/icon-tel.svg") center center no-repeat;
  vertical-align: bottom;
}

a[href^="tel:"].tel {
  width: calc(100% - 32px);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  color: #fff;
  white-space: nowrap;
}

.header-tel-txt {
  display: block;
  width: 100%;
  font-size: clamp(0.75rem, calc(0.579rem + 0.2vw), 0.625rem);
  font-weight: 600;
}

/* header - side contents - search */
form.searchform {
  display: flex;
  flex-direction: row;
  column-gap: 10px;
  border: none;
}

@media (max-width: 1300px) {
  form.searchform {
    flex-direction: column;
  }
}

form.searchform input[type="text"] {
  width: 100%;
  min-height: 28px;
  padding: 4px 48px 4px 4px;
  background-color: var(--white);
  border: 1px solid #b4b4b4;
  border-radius: 4px;
  font-size: 0.9375rem;
  color: #969696;
}

@media (max-width: 1300px) {
  form.searchform input[type="text"] {
    width: 100%;
  }
}

.search-select {
  position: relative;
}

.search-select::after {
  content: '';
  display: inline-block;
  width: 20px;
  height: 11px;
  position: absolute;
  top: 45%;
  right: 8px;
  transform: translateY(-45%);
  background: url("../images/common/search-arrow.svg") center center no-repeat;
  background-size: contain;
}

select#search-cat {
  max-width: 80px;
  min-height: 28px;
  padding: 4px;
  background-color: var(--white);
  border: 1px solid #b4b4b4;
  border-radius: 4px;
  font-size: 0.9375rem;
  color: #969696;
}

@media (max-width: 1300px) {
  select#search-cat {
    width: 100%;
    max-width: 100%;
    margin-bottom: 8px;
  }
}

.search-keywords {
  position: relative;
}

button#search-submit {
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 25px;
  height: 25px;
  background: url("../images/common/icon-search.svg") center center no-repeat;
  background-size: contain;
  cursor: pointer;
  transition: opacity ease .25s;
}

@media (hover: hover) {
  button#search-submit:hover {
    opacity: 0.8;
  }
}

/* overray */
.overray {
  display: block;
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.78);
  opacity: 0;
  transition: opacity ease .3s;
  pointer-events: none;
}

.overray.is-active {
  opacity: 1;
  z-index: 24;
  pointer-events: all;
}

/* ---------- BREADCRUMB ---------- */
#breadcrumb {
  padding: 8px 0;
  /*background-color: var(--white);*/
}

@media (max-width: 768px) {
  #breadcrumb {
    overflow-x: auto;
    scrollbar-color: #f1f1f1 #fff;
    scrollbar-height: thin;
    scrollbar-width: thin;
  }
}

.breadcrumb-list {
  display: flex;
  flex-direction: row;
}

.breadcrumb-item {
  flex-shrink: 0;
  font-size: 0.8125rem;
  color: #646464;
}

.breadcrumb-item:not(:last-child)::after {
  content: '〉';
  display: inline-block;
  margin: 0 0 0 6px;
}

.breadcrumb-list a {
  text-decoration: none;
  color: #646464;
  transition: color ease .25s;
}

.breadcrumb-list a:hover {
  color: var(--brother-blue);
}

/* ---------- MAIN ---------- */
.inner {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1300px) {
  .inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.max-inner {
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1300px) {
  .max-inner {
    padding-left: min(20px, calc((20 / var(--max-content-width)) * 100vw));
    padding-right: min(20px, calc((20 / var(--max-content-width)) * 100vw));
  }
}

.content:not(:last-child) {
  margin-bottom: 140px;
}

.content:last-child {
  margin-bottom: 200px;
}

article.article {
  margin-bottom: clamp(80px, calc(2.522rem + 8.26vw), 156px);
  font-size: clamp(1rem, calc(0.909rem + 0.39vw), 1.25rem);
  line-height: 1.7;
  color: var(--black);
}

article.article:last-child {
  margin-bottom: 0;
}

.article-main {
  margin-bottom: 134px;
}

article.in-article {
  margin-bottom: clamp(40px, calc(-0.37rem + 9.57vw), 128px);
  font-size: clamp(1rem, calc(0.909rem + 0.39vw), 1.25rem);
  line-height: 1.7;
}

article.in-article:last-child {
  margin-bottom: 0;
}

/* ---------- ページ下部のリンクボタン群 ---------- */
.page-links-area {
  padding-bottom: min(45px, calc((45 / var(--max-content-width)) * 100vw));
}

.page-links {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2.85%;
  margin: min(20px, calc((20 / var(--max-content-width)) * 100vw)) 0;
  list-style: none;
}

@media (max-width: 768px) {
  .page-links {
    flex-direction: column;
    margin: 0;
  }
}

.page-link {
  width: 31.43%;
}

@media (max-width: 768px) {
  .page-link {
    width: 100%;
    margin-bottom: calc((18 / var(--max-content-width)) * 100vw);
  }
}

.page-link>a {
  height: 100%;
  width: 100%;
}

.page-links.__large .page-link {
  width: 48.5%;
}

@media (max-width: 768px) {
  .page-links.__large .page-link {
    width: 100%;
    margin-bottom: calc((18 / var(--max-content-width)) * 100vw);
  }
}

a.btn-page-link {
  display: flex;
  align-items: center;
  position: relative;
  padding-top: min(16px, calc(16 / var(--max-content-width)) * 100vw);
  padding-right: min(86px, calc(86 / var(--max-content-width)) * 100vw);
  padding-bottom: min(16px, calc(16 / var(--max-content-width)) * 100vw);
  padding-left: min(24px, calc(24 / var(--max-content-width)) * 100vw);
  background-color: var(--white);
  border: 3px solid #3b97b6;
  border-radius: min(15px, calc((15 / var(--max-content-width)) * 100vw));
  font-size: clamp(1.125rem, calc(0.929rem + 0.65vw), 1.5rem);
  font-weight: 600;
  line-height: 1.3;
  color: #3b97b6;
}

a.btn-page-link>span {
  display: inline-block;
}

a.btn-page-link::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: min(16px, calc(16 / var(--max-content-width)) * 100vw);
  transform: translateY(-50%);
  z-index: 2;
  width: min(40px, calc(40 / var(--max-content-width)) * 100vw);
  height: min(37px, calc(37 / var(--max-content-width)) * 100vw);
  background: url("../images/common/btn-double-arrow.svg") center center no-repeat;
  background-size: contain;
}

a.btn-page-link::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: min(76px, calc(76 / var(--max-content-width)) * 100vw);
  height: 100%;
  background-color: var(--skyblue);
  border-top-right-radius: min(10px, calc(10 / var(--max-content-width)) * 100vw);
  border-bottom-right-radius: min(10px, calc(10 / var(--max-content-width)) * 100vw);
}

@media (hover: hover) {
  a.btn-page-link {
    transition: opacity ease .3s;
  }

  a.btn-page-link:hover,
  a.btn-page-link:focus-within {
    opacity: 0.5;
  }
}

a.btn-page-link.btn-contact,
a.btn-page-link.btn-download,
a.btn-page-link.btn-flow {
  display: flex;
  align-items: center;
  border-color: var(--brother-blue);
  font-size: clamp(1.25rem, calc(1.054rem + 0.65vw), 1.625rem);
  color: var(--brother-blue);
}

@media (max-width: 480px) {

  a.btn-page-link.btn-contact,
  a.btn-page-link.btn-download,
  a.btn-page-link.btn-flow {
    flex-direction: column;
    padding-top: min(16px, calc(16 / var(--max-content-width)) * 100vw);
    padding-right: min(16px, calc(16 / var(--max-content-width)) * 100vw);
    padding-bottom: min(72px, calc(72 / var(--max-content-width)) * 100vw);
    padding-left: min(16px, calc(16 / var(--max-content-width)) * 100vw);
  }
}

@media (max-width: 480px) {

  a.btn-page-link.btn-contact::before,
  a.btn-page-link.btn-download::before,
  a.btn-page-link.btn-flow::before {
    top: auto;
    right: auto;
    bottom: 8px;
    left: 50%;
    transform: translateY(0) translateX(-50%);
  }
}

a.btn-page-link.btn-contact::after,
a.btn-page-link.btn-download::after,
a.btn-page-link.btn-flow::after {
  background-color: var(--brother-blue);
}

@media (max-width: 480px) {

  a.btn-page-link.btn-contact::after,
  a.btn-page-link.btn-download::after,
  a.btn-page-link.btn-flow::after {
    width: 100%;
    height: calc((56 / var(--max-content-width)) * 100vw);
    top: auto;
    right: auto;
    bottom: 0;
    left: 0;
    border-top-right-radius: 0;
    border-bottom-left-radius: 0.625rem;
  }
}

a.btn-page-link.btn-contact .icon-bubble,
a.btn-page-link.btn-contact .icon-download,
a.btn-page-link.btn-download .icon-bubble,
a.btn-page-link.btn-download .icon-download,
a.btn-page-link.btn-flow .icon-bubble,
a.btn-page-link.btn-flow .icon-download {
  flex-shrink: 0;
  display: inline-block;
  width: clamp(66px, calc(3.766rem + 1.2vw), 77px);
  height: clamp(66px, calc(3.766rem + 1.2vw), 77px);
  margin-right: clamp(16px, calc(0.478rem + 1.74vw), 32px);
  vertical-align: middle;
}

@media (max-width: 480px) {

  a.btn-page-link.btn-contact .icon-bubble,
  a.btn-page-link.btn-contact .icon-download,
  a.btn-page-link.btn-download .icon-bubble,
  a.btn-page-link.btn-download .icon-download,
  a.btn-page-link.btn-flow .icon-bubble,
  a.btn-page-link.btn-flow .icon-download {
    margin-right: 0;
    margin-bottom: 8px;
  }
}

/* a.btn-page-link - icon */
.icon-bubble {
  background: url("../images/common/icon-bubble.svg") center center no-repeat;
  background-size: contain;
}

.icon-download {
  background: url("../images/common/icon-download.svg") center center no-repeat;
  background-size: contain;
}

/* ---------- FOOTER ---------- */
#footer {
  padding-top: min(40px, calc((40 / var(--max-content-width)) * 100vw));
}

#page #footer {
  background-color: #fafafa;
}

#fnav {
  margin-bottom: 24px;
}

@media screen and (min-width: 769px),
print {
  #fnav .max-inner {
    display: grid;
    grid-template-areas: "a a b c" "a a b c";
    column-gap: 3%;
  }
}

@media screen and (min-width: 769px),
print {
  .fnav-area {
    margin-bottom: 2.85%;
  }
}

.fnav-area a {
  color: var(--black);
  transition: text-decoration ease .3s;
}

.fnav-area a[href=""] {
  text-decoration: line-through #ccc;
  color: #ccc;
  pointer-events: none;
}

@media (hover: hover) {
  .fnav-area a:hover {
    text-decoration: underline 1px solid var(--red);
  }
}

@media screen and (min-width: 769px),
print {
  .fnav-area.__fnav-products {
    grid-area: a;
  }

  .fnav-area.__fnav-products .fnav-lists {
    column-count: 2;
  }

  .fnav-area.__fnav-products .fnav-lists ul.fnav-list {
    break-inside: avoid;
  }
  .__fnav-products-cat07 {
    margin-top: 22px;
  }
}

@media screen and (min-width: 769px),
print {
  .fnav-area.__fnav-company {
    grid-area: c;
  }
}

.fnav-label {
  display: block;
  width: 100%;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid #dedede;
  font-size: clamp(0.875rem, calc(0.829rem + 0.2vw), 1rem);
  text-align: left;
  color: var(--black);
  pointer-events: none;
}

@media (max-width: 768px) {
  .fnav-label {
    position: relative;
    padding: 8px 24px;
    background-color: #dedede;
    pointer-events: auto;
    cursor: pointer;
  }

  .fnav-label::after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(0deg);
    width: calc((44 / var(--max-content-width)) * 100vw);
    height: calc((16 / var(--max-content-width)) * 100vw);
    background: url("../images/common/nav-arrow-bk.svg") center center no-repeat;
    background-size: contain;
    transition: transform ease .3s;
  }

  .fnav-label.is-active::after {
    transform: translateY(-50%) rotate(180deg);
  }
}

.fnav-list {
  font-size: clamp(0.875rem, calc(0.81rem + 0.22vw), 1rem);
  line-height: 1.3;
}

@media (max-width: 768px) {
  .fnav-area {
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
  }

  .fnav-label {
    margin-bottom: 0;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
  }

  .fnav-lists {
    display: none;
  }

  .fnav-label.is-active+.fnav-lists {
    display: block;
  }

  .fnav-list {
    padding-top: min(16px, calc((16 / var(--max-content-width)) * 100vw));
    padding-right: min(24px, calc((24 / var(--max-content-width)) * 100vw));
    padding-left: min(24px, calc((24 / var(--max-content-width)) * 100vw));
  }
}

ul.fnav-list {
  font-size: 0.875rem;
}

ul.fnav-list li {
  margin-bottom: 8px;
}

ul.fnav-list li::before {
  content: '〉';
  color: var(--red);
  display: inline-block;
  margin-right: 8px;
}

ul.fnav-list li.fnav-subcat {
  margin-left: 0;
}

ul.fnav-list li.fnav-subcat::before {
  display: none;
}

@media screen and (min-width: 768px),
print {
  ul.fnav-list li {
    margin-left: 0.875rem;
    padding-left: 0.875rem;
    text-indent: -0.875rem;
  }
}

.footer-brand-summary {
  margin-bottom: 24px;
}

.footer-brand-summary>.max-inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  column-gap: 40px;
}

@media (max-width: 768px) {
  .footer-brand-summary>.max-inner {
    flex-direction: column;
  }
}

.brother-logo {
  display: inline-block;
  transition: opacity ease .3s;
}

@media (max-width: 768px) {
  .brother-logo {
    margin-bottom: 16px;
  }
}

@media (hover: hover) {
  .brother-logo:hover {
    opacity: 0.5;
  }
}

.brother-logo img {
  width: min(175px, calc(175 / var(--max-content-width)) * 100vw);
  height: auto;
  min-width: 175px;
}

.footer-brand-summary p {
  font-size: clamp(0.875rem, calc(0.745rem + 0.43vw), 1.125rem);
  line-height: 1.5;
  color: var(--dark-charcoal);
}

@media (max-width: 768px) {
  .footer-brand-summary p {
    text-align: center;
  }
}

.footer-brand-summary p>strong {
  font-weight: normal;
}

.footer-policy-area {
  padding: 24px 0;
  background-color: var(--brother-blue);
  color: var(--white);
}

a.flogo {
  display: block;
  width: min(563px, calc((563 / var(--max-content-width)) * 100vw));
  height: auto;
  margin: 0 auto 24px;
  transition: opacity ease .25s;
}

a.flogo:hover {
  opacity: 0.8;
}

@media (max-width: 768px) {
  a.flogo {
    width: 100%;
  }
}

a.flogo img {
  width: 100%;
  height: auto;
  object-fit: contain;
  vertical-align: top;
}

ul.policy-links {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 32px;
  margin-bottom: 16px;
  font-size: 0.875rem;
  list-style: none;
}

@media (max-width: 768px) {
  ul.policy-links {
    flex-direction: column;
    align-items: start;
    gap: 0;
  }
}

ul.policy-links li a {
  display: block;
  color: var(--white);
  transition: opacity ease .3s;
}

@media (hover: hover) {
  ul.policy-links li a:hover {
    opacity: 0.5;
  }
}

@media (max-width: 768px) {
  ul.policy-links li a {
    padding: 4px;
  }
}

p.copyrights {
  font-size: 0.8125rem;
  text-align: center;
}

/* ---------- SLIDE - swiper ---------- */
/* swiper slide - common */
.swiper-buttons {
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
}

.swiper-slide img {
  width: 100%;
  height: auto;
}

.swiper-button-prev,
.swiper-button-next {
  width: 56px !important;
  height: 56px !important;
  background: url("../images/common/slide_navigation.webp") left top no-repeat;
  background-size: cover;
}

@media (max-width: 768px) {

  .swiper-button-prev,
  .swiper-button-next {
    width: calc((44 / var(--max-content-width)) * 100vw) !important;
    height: calc((44 / var(--max-content-width)) * 100vw) !important;
  }
}

.swiper-button-prev>svg,
.swiper-button-next>svg {
  display: none;
}

.swiper-button-prev {
  background-position: 0 0;
}

.swiper-button-next {
  background-position: -56px 0;
}

@media (max-width: 768px) {
  .swiper-button-next {
    background-position: calc((44 / var(--max-content-width)) * -100vw) 0;
  }
}

/* main swiper slide */
.main-slider-area {
  margin-bottom: clamp(80px, calc(4.543rem + 1.95vw), 100px);
}

#home .main-slider-area {
  margin-bottom: 0;
}

.swiper.main-slider {
  width: 100%;
  max-width: 1920px;
  max-height: 650px;
}

.swiper-pagination.main-slider-pagenation {
  display: flex;
  gap: 6px;
  left: 50% !important;
  bottom: auto !important;
  transform: translateX(-50%);
  max-width: 1300px;
  margin: 16px auto 0;
}

@media (max-width: 1300px) {
  .swiper-pagination.main-slider-pagenation {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media (max-width: 768px) {
  .swiper-pagination.main-slider-pagenation {
    margin-top: 8px;
  }
}

.main-slider-pagenation .swiper-pagination-bullet {
  flex: 1;
  position: relative;
  overflow: hidden;
  height: min(10px, calc((10 / var(--max-content-width)) * 100vw));
  transform: skewX(-45deg);
  background: #b2c8e0;
  border-radius: 0;
}

@media (max-width: 768px) {
  .main-slider-pagenation .swiper-pagination-bullet {
    height: 4px;
  }
}

.main-slider-pagenation .swiper-pagination-bullet::before {
  content: '';
  position: absolute;
  inset: 0;
  transform-origin: left;
  transform: scaleX(0);
  background-color: var(--brother-blue);
}

.main-slider-pagenation .swiper-pagination-bullet-active::before {
  animation: progressbar 6s linear forwards;
}

@keyframes progressbar {
  from {
    transform: scaleX(0);
  }

  to {
    transform: scaleX(1);
  }
}

.swiper.main-slider .swiper-button-prev,
.swiper.main-slider .swiper-button-next {
  opacity: 0.35;
  transition: opacity ease .3s;
}

@media (hover: hover) {

  .swiper.main-slider .swiper-button-prev:hover,
  .swiper.main-slider .swiper-button-next:hover {
    opacity: 1;
  }
}

/* ---------- COMPONENT ---------- */
.cards {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: 4%;
  row-gap: 4%;
  list-style: none;
}

@media (max-width: 768px) {
  .cards {
    flex-direction: column;
  }
}

.card {
  width: 48%;
  padding: 24px 48px 48px;
  background-color: #fff;
}

@media (max-width: 768px) {
  .card {
    width: 100%;
    padding: calc((32 / var(--max-content-width)) * 100vw);
    margin-bottom: 4%;
  }

  .card:last-child {
    margin-bottom: 0;
  }
}

.card-img {
  margin-bottom: 48px;
}

.card-img img {
  width: 100%;
  height: auto;
  object-fit: contain;
  vertical-align: top;
}

.card-ttl {
  margin-bottom: 32px;
}

.flexbox {
  display: flex;
  margin-bottom: 4%;
}

.flexbox:last-child {
  margin-bottom: 0;
}

.flexbox.col2 {
  flex-direction: row;
  column-gap: 4%;
}

.flexbox.col2 .flexitem {
  width: 48%;
}

@media (max-width: 768px) {
  .flexbox.col2 {
    flex-direction: column;
  }

  .flexbox.col2 .flexitem {
    width: 100%;
    margin-bottom: 4%;
  }

  .flexbox.col2 .flexitem:last-child {
    margin-bottom: 0;
  }
}

.flexbox.col3 {
  flex-direction: row;
  column-gap: 2%;
}

.flexbox.col3 .flexitem {
  width: 32%;
}

@media (max-width: 768px) {
  .flexbox.col3 {
    flex-direction: column;
  }

  .flexbox.col3 .flexitem {
    width: 100%;
    margin-bottom: 4%;
  }

  .flexbox.col3 .flexitem:last-child {
    margin-bottom: 0;
  }
}

.flexbox.col4 {
  flex-direction: row;
  column-gap: 2.6%;
}

.flexbox.col4 .flexitem {
  width: 23%;
}

@media (max-width: 768px) {
  .flexbox.col4 {
    flex-direction: column;
  }

  .flexbox.col4 .flexitem {
    width: 100%;
    margin-bottom: 4%;
  }

  .flexbox.col4 .flexitem:last-child {
    margin-bottom: 0;
  }
}

/* Youtube埋め込み */
.youtube {
  position: relative;
  width: 640px;
  height: 480px;
  aspect-ratio: 640 / 480;
}

@media (max-width: 768px) {
  .youtube {
    float: none;
    width: 100%;
    height: auto;
  }
}

.youtube img {
  width: 100%;
  height: auto;
  vertical-align: top;
  object-fit: contain;
}

.youtube iframe {
  width: 100%;
  height: 100%;
}

.youtube-start {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  transform: translate(-50%, -50%);
  min-width: 100px;
  padding: 16px;
  background-color: red;
  border-radius: 16px;
  font-size: clamp(1.5rem, calc(1.317rem + 0.78vw), 2rem);
  line-height: 1;
  text-align: center;
  color: #fff;
  cursor: pointer;
  transition: opacity ease .3s;
}

.youtube-start::after {
  content: '▶';
}

@media (hover: hover) {
  .youtube-start:hover {
    opacity: 0.75;
  }
}

/* ---------- UTILITY ---------- */
/* hide */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

/* clearboth */
.clearboth::after {
  content: '';
  display: block;
  width: 100%;
  clear: both;
}

/* title */
.ttl-br-btm {
  margin-bottom: clamp(32px, calc(1.451rem + 2.34vw), 56px);
  text-align: center;
}

.ttl-br-btm>span {
  display: inline-block;
  position: relative;
  padding-bottom: 16px;
  font-size: clamp(1.625rem, calc(1.337rem + 1.23vw), 2.8125rem);
  letter-spacing: calc(32px * 100 / 1000);
  line-height: 1.3;
  color: var(--navy);
}

.ttl-br-btm>span::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 80%;
  height: 2px;
  margin: auto;
  background-color: var(--brother-blue);
}

.ttl-br-tb {
  margin-bottom: 64px;
  padding: 12px 24px;
  border-top: 1px solid var(--brother-blue);
  border-bottom: 1px solid var(--brother-blue);
  font-size: clamp(1.5rem, calc(1.37rem + 0.43vw), 1.75rem);
  font-weight: 600;
  letter-spacing: calc(28px * 100 / 1000);
  line-height: 1.2;
  text-align: center;
  color: var(--black);
}

@media (max-width: 768px) {
  .ttl-br-tb {
    margin-bottom: 48px;
  }
}

.ttl-simple {
  margin-bottom: 48px;
  font-size: clamp(1.375rem, calc(1.245rem + 0.43vw), 1.625rem);
  font-weight: 600;
  line-height: 1.6;
}

.ttl-br-btm[lang="en"],
.ttl-br-btm span[lang="en"],
.ttl-br-tb[lang="en"],
.ttl-br-tb span[lang="en"],
.ttl-simple[lang="en"],
.ttl-simple span[lang="en"] {
  font-weight: 600;
}

.ttl-basic {
  /*margin-bottom: clamp(24px, calc(0.951rem + 2.34vw), 48px);*/
  margin-bottom: clamp(24px, calc(1.333rem + 0.56vw), 32px);
  font-size: clamp(1.5rem, calc(1.221rem + 1.19vw), 2.1875rem);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: calc(40px * 200 / 1000);
  color: var(--navy);
}

.ttl-basic.ttl-fs-min {
  margin-bottom: min(16px, calc((16 / var(--max-content-width)) * 100vw));
  font-size: clamp(1.0625rem, calc(0.91rem + 0.65vw), 1.4375rem);
  letter-spacing: calc(24px * 100 / 1000);
}

.ttl-basic[lang="en"] {
  font-size: clamp(2rem, calc(1.451rem + 2.34vw), 3.5rem);
  font-weight: 900;
  letter-spacing: 0;
}

/* notes */
aside.notes-area {
  margin: 16px 0;
  padding: 16px;
  background-color: #f1f1f1;
  font-size: 0.75rem;
  color: var(--black);
}

ul.notes-list {
  counter-increment: ul_li;
  list-style: none;
}

ul.notes-list>li::before {
  content: "※" counter(ul_li);
  margin-right: 8px;
}

a[href="#notes"] {
  font-size: 0.75rem;
  text-decoration: underline 1px solid var(--black);
  vertical-align: super;
  color: var(--black);
}

.wrap-txt>span {
  display: inline-block;
}

/* link */
a.link-txt {
  text-decoration: underline 1px solid var(--black);
  color: var(--black);
  transition: color ease .25s;
}

@media (hover: hover) {
  a.link-txt:hover {
    color: var(--brother-blue);
  }
}

/* font-size */
.fs-small {
  font-size: 51.1%;
}

/* text-transform */
.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

/* letter-spacing */
.ls1 {
  letter-spacing: 1rem;
}

.ls2 {
  letter-spacing: 2rem;
}

.ls3 {
  letter-spacing: 3rem;
}

.ls4 {
  letter-spacing: 3.5rem;
}

.ls5 {
  letter-spacing: 4rem;
}

/* text-align */
.txt-right {
  text-align: right;
}

.txt-center {
  text-align: center;
}

.txt-left {
  text-align: left;
}

/* text-decoration */
.txt-deco-underline {
  text-decoration: underline 1px solid;
}

/* font-color */
.fc-blue {
  color: var(--brother-blue) !important;
}

.fc-navy {
  color: var(--navy) !important;
}

.fc-red {
  color: var(--red) !important;
}

/* table */
@media (max-width: 768px) {
  .table-scroll {
    overflow-x: scroll;
    scrollbar-color: gray #f1f1f1;
    scrollbar-height: thin;
    scrollbar-width: thin;
  }

  .table-scroll>table th,
  .table-scroll>table td {
    white-space: nowrap;
    word-break: break-all;
  }
}

table.table-basic {
  table-layout: fixed;
  width: 100%;
  font-size: clamp(1rem, calc(0.935rem + 0.22vw), 1.125rem);
  line-height: 1.5;
  color: var(--black);
}

@media (max-width: 768px) {
  table.table-basic {
    width: auto;
  }
}

table.table-basic tr {
  border-top: 1px solid #c8c8c8;
}

table.table-basic tr:last-child {
  border-bottom: 1px solid #c8c8c8;
}

table.table-basic th[scope="row"] {
  text-align: left;
}

table.table-basic th,
table.table-basic td {
  padding: 32px 40px;
}

@media (max-width: 768px) {

  table.table-basic th,
  table.table-basic td {
    padding: calc((24 / var(--max-content-width)) * 100vw);
  }
}

table.table-basic.bgc-odd tr:nth-child(odd) {
  background-color: #fafafa;
}

table.table-basic.bgc-odd tr:nth-child(even) {
  background-color: #fff;
}

table.table-basic.bgc-even tr:nth-child(even) {
  background-color: #fafafa;
}

table.table-basic.bgc-even tr:nth-child(odd) {
  background-color: #fff;
}

.col-1 {
  width: 30%;
}

.col-2 {
  width: 70%;
}

@media (max-width: 768px) {

  .col-1,
  .col-2 {
    width: auto;
  }
}

/* list */
ul.list-dot {
  list-style: none;
}

ul.list-dot>li {
  text-indent: -1.2rem;
  margin-left: 1.2rem;
}

ul.list-dot>li::before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 4px;
  margin-right: 16px;
  background-color: var(--black);
  border-radius: 50%;
  vertical-align: middle;
}

ul.list-square {
  color: #323232;
  list-style: none;
}

ul.list-square>li::before {
  content: '';
  display: inline-block;
  width: 17px;
  height: 17px;
  margin-right: 6px;
  background-color: #323232;
}

.list-checkmark {
  list-style: none;
}

.list-checkmark>li {
  margin-left: 24px;
  text-indent: -24px;
}

.list-checkmark>li::before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url("../images/common/icon-check.svg") top left no-repeat;
  background-size: contain;
  vertical-align: middle;
}

dl.dl-basic dt {
  margin-bottom: 16px;
  font-size: clamp(1.125rem, calc(1.034rem + 0.39vw), 1.375rem);
}

dl.dl-basic dd {
  margin-bottom: 32px;
  font-size: clamp(1rem, calc(0.931rem + 0.29vw), 1.1875rem);
}

ol.list-num {
  margin-left: 1rem;
  /*font-size: clamp(rem(16), calc(0.909rem + 0.39vw), rem(20));*/
  list-style: none;
}

ol.list-num>li {
  margin-bottom: 8px;
  padding-left: 1rem;
  counter-increment: ol_li;
  text-indent: -1.6rem;
}

ol.list-num>li::before {
  content: counter(ol_li) ".";
  margin-right: 8px;
}

ol.list-num-circle {
  list-style: none;
}

ol.list-num-circle>li {
  counter-increment: ol_li;
  position: relative;
  margin-bottom: 4px;
  padding-left: 24px;
  text-indent: -24px;
}

ol.list-num-circle>li:last-child {
  margin-bottom: 0;
}

ol.list-num-circle>li::before {
  content: counter(ol_li);
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 4px;
  border: 1px solid var(--brother-blue);
  border-radius: 50%;
  font-size: 0.875rem;
  text-align: center;
  text-indent: 0;
  line-height: 1.6;
}

ol.list-num-circle.num-fc-blue>li::before {
  color: var(--brother-blue);
}

/* icon -- triangle */
.icon-triangle {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 4px;
  background-color: var(--brother-blue);
  border-style: none;
  clip-path: polygon(0% 0%, 0% 100%, 100% 50%);
  /* right */
  vertical-align: middle;
}

.icon-triangle.icon-dir-l {
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  /* top */
}

.icon-triangle.icon-dir-l {
  clip-path: polygon(100% 0%, 100% 100%, 0% 50%);
  /* left */
}

.icon-triangle.icon-dir-b {
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  /* bottom */
}

/* flexbox layout */
.img-left-box {
  display: flex;
  flex-direction: row-reverse;
  column-gap: 48px;
}

@media (max-width: 768px) {
  .img-left-box {
    flex-direction: column;
    row-gap: 48px;
  }
}

.img-left-box-item {
  width: 48%;
}

@media (max-width: 768px) {
  .img-left-box-item {
    width: 100%;
  }
}

/* background-color */
.bgc-gray {
  background-color: #fafafa;
}

.bgc-white {
  background-color: #fff;
}

/* button */
a.btn-line {
  display: inline-block;
  padding: 8px 32px;
  background-color: #fff;
  border: 4px solid var(--brother-blue);
  border-radius: 2.1875rem;
  font-size: clamp(1.125rem, calc(0.929rem + 0.65vw), 1.5rem);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: calc(24px * 100 / 1000);
  text-align: center;
  color: var(--black);
  transition: background ease .25s, color ease .25s;
}

@media (hover: hover) {

  a.btn-line:hover,
  a.btn-line:focus-within {
    background-color: var(--brother-blue);
    color: #fff;
  }
}

/* margin */
.mgtNone {
  margin-top: 0 !important;
}

.mgbA {
  margin-bottom: 8px;
}

.mgbB {
  margin-bottom: 16px;
}

.mgbC {
  margin-bottom: 24px;
}

.mgbD {
  margin-bottom: 32px;
}

.mgbE {
  margin-bottom: 40px;
}

.mgbF {
  margin-bottom: 48px;
}

.mgbG {
  margin-bottom: 56px;
}

.mgbH {
  margin-bottom: 64px;
}

.mgbI {
  margin-bottom: 72px;
}

.mgbJ {
  margin-bottom: 80px;
}

/* AIRU edit */
.grecaptcha-badge {
  display: none;
  opacity: 0;
  visibility: hidden;
}
.contact-block {
  margin-bottom: 65px;
}