@charset "UTF-8";

:root {
  --main: 0, 65, 144;
  --blue: 0, 79, 175;
  --black: 29, 29, 29;
  --note: 161, 161, 161;
  --border: 229, 229, 229;
  --bg_gray: 238, 238, 238;
  --bg_blue: 238, 247, 255;
  --yellow: 239, 179, 39;
  --light_yellow: 255, 245, 156;
  --contents_width: 1100px;
  --contents_width_wide: 1400px;
  --body_padding_oneside: 60px;
  --body_padding_side: 120px;
  --contents_width_with_padding: 1220px;
  --sidebar_width: 200px;
  --font_size_def_sp: 1.4rem;
  --font_size_def_pc: 1.7rem;
  --font_weight_regular: 400;
  --font_weight_medium: 500;
  --font_weight_bold: 700;
  --line_height_def: 1.9;
  --line_height_head: 1.57;
  --line_height_medium: 1.4;
  --line_height_tight: 1.2;
  --line_height_wide: 2;
  --letter_spacing_def: 0.02em;
  --letter_spacing_wide: 0.14em;
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

html {
  font-size: 62.5%;
  word-break: break-all;
}

body {
  -webkit-text-size-adjust: 100%;
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
  word-break: break-word;
  line-break: strict;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

ul:not([class]),
ol:not([class]) {
  padding-left: 1.25em;
}

ul[class],
ol[class] {
  list-style: none;
}

span {
  font-weight: inherit;
}

blockquote,
q {
  quotes: none;
}

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

a {
  color: inherit;
}

@media (hover: hover) and (pointer: fine) {
  a:hover {
    text-decoration: none;
  }
}

a:not([class]) .c-ico {
  line-height: 0;
  margin: -2px 0 0 5px;
}

@media (hover: hover) and (pointer: fine) {
  a:not([class]) {
    transition: color 0.3s ease;
  }

  a:not([class]):hover {
    color: #1a2d4d;
  }
}

a[class] {
  text-decoration: none;
}

ins {
  background-color: #ff9;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

address {
  font-style: normal;
}

sup {
  vertical-align: text-top;
  font-size: 0.75em;
}

sub {
  vertical-align: text-bottom;
  font-size: 0.75em;
}

table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid rgb(var(--border));
  margin: 1em 0;
  padding: 0;
}

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

iframe {
  max-width: 100%;
}

/* form
================================================== */
input[type=text],
input[type=email],
input[type=tel],
textarea,
button,
select,
option {
  display: block;
  width: 100%;
  max-width: 100%;
  font: inherit;
  color: inherit;
  text-align: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  outline: none;
  border: 1px solid;
  border-radius: 0;
  background: none;
}

input[type=text],
input[type=email],
input[type=tel],
textarea,
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
}

@media all and (max-width: 767px) {

  input[type=text],
  input[type=email],
  input[type=tel],
  textarea,
  select,
  option {
    font-size: 1.6rem;
  }
}

input[type=radio],
input[type=checkbox] {
  margin: 0;
  padding: 0;
  vertical-align: middle;
}

textarea {
  resize: vertical;
}

button {
  margin: 0;
  padding: 0;
  cursor: pointer;
  border: none;
}

/* 02_base
================================================ */
body {
  min-width: 320px;
  font-family: "Zen Kaku Gothic New,sans-serif", sans-serif;
  color: rgb(var(--black));
  font-size: var(--font_size_def_sp);
  line-height: var(--line_height_def);
  letter-spacing: var(--letter_spacing_def);
}

@media all and (min-width: 768px) {
  body {
    min-width: var(--contents_width_with_padding);
    font-size: var(--font_size_def_pc);
  }
}

body.is-loading {
  overflow: hidden;
}

.l-wrapper {
  position: relative;
}

.l-container {
  position: relative;
  z-index: 1;
  padding-top: 60px;
}

@media all and (min-width: 768px) {
  .l-container {
    padding-top: 115px;
  }

  .l-container.is-col2 {
    display: grid;
    grid-template-columns: auto var(--sidebar_width);
    gap: 0 60px;
    width: var(--contents_width);
    margin: 0 auto;
  }

  .l-container.is-col2 .l-contents {
    flex: 1;
  }

  .l-container.is-col2 .l-sidebar {
    order: 2;
    flex-basis: var(--sidebar_width);
  }
}

/* sp <--> tb <--> pc
-------------------------------------- */
.u-media-query {
  display: none;
  font-family: "sp";
}

@media all and (min-width: 768px) {
  .u-media-query {
    font-family: "tb";
  }
}

@media all and (min-width: 1220px) {
  .u-media-query {
    font-family: "pc";
  }
}

@media all and (max-width: 1219px) {
  .u-view-pc {
    display: none !important;
  }
}

@media all and (max-width: 767px) {
  .u-view-tb {
    display: none !important;
  }
}

@media all and (min-width: 1220px) {
  .u-view-tb {
    display: none !important;
  }
}

@media all and (min-width: 768px) {
  .u-view-sp {
    display: none !important;
  }
}

@media all and (min-width: 1220px) {
  .u-view-under-tb {
    display: none !important;
  }
}

@media all and (max-width: 767px) {
  .u-view-upper-tb {
    display: none !important;
  }
}

/* overflow
-------------------------------------- */
.u-overflow-wrap {
  overflow: auto;
}

.u-overflow-wrap .u-overflow-sec {
  overflow: hidden;
}

@media all and (min-width: 768px) {
  .u-overflow-wrap .u-overflow-sec {
    min-width: var(--contents_width_with_padding);
  }
}

/* text
-------------------------------------- */
.u-uppercase {
  text-transform: uppercase;
}

.u-capitalize {
  text-transform: capitalize;
}

.u-en {
  font-family: "Montserrat", sans-serif;
  line-height: 1.4;
  font-weight: 500;
}

.u-font-palt-first::first-letter {
  font-feature-settings: "palt" 1;
}

.u-font-weight-regular {
  font-weight: var(--font_weight_regular);
}

.u-font-weight-medium {
  font-weight: var(--font_weight_medium);
}

.u-font-weight-bold {
  font-weight: var(--font_weight_bold);
}

.u-breakword {
  word-break: break-word;
}

.u-center {
  text-align: center;
}

@media all and (min-width: 768px) {
  .u-center-pc {
    text-align: center;
  }
}

/* link
-------------------------------------- */
a.u-alpha {
  display: block;
  text-decoration: none;
  transition: all 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  a.u-alpha:hover {
    opacity: 0.7;
  }
}

a.u-zoom {
  display: block;
  text-decoration: none;
}

a.u-zoom .u-zoom__img {
  display: block;
}

a.u-zoom .u-zoom__img-wrap {
  display: block;
  overflow: hidden;
}

@media (hover: hover) and (pointer: fine) {
  a.u-zoom .u-zoom__img {
    transition: all 0.3s ease;
  }

  a.u-zoom:hover .u-zoom__img {
    transform: scale(1.1);
  }
}

/* layout
-------------------------------------- */
.u-inner {
  box-sizing: border-box;
  padding-left: 30px;
  padding-right: 30px;
}

@media all and (min-width: 768px) {
  .u-inner {
    width: calc(100% - var(--body_padding_side));
    max-width: var(--contents_width);
    margin-right: auto;
    margin-left: auto;
    padding-left: 0;
    padding-right: 0;
  }
}

@media all and (min-width: 1220px) {
  .u-inner.is-wide-pc {
    max-width: var(--contents_width_wide);
  }
}

/*  .c-archive01
================================================== */
.c-archive01 {
  border-top: 1px solid rgb(var(--border));
}

.c-archive01__item {
  border-bottom: 1px solid rgb(var(--border));
}

.c-archive01__item-in {
  display: block;
  padding: 22px 0;
}

.c-archive01__item-meta {
  display: flex;
  line-height: var(--line_height_tight);
}

.c-archive01__item-date {
  margin: 0 15px 0 0;
  padding: 1px 19px 0 0;
  color: #1a2d4d;
  font-size: 1.2rem;
  border-right: 1px solid;
}

.c-archive01__item-cat {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 -5px -5px 0;
  font-size: 1.3rem;
  font-weight: var(--font_weight_bold);
  color: #1a2d4d;
}

.c-archive01__item-cat-item {
  margin: 0 5px 5px 0;
}

.c-archive01__item-head {
  line-height: var(--line_height_head);
  margin-top: 7px;
}

@media all and (min-width: 768px) {
  .c-archive01__item {
    display: block;
  }

  .c-archive01__item-in {
    padding: 35px 0;
  }

  .c-archive01__item-date {
    margin-right: 31px;
    padding-right: 26px;
    font-size: 1.6rem;
  }

  .c-archive01__item-cat {
    font-size: 1.4rem;
  }

  .c-archive01__item-head {
    margin-top: 10px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .c-archive01__item-in {
    transition: color 0.3s ease;
  }

  .c-archive01__item-in:hover {
    color: #1a2d4d;
  }

  .c-archive01__item-date {
    transition: color 0.3s ease;
  }

  .c-archive01__item-in:hover .c-archive01__item-date {
    color: #1a2d4d;
  }
}

/* .c-bg-blue
================================================== */
.c-bg-blue {
  position: relative;
  z-index: 1;
}

.c-bg-blue::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgb(var(--bg_blue));
  border-radius: 10px;
  z-index: -1;
}

@media all and (min-width: 1420px) {
  .c-bg-blue.is-bg-left-pc::before {
    right: 5.2%;
    right: 100px;
  }

  .c-bg-blue.is-bg-right-pc::before {
    left: 5.2%;
    left: 100px;
  }

  .c-bg-blue.is-bg-center-pc::before {
    width: 1400px;
    left: 50%;
    transform: translateX(-50%);
  }
}

/* .c-btn01.is-white
===================================*/
.c-btn01.is-white .c-btn01__link {
  background: #fff;
  border-color: rgb(var(--border));
}

.c-btn01.is-white .c-btn01__link-txt {
  color: rgb(var(--black));
}

.c-btn01.is-white .c-btn01__link-ico {
  color: #1a2d4d;
}

@media all and (min-width: 768px) {
  .c-btn01.is-white .c-btn01__link:hover {
    background: rgb(var(--border));
  }

  .c-btn01.is-white .c-btn01__link .c-btn01__link-txt {
    color: rgb(var(--black));
  }

  .c-btn01.is-white .c-btn01__link .c-btn01__link-ico {
    color: #1a2d4d;
  }
}

/* .c-btn01.is-yellow
===================================*/
.c-btn01.is-yellow {
  color: rgb(var(--yellow));
}

/* .c-btn01
===================================*/
.c-btn01 {
  width: 100%;
  max-width: 405px;
  margin: 30px auto 0;
  text-align: center;
  color: #1a2d4d;
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_head);
}

.c-btn01__link {
  min-height: 48px;
  padding: 5px 18px;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  -moz-column-gap: 10px;
  column-gap: 10px;
  align-items: center;
  background: currentColor;
  border: 2px solid;
  border-radius: 999px;
}

.c-btn01__link::before {
  content: "";
}

.c-btn01__link-txt {
  color: #fff;
}

.c-btn01__link-ico {
  justify-self: end;
  color: #fff;
}

@media all and (min-width: 768px) {
  .c-btn01 {
    margin-top: 50px;
    font-size: 1.8rem;
  }

  .c-btn01__link {
    min-height: 60px;
    padding: 8px 28px 10px;
  }

  .c-btn01__link .c-btn01__link-ico.is-arrow01 {
    width: 8px;
    height: 13px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .c-btn01__link {
    transition: background 0.3s ease;
  }

  .c-btn01__link-txt,
  .c-btn01__link-ico {
    transition: color 0.3s ease;
  }

  .c-btn01__link:hover {
    background: #fff;
  }

  .c-btn01__link:hover .c-btn01__link-txt,
  .c-btn01__link:hover .c-btn01__link-ico {
    color: currentColor;
  }
}

/* .c-btn01-list
===================================*/
.c-btn01-list {
  margin: -10px 0;
}

.c-btn01-list .c-btn01 {
  margin: 10px auto;
  width: calc(100% - 32px);
}

.c-btn01-list.is-anchor .c-btn01__link-ico {
  transform: rotate(90deg);
}

@media all and (min-width: 768px) {
  .c-btn01-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: -12px;
  }

  .c-btn01-list .c-btn01 {
    margin: 12px;
    max-width: 538px;
  }

  .c-btn01-list.is-anchor .c-btn01__link-ico {
    transform: rotate(90deg) translateX(3px);
  }
}

/* .c-btn01-list.is-405-pc
===================================*/
@media all and (min-width: 768px) {
  .c-btn01-list.is-405-pc .c-btn01 {
    max-width: 405px;
  }
}

/* .c-btn02.is-circle-gray
===================================*/
.c-btn02.is-circle-gray .c-btn02__link-circle {
  border-color: rgb(var(--border));
  background: rgb(var(--border));
  color: #1a2d4d;
}

@media (hover: hover) and (pointer: fine) {
  .c-btn02.is-circle-gray .c-btn02__link:hover {
    color: #1a2d4d;
  }

  .c-btn02.is-circle-gray .c-btn02__link:hover .c-btn02__link-circle {
    border-color: #1a2d4d;
    background: #1a2d4d;
    color: #fff;
  }
}

/* .c-btn02.is-font-large
===================================*/
.c-btn02.is-font-large {
  font-size: 1.6rem;
}

@media all and (min-width: 768px) {
  .c-btn02.is-font-large {
    font-size: 2.2rem;
  }
}

/* .c-btn02
===================================*/
.c-btn02 {
  display: flex;
  margin-top: 24px;
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_head);
}

.c-btn02__link {
  display: flex;
  align-items: center;
}

.c-btn02__link-txt {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  max-width: calc(100% - 32px);
  padding-right: 15px;
  box-sizing: border-box;
}

.c-btn02__link-txt-ja {
  margin-right: 16px;
}

.c-btn02__link-txt-en {
  margin-top: 2px;
  font-size: 1.1rem;
  color: rgb(var(--yellow));
}

.c-btn02__link-circle {
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex-basis: 32px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #1a2d4d;
  border: 2px solid #1a2d4d;
  color: #fff;
  box-sizing: border-box;
}

.c-btn02.is-right {
  justify-content: flex-end;
}

.c-btn02.is-center {
  justify-content: center;
}

.c-btn02.is-full-width,
.c-btn02.is-full-width .c-btn02__link {
  width: 100%;
  justify-content: space-between;
}

@media all and (max-width: 767px) {
  .c-btn02.is-right-sp {
    justify-content: flex-end;
  }

  .c-btn02.is-center-sp {
    justify-content: center;
  }
}

@media all and (min-width: 768px) {
  .c-btn02 {
    margin-top: 30px;
  }

  .c-btn02__link-txt {
    max-width: calc(100% - 50px);
    padding-right: 60px;
    flex-direction: column;
    align-items: flex-start;
  }

  .c-btn02__link-txt-ja {
    margin-right: 16px;
  }

  .c-btn02__link-txt-en {
    margin-top: 10px;
    font-size: 1.4rem;
  }

  .c-btn02__link-circle {
    flex-basis: 50px;
    width: 50px;
    height: 50px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .c-btn02__link {
    transition: color 0.3s ease;
  }

  .c-btn02__link-circle {
    transition: all 0.3s ease;
  }

  .c-btn02__link-txt-en {
    transition: color 0.3s ease;
  }

  .c-btn02__link:hover {
    color: #1a2d4d;
  }

  .c-btn02__link:hover .c-btn02__link-circle {
    background: #fff;
    color: currentColor;
  }

  .c-btn02__link:hover .c-btn02__link-txt-en {
    color: currentColor;
  }
}

/* .c-color-black
================================================== */
.c-color-black {
  color: rgb(var(--black)) !important;
}

/* .c-color-main
================================================== */
.c-color-main {
  color: #1a2d4d;
}

/* .c-color-light-yellow
================================================== */
.c-color-light-yellow {
  color: rgb(var(--light_yellow));
}

/* .c-color-yellow
================================================== */
.c-color-yellow {
  color: rgb(var(--yellow));
}

/*  .c-faq01
================================================== */
.c-faq01 {
  padding: 0 18px;
  background: #fff;
  border-radius: 10px;
  border: 1px solid rgb(var(--border));
}

.c-faq01+.c-faq01 {
  margin-top: 10px;
}

.c-faq01__ico {
  position: absolute;
  top: 19px;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  width: 40px;
  height: 40px;
  background: #fff;
  border: 2px solid #1a2d4d;
  border-radius: 50%;
  color: #1a2d4d;
  font-size: 1.7rem;
  text-align: center;
}

.c-faq01__head {
  position: relative;
  min-height: 75px;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  padding: 17px 0 17px 55px;
  font-weight: 700;
  line-height: var(--line_height_head);
}

.c-faq01__head[class*=toggle] {
  padding-right: 30px;
  cursor: pointer;
}

.c-faq01__head[class*=toggle]::before,
.c-faq01__head[class*=toggle]::after {
  position: absolute;
  top: 40px;
  right: 0;
  content: "";
  display: block;
  width: 22px;
  height: 3px;
  margin-top: -1px;
  background: #1a2d4d;
  transition: all 0.3s ease;
}

.c-faq01__head[class*=toggle]::before {
  transform: rotate(-90deg);
}

.c-faq01__head[class*=toggle].is-active::before {
  transform: rotate(0);
}

.c-faq01__txt {
  position: relative;
  padding: 15px 0 15px 55px;
  border-top: 1px solid rgb(var(--border));
  line-height: 2;
}

.c-faq01__txt .c-faq01__ico {
  background: #1a2d4d;
  color: #fff;
  top: 10px;
}

@media all and (min-width: 768px) {
  .c-faq01+.c-faq01 {
    margin-top: 30px;
  }

  .c-faq01__ico {
    top: 20px;
  }

  .c-faq01__head {
    min-height: 80px;
    padding-left: 60px;
    font-size: 1.8rem;
  }

  .c-faq01__head[class*=toggle] {
    padding-right: 80px;
  }

  .c-faq01__head[class*=toggle]::before,
  .c-faq01__head[class*=toggle]::after {
    right: 20px;
  }

  .c-faq01__txt {
    padding: 17px 20px 23px 60px;
  }

  .c-faq01__txt .c-faq01__ico {
    top: 16px;
  }
}

/* c-feature01.has-no-arrow
================================= */
.c-feature01.has-no-arrow {
  padding-top: 0;
}

.c-feature01.has-no-arrow::before {
  content: none;
}

/* c-feature01
================================= */
.c-feature01 {
  padding-top: 93px;
  position: relative;
}

.c-feature01::before {
  position: absolute;
  content: "";
  width: 191px;
  height: 45px;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: url(../img/common/ico_arrow01.png) no-repeat 0 100%/cover;
}

.c-feature01__head {
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 700;
  color: #1a2d4d;
  text-align: center;
  margin-bottom: 30px;
}

.c-feature01-list.is-adjust-center {
  text-align: center;
}

.c-feature01-list.is-adjust-center .c-feature01-list-child {
  display: inline-block;
  text-align: left;
  margin-left: -0.5em;
}

.c-feature01-list__area-img {
  margin: 0 auto;
  text-align: center;
  position: relative;
  width: 130px;
}

.c-feature01-list__en {
  position: absolute;
  top: -5px;
  left: -5px;
  text-align: left;
  font-size: 1rem;
  transform: scale(0.8);
  color: #1a2d4d;
}

.c-feature01-list__en .is-num {
  display: block;
  margin-top: 2px;
  font-size: 2.4rem;
  line-height: 1.1;
  color: rgb(var(--yellow));
}

.c-feature01-list__area-txt {
  margin-top: 10px;
}

.c-feature01-list__head {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  color: #1a2d4d;
  text-align: center;
}

.c-feature01-list__txt {
  margin-top: 12px;
}

.c-feature01-list__area-sub {
  margin-top: 17px;
  padding: 25px 18px 23px;
  border-radius: 20px;
  background: #fff;
}

.c-feature01-list__area-sub__head {
  display: flex;
  align-items: center;
  color: #1a2d4d;
  margin-bottom: 10px;
  font-size: 1.6rem;
}

.c-feature01-list__area-sub__head-ico {
  margin-right: 10px;
  width: 18px !important;
  height: 18px !important;
  color: rgb(var(--yellow));
  flex-shrink: 0;
}

.c-feature01-list-child {
  margin: 10px auto;
}

@media all and (max-width: 767px) {
  .c-feature01-list__item+.c-feature01-list__item {
    margin-top: 25px;
  }
}

@media all and (min-width: 768px) {
  .c-feature01 {
    padding-top: 107px;
  }

  .c-feature01::before {
    width: 279px;
    height: 69px;
  }

  .c-feature01__head {
    margin-bottom: 40px;
    font-size: 2.6rem;
  }

  .c-feature01-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .c-feature01-list__item {
    width: 340px;
    display: flex;
    flex-direction: column;
  }

  .c-feature01-list__area-img {
    width: 201px;
  }

  .c-feature01-list__en {
    font-size: 1.4rem;
    transform: scale(1);
    top: -2px;
    left: 0;
  }

  .c-feature01-list__en .is-num {
    font-size: 3rem;
  }

  .c-feature01-list__area-txt {
    width: 100%;
    margin-top: 14px;
  }

  .c-feature01-list__area-txt:not(:last-child) {
    margin-bottom: 45px;
  }

  .c-feature01-list__head {
    font-size: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 64px;
  }

  .c-feature01-list__txt {
    margin-top: 12px;
  }

  .c-feature01-list__area-sub {
    width: 100%;
    min-height: 270px;
    margin-top: auto;
    padding: 35px 60px;
    box-sizing: border-box;
  }

  .c-feature01-list__area-sub__head {
    font-size: 1.9rem;
  }

  .c-feature01-list-child {
    margin: 0 auto;
  }

  .c-feature01-list.is-col2-pc .c-feature01-list__item {
    width: calc(50% - 20px);
  }
}

/* .c-form
================================================== */
input.c-form-parts,
select.c-form-parts,
textarea.c-form-parts,
button.c-form-parts {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 49px;
  padding: 10px 12px;
  font-size: 1.6rem;
  border: 1px solid rgb(var(--border));
  border-radius: 3px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
}

input.c-form-parts::-moz-placeholder,
select.c-form-parts::-moz-placeholder,
textarea.c-form-parts::-moz-placeholder,
button.c-form-parts::-moz-placeholder {
  font-size: 1.4rem;
  line-height: 1;
  color: #BEBEBE;
  transform: translateY(-2px);
}

input.c-form-parts::placeholder,
select.c-form-parts::placeholder,
textarea.c-form-parts::placeholder,
button.c-form-parts::placeholder {
  font-size: 1.4rem;
  line-height: 1;
  color: #BEBEBE;
  transform: translateY(-2px);
}

@media all and (min-width: 768px) {

  input.c-form-parts,
  select.c-form-parts,
  textarea.c-form-parts,
  button.c-form-parts {
    padding: 5px 20px;
  }

  input.c-form-parts::-moz-placeholder,
  select.c-form-parts::-moz-placeholder,
  textarea.c-form-parts::-moz-placeholder,
  button.c-form-parts::-moz-placeholder {
    font-size: 1.7rem;
    transform: translateY(0);
  }

  input.c-form-parts::placeholder,
  select.c-form-parts::placeholder,
  textarea.c-form-parts::placeholder,
  button.c-form-parts::placeholder {
    font-size: 1.7rem;
    transform: translateY(0);
  }
}

textarea.c-form-parts {
  height: 180px;
  resize: vertical;
}

textarea.c-form-parts::-moz-placeholder {
  transform: translateY(2px);
}

textarea.c-form-parts::placeholder {
  transform: translateY(2px);
}

@media all and (min-width: 768px) {
  textarea.c-form-parts {
    height: 280px;
  }

  textarea.c-form-parts::-moz-placeholder {
    padding-top: 7px;
  }

  textarea.c-form-parts::placeholder {
    padding-top: 7px;
  }
}

select.c-form-parts {
  width: 300px;
  padding-right: 24px;
  background: no-repeat right 15px top 50%/8px;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAOCAYAAAAmL5yKAAAAzUlEQVQokZ2RsQ3CMBBFfxxaS9RXMQIlJSV0pKTMCIyQDWACYAM2wBvACFRXW3IDHTrJRlZiRyZXnHLWfz+n+xURnQEsMK26GYArgPsE3DCzUdJkmGDQSVN+aP+EL/7HqKU556zWeg5gVQBbAHth4g3CSrbA4MTMrzDU4cM599ZafwBsRmABW9GGh6qvIKIHgGXGoGHmW/ygEqJDBjZ9OGngrzsQ5oxTG6TEEtszJfwdMS4fq9xn7ZPZxocr2UDq6GGJrSTeYRHRblQA4Av4tkvSJ5wq3wAAAABJRU5ErkJggg==");
}

.c-form-parts-list {
  display: flex;
  flex-wrap: wrap;
  margin-right: -20px;
}

.c-form-parts-list .c-form-parts {
  margin-right: 20px;
}

.c-form-parts-list.is-flex-enb {
  justify-content: flex-end;
}

/* .c-form.is-default
================================================== */
.c-form.is-default th,
.c-form.is-default td {
  border-style: solid;
  border-width: 0;
}

.c-form.is-default th {
  padding: 15px 0 5px;
  font-weight: 700;
  text-align: left;
}

@media all and (max-width: 767px) {

  .c-form.is-default table,
  .c-form.is-default thead,
  .c-form.is-default tbody,
  .c-form.is-default tr,
  .c-form.is-default th,
  .c-form.is-default td {
    display: block;
  }

  .c-form.is-default th {
    border-bottom: 0;
  }

  .c-form.is-default tr+tr th {
    border-top: 0;
  }
}

@media all and (min-width: 768px) {

  .c-form.is-default th,
  .c-form.is-default td {
    padding: 7px 0 7px 20px;
  }

  .c-form.is-default th {
    padding: 17px 0 0;
    width: 244px;
    vertical-align: top;
  }
}

/* .c-form-label
================================================== */
.c-form-label {
  float: right;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 44px;
  height: 20px;
  margin-left: 10px;
  background: rgb(var(--bg_blue));
  color: #1a2d4d;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  border-radius: 5px;
}

.c-form-label.is-required {
  color: #fff;
  background: rgb(var(--yellow));
}

@media all and (min-width: 768px) {
  .c-form-label {
    width: 54px;
    height: 24px;
    font-size: 1.4rem;
    margin-top: 3px;
  }
}

/* .c-form-note
================================================== */
.c-form-note {
  display: block;
  font-weight: 400;
  color: #1a2d4d;
  font-size: 1.2rem;
}

@media all and (min-width: 768px) {
  .c-form-note {
    font-size: 1.4rem;
  }
}

td .c-form-note {
  margin-top: 10px;
}

.mw_wp_form {
  padding-top: 58px;
  margin-top: -58px;
}

@media all and (min-width: 768px) {
  .mw_wp_form {
    padding-top: 160px;
    margin-top: -160px;
  }
}

.mw_wp_form_confirm .c-form-note {
  display: none;
}

.mw_wp_form_confirm .c-form-agreement__txt {
  display: none;
}

@media all and (min-width: 768px) {
  .mw_wp_form_confirm .c-form.is-default td {
    padding-top: 15px;
  }
}

/* .c-form-postcode
================================================== */
.c-form-postcode {
  display: flex;
  flex-wrap: wrap;
}

.c-form-postcode__prefix {
  max-width: 26px;
  flex-basis: 26px;
  padding-top: 5px;
}

.c-form-postcode__input {
  max-width: 100px;
  flex-basis: 100px;
}

/* ç¢ºèªç»é¢
================================================ */
.mw_wp_form_confirm .c-form-postcode .c-form-postcode__prefix,
.is-confirm .c-form-postcode .c-form-postcode__prefix {
  max-width: none;
  flex-basis: 0;
  padding-top: 0;
}

.mw_wp_form_confirm .c-form-postcode .c-form-postcode__input,
.is-confirm .c-form-postcode .c-form-postcode__input {
  max-width: none;
  flex-basis: 0;
}

/* .c-form-item
================================================== */
.c-form-item {
  display: flex;
}

.c-form-item+.c-form-item {
  margin-top: 10px;
}

.c-form-item-list {
  display: flex;
}

.c-form-item-list .c-form-item+.c-form-item {
  margin-top: 0;
  margin-left: 14px;
}

.c-form-item__prefix {
  min-width: 20px;
  margin-right: 10px;
  padding-top: 5px;
}

.c-form-item__suffix {
  min-width: 20px;
  margin-left: 10px;
  padding-top: 5px;
}

.c-form-item__input {
  flex: 1;
}

.c-form-item .c-form-item__input [name*=year] {
  width: 80px;
}

.c-form-item .c-form-item__input [name*=month] {
  width: 64px;
}

.c-form-item .c-form-item__input [name*=day] {
  width: 64px;
}

@media all and (max-width: 374px) {
  .c-form-item .c-form-item__input [name*=year] {
    width: 58px;
  }

  .c-form-item .c-form-item__input [name*=month] {
    width: 50px;
    padding: 5px;
    background-position: right 8px top 50%;
  }

  .c-form-item .c-form-item__input [name*=day] {
    width: 50px;
    padding: 5px;
    background-position: right 8px top 50%;
  }
}

@media all and (min-width: 1220px) {
  .c-form-item {
    display: inline-flex;
  }

  .c-form-item+.c-form-item {
    margin: 0 0 0 20px;
  }

  .c-form-item__input {
    width: 200px;
  }

  .c-form-item-list .c-form-item__input {
    width: auto;
  }

  .c-form-item .c-form-item__input [name*=year] {
    width: 82px;
  }

  .c-form-item .c-form-item__input [name*=month] {
    width: 62px;
  }

  .c-form-item .c-form-item__input [name*=day] {
    width: 62px;
  }
}

/* ç¢ºèªç»é¢
================================================ */
.mw_wp_form_confirm .c-form-item .c-form-item__prefix,
.mw_wp_form_confirm .c-form-item .c-form-item__suffix,
.is-confirm .c-form-item .c-form-item__prefix,
.is-confirm .c-form-item .c-form-item__suffix {
  min-width: 0;
  padding-top: 0;
}

.mw_wp_form_confirm .c-form-item .c-form-item__input,
.is-confirm .c-form-item .c-form-item__input {
  width: auto;
}

/* .c-form-address
================================================== */
.c-form-address {
  margin-top: 15px;
}

/* .c-form-agreement
================================================== */
.c-form-agreement {
  margin-top: 20px;
  text-align: center;
}

.c-form-agreement__txt {
  text-align: center;
}

.c-form-agreement__txt a {
  color: #1a2d4d;
}

@media all and (min-width: 768px) {
  .c-form-agreement {
    margin-top: 35px;
  }
}

.mw_wp_form_confirm .c-form-agreement {
  display: none;
}

/* .c-form-btn
================================================== */
.c-form-area-btn {
  margin-top: 30px;
}

@media all and (min-width: 768px) {
  .c-form-area-btn {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
}

.c-form-btn {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 48px;
  text-align: center;
  padding: 5px 10px;
  border: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  font-weight: 700;
  cursor: pointer;
  color: #fff;
  background: #1a2d4d;
  border: solid 2px #1a2d4d;
  border-radius: 24px;
  box-sizing: border-box;
  position: relative;
  transition: all 0.3s ease;
}

.c-form-btn::before {
  position: absolute;
  content: "";
  width: 5px;
  height: 5px;
  border-top: solid 2px;
  border-right: solid 2px;
  top: 50%;
  right: 18px;
  transform: translate(0, -50%) rotate(45deg);
}

.c-form-btn+.c-form-btn {
  margin-top: 10px;
}

.c-form-btn.is-back::before {
  right: auto;
  left: 18px;
  transform: translate(0, -50%) rotate(225deg);
}

@media all and (min-width: 768px) {
  .c-form-btn {
    width: 400px;
    height: 60px;
    border-radius: 30px;
  }

  .c-form-btn::before {
    width: 8px;
    height: 8px;
    right: 27px;
  }

  .c-form-btn.is-back::before {
    left: 27px;
  }

  .c-form-btn:hover {
    color: #1a2d4d;
    background: #fff;
  }

  .c-form-btn+.c-form-btn {
    margin-top: 0;
    margin-left: 20px;
  }
}

/* .c-form .mwform-radio-field
================================================ */
.c-form .mwform-radio-field,
.c-form .c-radio {
  display: block;
}

.c-form .mwform-radio-field+.mwform-radio-field,
.c-form .mwform-radio-field+.c-radio,
.c-form .c-radio+.mwform-radio-field,
.c-form .c-radio+.c-radio {
  margin-top: 10px;
}

.c-form .mwform-radio-field label,
.c-form .c-radio label {
  display: block;
  cursor: pointer;
}

.c-form .mwform-radio-field input,
.c-form .c-radio input {
  display: none;
}

.c-form .mwform-radio-field .mwform-radio-field-text,
.c-form .mwform-radio-field .c-radio__text,
.c-form .c-radio .mwform-radio-field-text,
.c-form .c-radio .c-radio__text {
  position: relative;
  display: inline-block;
  padding-left: 30px;
  vertical-align: top;
}

.c-form .mwform-radio-field .mwform-radio-field-text::before,
.c-form .mwform-radio-field .c-radio__text::before,
.c-form .c-radio .mwform-radio-field-text::before,
.c-form .c-radio .c-radio__text::before {
  box-sizing: border-box;
  position: absolute;
  top: 3px;
  left: 0;
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  border: 1px solid;
  border-radius: 50%;
}

.c-form .mwform-radio-field input:checked+.mwform-radio-field-text::after,
.c-form .mwform-radio-field input:checked+.c-radio__text::after,
.c-form .c-radio input:checked+.mwform-radio-field-text::after,
.c-form .c-radio input:checked+.c-radio__text::after {
  box-sizing: border-box;
  position: absolute;
  top: 4px;
  left: 1px;
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  border: 6px solid #fff;
  border-radius: 50%;
  background: rgb(var(--yellow));
}

@media all and (min-width: 768px) {

  .c-form .mwform-radio-field .mwform-radio-field-text::before,
  .c-form .mwform-radio-field .c-radio__text::before,
  .c-form .c-radio .mwform-radio-field-text::before,
  .c-form .c-radio .c-radio__text::before {
    top: 5px;
  }

  .c-form .mwform-radio-field input:checked+.mwform-radio-field-text::after,
  .c-form .mwform-radio-field input:checked+.c-radio__text::after,
  .c-form .c-radio input:checked+.mwform-radio-field-text::after,
  .c-form .c-radio input:checked+.c-radio__text::after {
    top: 6px;
  }
}

.c-radio-list {
  display: flex;
  flex-wrap: wrap;
}

.c-radio-list .mwform-radio-field,
.c-radio-list .c-radio {
  display: inline-block;
  margin-right: 20px;
}

.c-radio-list .mwform-radio-field+.mwform-radio-field,
.c-radio-list .mwform-radio-field+.c-radio,
.c-radio-list .c-radio+.mwform-radio-field,
.c-radio-list .c-radio+.c-radio {
  margin-top: 0;
}

/* .c-form .mwform-checkbox-field
================================================ */
.c-form .mwform-checkbox-field,
.c-form .c-checkbox {
  display: block;
}

.c-form .mwform-checkbox-field+.mwform-checkbox-field,
.c-form .mwform-checkbox-field+.c-checkbox,
.c-form .c-checkbox+.mwform-checkbox-field,
.c-form .c-checkbox+.c-checkbox {
  margin-top: 10px;
}

.c-form .mwform-checkbox-field label,
.c-form .c-checkbox label {
  display: block;
  cursor: pointer;
}

.c-form .mwform-checkbox-field input,
.c-form .c-checkbox input {
  display: none;
}

.c-form .mwform-checkbox-field .mwform-checkbox-field-text,
.c-form .mwform-checkbox-field .c-checkbox__text,
.c-form .c-checkbox .mwform-checkbox-field-text,
.c-form .c-checkbox .c-checkbox__text {
  position: relative;
  display: inline-block;
  padding-left: 30px;
  vertical-align: top;
}

.c-form .mwform-checkbox-field .mwform-checkbox-field-text::before,
.c-form .mwform-checkbox-field .c-checkbox__text::before,
.c-form .c-checkbox .mwform-checkbox-field-text::before,
.c-form .c-checkbox .c-checkbox__text::before {
  box-sizing: border-box;
  position: absolute;
  top: 3px;
  left: 0;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border: 2px solid;
  border-color: #1a2d4d;
}

.c-form .mwform-checkbox-field input:checked+.mwform-checkbox-field-text::after,
.c-form .mwform-checkbox-field input:checked+.c-checkbox__text::after,
.c-form .c-checkbox input:checked+.mwform-checkbox-field-text::after,
.c-form .c-checkbox input:checked+.c-checkbox__text::after {
  position: absolute;
  top: 2px;
  left: 6px;
  content: "";
  display: block;
  width: 14px;
  height: 5px;
  border-style: solid;
  border-width: 4px 4px 0 0;
  border-color: rgb(var(--yellow));
  transform: rotate(135deg);
}

@media all and (min-width: 768px) {

  .c-form .mwform-checkbox-field .mwform-checkbox-field-text::before,
  .c-form .mwform-checkbox-field .c-checkbox__text::before,
  .c-form .c-checkbox .mwform-checkbox-field-text::before,
  .c-form .c-checkbox .c-checkbox__text::before {
    top: 5px;
  }

  .c-form .mwform-checkbox-field input:checked+.mwform-checkbox-field-text::after,
  .c-form .mwform-checkbox-field input:checked+.c-checkbox__text::after,
  .c-form .c-checkbox input:checked+.mwform-checkbox-field-text::after,
  .c-form .c-checkbox input:checked+.c-checkbox__text::after {
    top: 4px;
  }
}

.c-checkbox-list {
  display: flex;
  flex-wrap: wrap;
}

.c-checkbox-list .mwform-checkbox-field,
.c-checkbox-list .c-checkbox {
  display: inline-block;
  margin-right: 20px;
  margin-bottom: 5px;
}

.c-checkbox-list .mwform-checkbox-field+.mwform-checkbox-field,
.c-checkbox-list .mwform-checkbox-field+.c-checkbox,
.c-checkbox-list .c-checkbox+.mwform-checkbox-field,
.c-checkbox-list .c-checkbox+.c-checkbox {
  margin-top: 0;
}

@media all and (max-width: 767px) {
  .c-checkbox-list .mwform-checkbox-field {
    width: 100%;
  }
}

@media all and (min-width: 768px) {
  .c-checkbox-list {
    margin-top: 10px;
    margin-bottom: 5px;
  }

  .c-checkbox-list .mwform-checkbox-field {
    width: calc(50% - 20px);
  }
}

/* .mw_wp_form ãªã»ãã
================================================ */
.mw_wp_form .c-form .horizontal-item+.horizontal-item {
  margin-left: 0;
}

/* .c-form-thanks
================================================ */
.c-form-thanks__txt {
  margin-bottom: 10px;
}

/* .c-head01.is-large-pc
===================================*/
@media all and (min-width: 768px) {
  .c-head01.is-large-pc .c-head01__main {
    font-size: 4.8rem;
  }
}

/* .c-head01.is-small-pc
===================================*/
@media all and (min-width: 768px) {
  .c-head01.is-small-pc .c-head01__main {
    font-size: 3.6rem;
  }
}

/* .c-head01.is-white
===================================*/
.c-head01.is-white .c-head01__main {
  color: #fff;
}

/* .c-head01
===================================*/
.c-head01 {
  position: relative;
  margin-bottom: 15px;
  line-height: var(--line_height_head);
}

.c-head01__ico {
  display: block;
  color: rgb(var(--yellow));
}

.c-head01__sub {
  display: flex;
  align-items: center;
  font-size: 1rem;
  color: rgb(var(--yellow));
}

.c-head01__sub::after {
  content: "";
  display: inline-block;
  border-top: 1px solid;
  width: 30px;
  margin: -1px 0 0 4px;
}

.c-head01__main {
  font-size: 2.2rem;
  font-weight: var(--font_weight_bold);
  color: #1a2d4d;
}

@media all and (min-width: 768px) {
  .c-head01 {
    margin-bottom: 32px;
  }

  .c-head01__sub {
    font-size: 1.4rem;
  }

  .c-head01__sub::after {
    width: 69px;
  }

  .c-head01__main {
    font-size: 4.3rem;
  }
}

/* .c-head02
===================================*/
.c-head02 {
  position: relative;
  margin-bottom: 25px;
  line-height: var(--line_height_head);
  font-size: 2.8rem;
  font-weight: var(--font_weight_bold);
  color: #1a2d4d;
  text-align: center;
}

.c-head02.has-border::after,
.c-head02.has-border-sp::after {
  content: "";
  display: block;
  border-top: 3px solid;
  width: 50px;
  margin: 15px auto 0;
}

.c-head02.has-border-dot {
  padding-bottom: 18px;
}

.c-head02.has-border-dot::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 54px;
  height: 3px;
  background: url(../img/common/ico_dot01.png) no-repeat 0 100%/cover;
}

.c-head02.has-ico {
  padding-top: 13px;
}

.c-head02.has-ico::before {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  width: 10px;
  height: 10px;
  vertical-align: middle;
  color: currentColor;
  background: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10"><path fill="currentColor" d="M5.76 5.76a12.24 12.24 0 0 0 3.18-1.3 12.25 12.25 0 0 0-3.18-1.28A12.25 12.25 0 0 0 4.46 0a12.27 12.27 0 0 0-1.28 3.18A12.25 12.25 0 0 0 0 4.47a12.24 12.24 0 0 0 3.18 1.3 12.27 12.27 0 0 0 1.29 3.17 12.25 12.25 0 0 0 1.3-3.18"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10"><path fill="currentColor" d="M5.76 5.76a12.24 12.24 0 0 0 3.18-1.3 12.25 12.25 0 0 0-3.18-1.28A12.25 12.25 0 0 0 4.46 0a12.27 12.27 0 0 0-1.28 3.18A12.25 12.25 0 0 0 0 4.47a12.24 12.24 0 0 0 3.18 1.3 12.27 12.27 0 0 0 1.29 3.17 12.25 12.25 0 0 0 1.3-3.18"/></svg>');
  content: "";
  transition: all 0.3s ease;
  background: rgb(var(--yellow));
}

@media all and (min-width: 768px) {
  .c-head02 {
    font-size: 3.8rem;
    line-height: var(--line_height_medium);
    margin-bottom: 38px;
  }

  .c-head02.has-border-sp::after {
    content: none;
  }

  .c-head02.has-border::after {
    width: 100px;
    margin: 30px auto 0;
  }

  .c-head02.has-border-dot {
    font-size: 4.6rem;
    padding-bottom: 25px;
    margin-bottom: 55px;
  }

  .c-head02.has-border-dot::after {
    width: 120px;
  }

  .c-head02.has-ico {
    padding-top: 38px;
  }

  .c-head02.has-ico::before {
    width: 18px;
    height: 18px;
  }
}

/* .c-head03
===================================*/
.c-head03 {
  position: relative;
  margin-bottom: 30px;
  line-height: var(--line_height_head);
  text-align: center;
}

.c-head03__sub {
  font-size: 1.3rem;
  color: rgb(var(--yellow));
}

.c-head03__main {
  font-size: 2.8rem;
  font-weight: var(--font_weight_bold);
  color: #1a2d4d;
}

@media all and (min-width: 768px) {
  .c-head03 {
    margin-bottom: 60px;
  }

  .c-head03__sub {
    font-size: 1.4rem;
  }

  .c-head03__main {
    margin-top: 3px;
    font-size: 3.8rem;
  }
}

/* .c-head04
===================================*/
.c-head04 {
  position: relative;
  margin-bottom: 15px;
  line-height: var(--line_height_head);
  font-size: 1.6rem;
  font-weight: var(--font_weight_bold);
  color: #1a2d4d;
  padding-left: 10px;
}

.c-head04::before {
  content: "";
  border-left: 2px solid;
  position: absolute;
  top: 0.2em;
  bottom: 0.15em;
  left: 0;
}

@media all and (min-width: 768px) {
  .c-head04 {
    font-size: 1.9rem;
    margin-bottom: 20px;
  }

  .c-head04::before {
    border-left-width: 3px;
    top: 0.25em;
    bottom: 0.19em;
  }
}

/* .c-head05.is-left-sp
===================================*/
@media all and (max-width: 767px) {
  .c-head05.is-left-sp {
    text-align: left;
  }
}

/* .c-head05
===================================*/
.c-head05 {
  position: relative;
  margin-bottom: 20px;
  line-height: var(--line_height_head);
  font-size: 2.4rem;
  font-weight: var(--font_weight_bold);
  color: #1a2d4d;
  text-align: center;
}

@media all and (min-width: 768px) {
  .c-head05 {
    font-size: 2.6rem;
  }
}

/* .c-ico
================================================== */
.c-ico {
  display: inline-block;
  vertical-align: middle;
  transition: none;
}

.c-ico svg {
  display: block;
  transition: color 0.1s ease;
}

.c-ico.is-arrow01 {
  width: 6.5px;
  height: 11px;
}

.c-ico.is-external01 {
  width: 8px;
  height: 8px;
}

.c-ico.is-mail01 {
  width: 19px;
  height: 14px;
}

.c-ico.is-star01 {
  width: 9px;
  height: 9px;
}

.c-ico.is-tel01 {
  width: 24px;
  height: 24px;
}

.c-ico.is-home01 {
  width: 15px;
  height: 15px;
}

@media all and (min-width: 768px) {
  .c-ico.is-external01 {
    width: 10px;
    height: 10px;
  }

  .c-ico.is-mail01 {
    width: 23px;
    height: 17px;
  }

  .c-ico.is-star01 {
    width: 17px;
    height: 17px;
  }
}

/* c-list01
================================= */
.c-list01__item {
  padding-left: 17px;
  position: relative;
}

.c-list01__item::before {
  position: absolute;
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  top: 11px;
  left: 0;
  background: rgb(var(--yellow));
}

.c-list01__item.is-navy::before {
  background: #1a2d4d;
}

@media all and (min-width: 768px) {
  .c-list01__item {
    font-size: 1.8rem;
  }

  .c-list01__item::before {
    top: 15px;
  }
}

/* c-note01
================================= */
.c-note01 {
  position: relative;
  margin-left: 1em;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  text-indent: -1em;
  color: #1a2d4d;
}

.c-note01::before {
  content: "â»";
}

@media all and (min-width: 768px) {
  .c-note01 {
    font-size: 1.4rem;
  }
}

/* c-note01.has-mt
================================= */
.c-note01.has-mt {
  margin-top: 1em;
}

/* .c-pager01
===================================*/
.c-pager01 {
  overflow: hidden;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  text-align: center;
  margin: 24px -10px -10px;
}

.c-pager01 li {
  margin: 0 4px 10px;
}

.c-pager01 li a,
.c-pager01 li span {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  line-height: 1;
  color: #1a2d4d;
  background: rgb(var(--bg_gray));
  text-decoration: none;
  font-size: 1.5rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}

.c-pager01 li.pages span {
  width: auto;
  border: 0;
}

.c-pager01 li.current span {
  color: #fff;
  background: #1a2d4d;
}

.c-pager01 li.previous,
.c-pager01 li.next {
  margin-top: 5px;
  margin-left: 10px;
}

.c-pager01 li.previous a,
.c-pager01 li.next a {
  width: 30px;
  height: 30px;
  color: rgb(var(--bg_gray));
  position: relative;
}

.c-pager01 li.previous a::before,
.c-pager01 li.next a::before {
  position: absolute;
  content: "";
  width: 5px;
  height: 5px;
  border-top: solid 2px #1a2d4d;
  border-right: solid 2px #1a2d4d;
  top: 50%;
  left: 10px;
  transform: translate(0, -50%) rotate(45deg);
  transition: all 0.3s ease;
}

.c-pager01 li.previous {
  margin-right: 10px;
  margin-left: 0;
}

.c-pager01 li.previous a::before {
  left: 13px;
  transform: translate(0, -50%) rotate(-135deg);
}

@media all and (min-width: 768px) {
  .c-pager01 {
    margin-top: 60px;
  }

  .c-pager01 li a,
  .c-pager01 li span {
    width: 60px;
    height: 60px;
    font-size: 1.7rem;
  }

  .c-pager01 li.previous,
  .c-pager01 li.next {
    margin-top: 5px;
    margin-left: 40px;
  }

  .c-pager01 li.previous a,
  .c-pager01 li.next a {
    width: 50px;
    height: 50px;
  }

  .c-pager01 li.previous a::before,
  .c-pager01 li.next a::before {
    width: 8px;
    height: 8px;
    border-top: solid 2px #1a2d4d;
    border-right: solid 2px #1a2d4d;
    left: 18px;
  }

  .c-pager01 li.previous a:hover,
  .c-pager01 li.next a:hover {
    color: #1a2d4d;
  }

  .c-pager01 li.previous a:hover::before,
  .c-pager01 li.next a:hover::before {
    border-color: #fff;
  }

  .c-pager01 li.previous {
    margin-left: 0;
    margin-right: 40px;
  }

  .c-pager01 li.previous a::before {
    left: 22px;
  }

  .c-pager01 li a {
    transition: all 0.3s ease;
  }

  .c-pager01 li a:hover {
    text-decoration: none;
    background-color: #1a2d4d;
    color: #fff;
  }
}

/*  .c-pager02
================================================== */
.c-pager02 {
  position: relative;
  overflow: hidden;
  margin-top: 24px;
  padding-top: 24px;
  line-height: 1;
  border-top: solid 1px rgb(var(--border));
}

.c-pager02 a {
  box-sizing: border-box;
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  height: 48px;
  padding: 15px;
  text-decoration: none;
}

.c-pager02__previous,
.c-pager02__next {
  width: auto;
}

.c-pager02__previous a,
.c-pager02__next a {
  position: relative;
}

.c-pager02__previous a::before,
.c-pager02__next a::before {
  position: absolute;
  content: "";
  width: 5px;
  height: 5px;
  border-top: solid 2px #1a2d4d;
  border-right: solid 2px #1a2d4d;
  top: 50%;
  left: 2px;
  transform: translate(0, -50%) rotate(45deg);
  transition: all 0.3s ease;
}

.c-pager02__previous {
  float: left;
}

.c-pager02__previous a {
  justify-content: flex-start;
  padding-left: 16px;
}

.c-pager02__previous a::before {
  transform: translate(0, -50%) rotate(225deg);
}

.c-pager02__next {
  float: right;
}

.c-pager02__next a {
  justify-content: flex-end;
  padding-right: 16px;
}

.c-pager02__next a::before {
  left: auto;
  right: 2px;
}

.c-pager02__all {
  width: calc(100% - 36px);
  clear: both;
  margin: 0 auto 8px;
}

.c-pager02__all a {
  font-weight: 700;
  color: #fff;
  background: #1a2d4d;
  border-radius: 24px;
  justify-content: center;
  position: relative;
  border: solid 2px #1a2d4d;
  box-sizing: border-box;
}

.c-pager02__all a::before {
  position: absolute;
  content: "";
  width: 5px;
  height: 5px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  top: 50%;
  left: 20px;
  transform: translate(0, -50%) rotate(225deg);
  transition: all 0.3s ease;
}

@media all and (min-width: 768px) {
  .c-pager02 {
    margin-top: 60px;
    padding: 34px 55px 0;
  }

  .c-pager02 a {
    height: 60px;
    transition: all 0.3s ease;
  }

  .c-pager02 a:hover {
    color: #1a2d4d;
  }

  .c-pager02__previous,
  .c-pager02__next {
    margin-top: -60px;
  }

  .c-pager02__previous a::before,
  .c-pager02__next a::before {
    margin-top: 2px;
  }

  .c-pager02__all {
    width: 405px;
    margin-bottom: 0;
  }

  .c-pager02__all a {
    font-size: 1.8rem;
    border-radius: 30px;
  }

  .c-pager02__all a::before {
    width: 8px;
    height: 8px;
    left: 30px;
  }

  .c-pager02__all a:hover {
    background: #fff;
  }

  .c-pager02__all a:hover::before {
    border-color: #1a2d4d;
  }
}

/* .c-parts-line
================================================== */
.c-parts-line {
  display: block;
  height: 4px;
  background: url(../img/common/bg_parts_line01.png) no-repeat center center/100% 100%;
}

.c-parts-line.is-light {
  opacity: 0.5;
}

/* .c-relate01
================================================ */
.c-relate01 {
  position: relative;
  margin-bottom: -20px;
  background: linear-gradient(to bottom, #fff 0%, rgba(188, 222, 252, 0.23) 69.45%, #bcdefc 100%);
}

.c-relate01::before,
.c-relate01::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 20px;
  left: 0;
  right: 0;
  background-repeat: no-repeat;
  background-size: contain;
}

.c-relate01::before {
  background-position: center top;
}

.c-relate01::after {
  background-position: center bottom;
}

.c-relate01__inner {
  position: relative;
  z-index: 1;
  padding-top: 60px;
  padding-bottom: 80px;
}

@media all and (min-width: 768px) {
  .c-relate01 {
    margin-bottom: -26px;
  }

  .c-relate01::before,
  .c-relate01::after {
    bottom: 26px;
  }

  .c-relate01::before {
    background-position: left top;
  }

  .c-relate01::after {
    background-position: right bottom;
  }

  .c-relate01__inner {
    padding-top: 140px;
    padding-bottom: 146px;
  }
}

.c-relate01-list {
  position: relative;
}

.c-relate01-list__item {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
}

.c-relate01-list__item-link {
  position: relative;
  display: block;
  background: #fff;
  padding: 20px 18px;
}

.c-relate01-list__item-link-ico {
  position: absolute;
  top: 20px;
  left: 18px;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgb(var(--bg_blue));
}

.c-relate01-list__item-link-ico img {
  width: 39px;
  height: 39px;
}

.c-relate01-list__item-link-head {
  font-size: 1.6rem;
  font-weight: var(--font_weight_bold);
  color: #1a2d4d;
  line-height: var(--line_height_head);
}

.c-relate01-list__item-link-head-arrow {
  margin-left: 15px;
}

.c-relate01-list__item-link-txt {
  margin-top: 10px;
}

@media all and (max-width: 767px) {
  .c-relate01-list__item+.c-relate01-list__item {
    margin-top: 10px;
  }

  .c-relate01-list__item-link-head {
    min-height: 60px;
    display: flex;
    align-items: center;
    padding-left: 75px;
  }
}

@media all and (min-width: 768px) {
  .c-relate01-list {
    display: flex;
    justify-content: center;
    margin: 0 -20px -20px;
  }

  .c-relate01-list__item {
    margin: 0 20px 20px;
    flex-basis: calc(50% - 40px);
    max-width: calc(50% - 40px);
  }

  .c-relate01-list__item-link {
    padding: 30px 30px 30px 170px;
  }

  .c-relate01-list__item-link-ico {
    top: 30px;
    left: 30px;
    width: 120px;
    height: 120px;
  }

  .c-relate01-list__item-link-ico img {
    width: 68px;
    height: 68px;
  }

  .c-relate01-list__item-link-head {
    font-size: 1.9rem;
  }

  .c-relate01-list__item-link-head-arrow {
    margin-left: 20px;
  }

  .c-relate01-list__item-link-txt {
    margin-top: 20px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .c-relate01-list__item-link {
    transition: all 0.3s ease;
  }

  .c-relate01-list__item-link-ico {
    transition: background 0.3s ease;
  }

  .c-relate01-list__item-link:hover {
    color: #1a2d4d;
    background: rgb(var(--bg_blue));
  }

  .c-relate01-list__item-link:hover .c-relate01-list__item-link-ico {
    background: #fff;
  }
}

/* .c-relate02
================================================ */
.c-relate02 {
  position: relative;
  margin-bottom: -20px;
}

.c-relate02::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 1087px;
  bottom: 0;
  left: 0;
}

.c-relate02__inner {
  position: relative;
  z-index: 1;
  padding-top: 60px;
  padding-bottom: 80px;
}

@media all and (min-width: 768px) {
  .c-relate02 {
    margin-bottom: -26px;
  }

  .c-relate02::before {
    height: 749px;
  }

  .c-relate02__inner {
    padding-top: 140px;
    padding-bottom: 146px;
  }
}

.c-relate02-list {
  position: relative;
}

.c-relate02-list__item {
  border-top: solid 4px #1a2d4d;
  position: relative;
  background: #fff;
  border-radius: 0 0 20px 20px;
  padding: 25px 18px;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.16);
}

.c-relate02-list__item.is-yellow {
  border-color: rgb(var(--yellow));
}

.c-relate02-list__img {
  margin: 0 12px;
  text-align: center;
}

.c-relate02-list__btn {
  margin-top: 20px;
}

@media all and (max-width: 767px) {
  .c-relate02-list__item+.c-relate02-list__item {
    margin-top: 20px;
  }
}

@media all and (min-width: 768px) {
  .c-relate02-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .c-relate02-list__item {
    width: 340px;
    padding: 37px 20px 30px;
    box-sizing: border-box;
  }

  .c-relate02-list__img {
    margin: 0 -5px;
  }

  .c-relate02-list__btn {
    margin-top: 25px;
  }

  .c-relate02-list__btn .c-btn01__link {
    padding: 8px 20px 10px;
  }
}

/*  .c-set01
================================================== */
.c-set01+.c-set01 {
  margin-top: 25px;
}

.c-set01__txt+.c-set01__txt {
  margin-top: 25px;
}

@media all and (min-width: 768px) {
  .c-set01+.c-set01 {
    margin-top: 55px;
  }

  .c-set01__txt+.c-set01__txt {
    margin-top: 30px;
  }
}

/* .c-set02.is-rev-pc
================================================ */
@media all and (min-width: 768px) {
  .c-set02.is-rev-pc {
    flex-direction: row-reverse;
  }
}

/* .c-set02
================================================ */
.c-set02 {
  margin-top: 30px;
  padding: 30px 18px;
  background: #fff;
  border-radius: 20px;
}

.c-set02__cap {
  margin-top: 13px;
}

.c-set02__area-img img {
  display: block;
  margin: 0 auto;
}

@media all and (max-width: 767px) {
  .c-set02__area-img {
    margin-top: 20px;
  }
}

@media all and (min-width: 768px) {
  .c-set02 {
    margin-top: 50px;
    padding: 40px 60px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }

  .c-set02__area-txt {
    width: calc(100% - 330px);
    box-sizing: border-box;
  }

  .c-set02__area-img {
    width: 270px;
  }
}

/* c-set03
================================= */
.c-set03 {
  margin-top: 36px;
}

.c-set03__head {
  padding: 20px 10px;
  border-radius: 20px 20px 0 0;
  background: #1a2d4d url("../img/common/ico_check01.png") no-repeat right 30px center/73px;
  color: #fff;
  font-weight: 700;
  font-size: 2rem;
  text-align: center;
  line-height: var(--line_height_head);
}

.c-set03-content {
  padding: 15px 18px 20px;
  background: #fff;
  border-radius: 0 0 20px 20px;
}

.c-set03__txt {
  margin-bottom: 10px;
}

.c-set03__txt:last-child {
  margin-bottom: 0;
}

.c-set03-list {
  margin-bottom: 16px;
}

.c-set03-list:last-child {
  margin-bottom: 0;
}

.c-set03-list__item {
  position: relative;
  padding: 9px 0 7px 35px;
  border-bottom: 1px dashed rgb(var(--border));
  color: #1a2d4d;
  font-weight: 700;
}

.c-set03-list__item::before {
  box-sizing: border-box;
  position: absolute;
  top: 13px;
  left: 0;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border: 2px solid;
  border-color: #1a2d4d;
}

.c-set03-list__item::after {
  position: absolute;
  top: 12px;
  left: 6px;
  content: "";
  display: block;
  width: 14px;
  height: 5px;
  border-style: solid;
  border-width: 4px 4px 0 0;
  border-color: rgb(var(--yellow));
  transform: rotate(135deg);
}

.c-set03-list__item.has-checkbox {
  padding-left: 0;
}

.c-set03-list__item.has-checkbox::before,
.c-set03-list__item.has-checkbox::after {
  content: none;
}

.c-set03-checkbox-field {
  display: block;
}

.c-set03-checkbox-field label {
  display: block;
  cursor: pointer;
}

.c-set03-checkbox-field input {
  display: none;
}

.c-set03-checkbox-field-text {
  position: relative;
  display: inline-block;
  padding-left: 35px;
  vertical-align: top;
}

.c-set03-checkbox-field-text::before {
  box-sizing: border-box;
  position: absolute;
  top: 3px;
  left: 0;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border: 2px solid;
  border-color: #1a2d4d;
}

.c-set03-checkbox-field input:checked+.c-set03-checkbox-field-text::after {
  position: absolute;
  top: 2px;
  left: 6px;
  content: "";
  display: block;
  width: 14px;
  height: 5px;
  border-style: solid;
  border-width: 4px 4px 0 0;
  border-color: rgb(var(--yellow));
  transform: rotate(135deg);
}

@media all and (max-width: 767px) {
  .c-set03__txt.is-center-sp {
    text-align: center;
  }
}

@media all and (min-width: 768px) {
  .c-set03 {
    margin-top: 0;
  }

  .c-set03__head {
    padding: 28px 20px 30px;
    background-size: 102px;
    background-position: right 98px top -7px;
    font-size: 2.6rem;
  }

  .c-set03-content {
    padding: 32px 60px 20px;
  }

  .c-set03__txt {
    margin-bottom: 18px;
    text-align: center;
  }

  .c-set03-list {
    margin-bottom: 30px;
  }

  .c-set03-list__item:last-of-type {
    border: none;
  }

  .c-set03-list__item::before {
    top: 15px;
  }

  .c-set03-list__item::after {
    top: 14px;
  }

  .c-set03-checkbox-field-text::before {
    top: 5px;
  }

  .c-set03-checkbox-field input:checked+.c-set03-checkbox-field-text::after {
    top: 4px;
  }
}

/*  .c-single01
================================================== */
.c-single01__header {
  padding-bottom: 15px;
  margin-bottom: 30px;
  border-bottom: 1px solid #1a2d4d;
}

.c-single01__header-meta {
  display: flex;
  line-height: var(--line_height_tight);
}

.c-single01__header-date {
  margin: 0 15px 0 0;
  padding: 1px 19px 0 0;
  color: #1a2d4d;
  font-size: 1.2rem;
  border-right: 1px solid;
}

.c-single01__header-cat {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 -5px -5px 0;
  font-size: 1.3rem;
  font-weight: var(--font_weight_bold);
  color: #1a2d4d;
}

.c-single01__header-cat-item {
  margin: 0 5px 5px 0;
}

.c-single01__header-head {
  font-size: 2rem;
  line-height: var(--line_height_head);
  color: #1a2d4d;
  margin-top: 10px;
}

@media all and (min-width: 768px) {
  .c-single01__header {
    padding-bottom: 20px;
    margin-bottom: 40px;
  }

  .c-single01__header-date {
    margin-right: 31px;
    padding-right: 26px;
    font-size: 1.6rem;
  }

  .c-single01__header-cat {
    font-size: 1.4rem;
  }

  .c-single01__header-head {
    font-size: 2.8rem;
    margin-top: 15px;
  }
}

/* .c-single-content
================================================== */
.c-single-content *:first-child {
  margin-top: 0;
}

.c-single-content *:last-child {
  margin-bottom: 0;
}

.c-single-content p {
  margin: 1em 0;
}

.c-single-content a {
  color: #1a2d4d;
  text-decoration: underline;
}

.c-single-content b,
.c-single-content strong {
  color: #1a2d4d;
}

.c-single-content h2 {
  margin: 30px 0;
  line-height: var(--line_height_head);
  font-size: 1.8rem;
  font-weight: var(--font_weight_bold);
  color: #1a2d4d;
  padding: 18px 18px 18px 28px;
  border: solid 1px rgb(var(--border));
  border-radius: 10px;
  position: relative;
}

.c-single-content h2::before {
  content: "";
  border-left: 3px solid;
  position: absolute;
  top: 20px;
  bottom: 20px;
  left: 18px;
}

.c-single-content h3 {
  margin: 30px 0 15px;
  line-height: var(--line_height_head);
  font-size: 1.6rem;
  font-weight: var(--font_weight_bold);
  color: #1a2d4d;
  padding-left: 10px;
  position: relative;
}

.c-single-content h3::before {
  content: "";
  border-left: 2px solid;
  position: absolute;
  top: 0.2em;
  bottom: 0.15em;
  left: 0;
}

.c-single-content ul,
.c-single-content ol {
  margin: 15px 0;
}

.c-single-content ul ::marker,
.c-single-content ol ::marker {
  color: #1a2d4d;
}

.c-single-content ol {
  list-style-type: decimal-leading-zero;
  padding-left: 2em;
}

.c-single-content ol ::marker {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}

.c-single-content .quotation,
.c-single-content blockquote {
  position: relative;
  margin: 30px 0 40px;
  padding: 70px 18px 16px;
  border-radius: 10px;
  background-color: rgb(var(--bg_blue));
}

.c-single-content .quotation::before,
.c-single-content blockquote::before {
  content: "";
  position: absolute;
  width: 40px;
  height: 34px;
  top: 20px;
  left: 18px;
  background: url(../img/column/ico_quotation01.png) no-repeat 0 100%/cover;
}

.c-single-content .quotation .src,
.c-single-content blockquote .src {
  text-align: right;
  font-size: 1.3rem;
  color: #1a2d4d;
}

.c-single-content img {
  border-radius: 20px;
}

.c-single-content .wp-caption {
  max-width: 100%;
}

@media all and (min-width: 1220px) {
  .c-single-content {
    clear: both;
  }

  .c-single-content a:hover {
    text-decoration: none;
  }

  .c-single-content h2 {
    margin: 40px 0;
    padding: 20px 20px 20px 33px;
    font-size: 2.4rem;
  }

  .c-single-content h2::before {
    left: 20px;
  }

  .c-single-content h3 {
    margin: 40px 0 15px;
    font-size: 1.9rem;
  }

  .c-single-content ul,
  .c-single-content ol {
    margin: 20px 0;
  }

  .c-single-content .quotation,
  .c-single-content blockquote {
    margin: 35px 0 60px;
    padding: 30px 30px 30px 100px;
  }

  .c-single-content .quotation::before,
  .c-single-content blockquote::before {
    top: 35px;
    left: 22px;
    width: 54px;
    height: 46px;
  }

  .c-single-content .quotation .src,
  .c-single-content blockquote .src {
    font-size: 1.6rem;
  }

  .c-single-content img.alignleft {
    float: left;
    margin-right: 40px;
  }

  .c-single-content img.alignright {
    float: right;
    margin-left: 40px;
  }

  .c-single-content img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    margin-bottom: 25px;
  }
}

/*  .c-step02
================================================== */
.c-step02 {
  margin: 0 -30px 25px;
  text-align: center;
}

.c-step02__content {
  position: relative;
  display: inline-flex;
  justify-content: center;
  overflow: hidden;
}

.c-step02__content::after {
  position: absolute;
  content: "";
  width: 172px;
  height: 3px;
  top: 50%;
  left: 50%;
  transform: translateX(-50%);
  background: url(../img/common/ico_dot02.png) no-repeat 0 100%/cover;
  mix-blend-mode: multiply;
}

.c-step02__content.is-confirm::before {
  position: absolute;
  content: "";
  width: 90px;
  height: 3px;
  background: #004190;
  top: 50%;
  left: 40px;
  z-index: 2;
}

.c-step02__content.is-complete::before {
  position: absolute;
  content: "";
  width: 180px;
  height: 3px;
  background: #004190;
  top: 50%;
  left: 40px;
  z-index: 2;
}

.c-step02__item {
  position: relative;
  z-index: 1;
  margin: 0 30px;
  padding-top: 30px;
  font-weight: 700;
  color: #A1A1A1;
  padding-top: 60px;
}

.c-step02__item::before {
  box-sizing: border-box;
  position: absolute;
  top: 30px;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  width: 30px;
  height: 30px;
  background: #EEEEEE;
  border: 10px solid #EEEEEE;
  border-radius: 50%;
}

.c-step02__item .is-num {
  position: absolute;
  width: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  font-size: 1.7rem;
}

.c-step02__item:first-child::after {
  left: 50%;
}

.c-step02__item:last-child::after {
  right: 50%;
}

.c-step02__item.is-active {
  color: #004190;
}

.c-step02__item.is-active::before {
  background: #004190;
  border-color: #D1DDEB;
}

@media all and (min-width: 768px) {
  .c-step02 {
    margin-bottom: 35px;
  }

  .c-step02__content::after {
    width: 420px;
  }

  .c-step02__content.is-confirm::before {
    width: 215px;
    height: 3px;
    left: 110px;
  }

  .c-step02__content.is-complete::before {
    width: 430px;
    height: 3px;
    left: 110px;
  }

  .c-step02__item {
    padding-top: 70px;
    margin: 0 90px;
  }

  .c-step02__item::before {
    top: 38px;
  }

  .c-step02__item .is-num {
    font-size: 1.9rem;
  }
}

/*  .mw_wp_form
================================================ */
.mw_wp_form_input .c-step02__item.is-input {
  color: #004190;
}

.mw_wp_form_input .c-step02__item.is-input::before {
  background: #004190;
  border: 10px solid #D1DDEB;
}

.mw_wp_form_confirm .c-step02__item.is-confirm,
.mw_wp_form_complete .c-step02__item.is-confirm {
  color: #004190;
}

.mw_wp_form_confirm .c-step02__item.is-confirm::before,
.mw_wp_form_complete .c-step02__item.is-confirm::before {
  background: #004190;
  border: 10px solid #D1DDEB;
}

.mw_wp_form_confirm .c-step02__content::before {
  position: absolute;
  content: "";
  width: 90px;
  height: 3px;
  background: #004190;
  top: 50%;
  left: 40px;
  z-index: 2;
}

@media all and (min-width: 768px) {
  .mw_wp_form_confirm .c-step02__content::before {
    width: 215px;
    height: 3px;
    left: 110px;
  }
}

.mw_wp_form_complete .c-step02__item.is-complete {
  color: #004190;
}

.mw_wp_form_complete .c-step02__item.is-complete::before {
  background: #004190;
  border: 10px solid #D1DDEB;
}

.mw_wp_form_complete .c-step02__content::before {
  position: absolute;
  content: "";
  width: 180px;
  height: 3px;
  background: #004190;
  top: 50%;
  left: 40px;
  z-index: 2;
}

@media all and (min-width: 768px) {
  .mw_wp_form_complete .c-step02__content::before {
    width: 430px;
    height: 3px;
    left: 110px;
  }
}

/* c-trouble01
================================= */
.c-trouble01 {
  padding: 30px 18px;
  border-radius: 20px;
  background: #fff;
  position: relative;
}

.c-trouble01::before {
  position: absolute;
  content: "";
  width: 70px;
  height: 60px;
  top: 19px;
  right: 19px;
  background: url(../img/common/bg_trouble01.png) no-repeat 0 100%/cover;
}

.c-trouble01__head {
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 700;
  margin-bottom: 30px;
  margin-left: 10px;
  position: relative;
}

.c-trouble01-list__item {
  padding: 24px 10px 24px 57px;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  border-top: solid 1px rgb(var(--border));
  position: relative;
}

.c-trouble01-list__item:last-of-type {
  border-bottom: solid 1px rgb(var(--border));
}

.c-trouble01-list__item::before {
  position: absolute;
  left: 10px;
  top: 24px;
  display: inline-block;
  width: 27px;
  height: 27px;
  vertical-align: middle;
  color: #EFB327;
  background: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 27 27"><g><path d="M25.5,8.324l-1.661,1.692a11.461,11.461,0,0,1,.543,3.485A11.243,11.243,0,0,1,13.256,24.832,11.243,11.243,0,0,1,2.129,13.5,11.243,11.243,0,0,1,13.256,2.168,10.957,10.957,0,0,1,20.59,4.992L22.1,3.453A13.065,13.065,0,0,0,13.256,0,13.379,13.379,0,0,0,0,13.5,13.38,13.38,0,0,0,13.256,27,13.379,13.379,0,0,0,26.511,13.5,13.671,13.671,0,0,0,25.5,8.324" transform="translate(0 0)" fill="currentColor"/><path d="M261.645,118.277l-12.751,12.986-4.056-4.131-2.5,2.546,6.556,6.677,15.251-15.532Z" transform="translate(-237.145 -115.696)" fill="currentColor"/></g></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 27 27"><g><path d="M25.5,8.324l-1.661,1.692a11.461,11.461,0,0,1,.543,3.485A11.243,11.243,0,0,1,13.256,24.832,11.243,11.243,0,0,1,2.129,13.5,11.243,11.243,0,0,1,13.256,2.168,10.957,10.957,0,0,1,20.59,4.992L22.1,3.453A13.065,13.065,0,0,0,13.256,0,13.379,13.379,0,0,0,0,13.5,13.38,13.38,0,0,0,13.256,27,13.379,13.379,0,0,0,26.511,13.5,13.671,13.671,0,0,0,25.5,8.324" transform="translate(0 0)" fill="currentColor"/><path d="M261.645,118.277l-12.751,12.986-4.056-4.131-2.5,2.546,6.556,6.677,15.251-15.532Z" transform="translate(-237.145 -115.696)" fill="currentColor"/></g></svg>');
  content: "";
  transition: all 0.3s ease;
}

@media all and (min-width: 768px) {
  .c-trouble01 {
    padding: 50px 60px;
    display: flex;
    flex-wrap: wrap;
  }

  .c-trouble01::before {
    width: 152px;
    height: 131px;
    top: 124px;
    right: auto;
    left: 96px;
  }

  .c-trouble01__head {
    width: calc(100% - 692px);
    margin: 0;
    font-size: 2.2rem;
  }

  .c-trouble01-list {
    width: 692px;
  }

  .c-trouble01-list__item {
    font-size: 1.8rem;
    padding: 19px 0 19px 77px;
  }

  .c-trouble01-list__item::before {
    top: 20px;
    left: 30px;
  }
}

/* .l-bottom
================================================== */
.l-bottom {
  position: relative;
}

/* .l-bottom-main
================================================== */
.l-bottom-main {
  background: linear-gradient(90deg, #1a2d4d 0%, #3789ec 100%);
  border-radius: 10px;
  position: relative;
  overflow: hidden;
}

.l-bottom-main::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url(../img/home/bg_bottom01_sp.jpg) no-repeat 0 100%/cover;
}

.l-bottom-main.has-extended-bg {
  margin-top: -232px;
}

.l-bottom-main.has-extended-bg .l-bottom-main__inner {
  padding-top: 292px;
}

.l-bottom-main__inner {
  padding-top: 60px;
  padding-bottom: 60px;
}

.l-bottom-main__opening {
  color: #fff;
}

.l-bottom-main__points {
  margin-top: 25px;
  display: flex;
  justify-content: space-between;
  line-height: var(--line_height_head);
  font-weight: var(--font_weight_bold);
  text-align: center;
  font-size: 1.3rem;
}

.l-bottom-main__points-item {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-basis: 99px;
  height: 99px;
  border-radius: 50%;
  border: 2px solid;
  box-sizing: border-box;
  background: #146ad2;
}

.l-bottom-main__points-item-ico {
  color: rgb(var(--yellow));
  margin-top: -5px;
  width: 13px;
  height: 13px;
}

.l-bottom-main__txt {
  margin-top: 15px;
}

.l-bottom-main__main {
  text-align: center;
}

.l-bottom-main__bubble {
  position: relative;
  background: rgb(var(--light_yellow));
  text-align: center;
  border-radius: 999px;
  line-height: var(--line_height_head);
  padding: 10px 10px 12px;
}

.l-bottom-main__bubble::before {
  content: "";
  width: 16px;
  height: 16px;
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: 50%;
  background: rgb(var(--light_yellow));
  transform: rotate(45deg) skew(15deg, 15deg) translate(-76%, 12%);
  border-radius: 4px;
}

.l-bottom-main__box {
  margin-top: 19px;
  background: #fff;
  border-radius: 20px;
  padding: 30px 18px;
}

.l-bottom-main__note {
  margin: 15px -18px 0;
  padding-top: 15px;
  border-top: 1px solid rgb(var(--border));
  color: #1a2d4d;
  font-size: 1.2rem;
}

@media all and (max-width: 767px) {
  .l-bottom-main__main {
    margin-top: 40px;
  }
}

@media all and (min-width: 768px) {
  .l-bottom-main {
    border-radius: 20px;
  }

  .l-bottom-main::before {
    background: url(../img/home/bg_bottom01_pc.jpg) no-repeat top center/cover;
  }

  .l-bottom-main.has-extended-bg {
    margin-top: -172px;
  }

  .l-bottom-main.has-extended-bg .l-bottom-main__inner {
    padding-top: 298px;
  }

  .l-bottom-main__inner {
    padding-top: 120px;
    padding-bottom: 140px;
    display: flex;
  }

  .l-bottom-main__opening {
    flex-basis: 50%;
    max-width: 50%;
    box-sizing: border-box;
    padding-right: 50px;
  }

  .l-bottom-main__points {
    margin-top: 35px;
    font-size: 1.5rem;
    text-align: left;
    margin: 0 -5px;
    line-height: var(--line_height_medium);
  }

  .l-bottom-main__points-item {
    justify-content: flex-start;
    flex-direction: row;
    flex-basis: calc(33.3% - 10px);
    max-width: calc(33.3% - 10px);
    height: 62px;
    margin: 0 5px;
    padding-left: 20px;
    border-radius: 999px;
  }

  .l-bottom-main__points-item-ico {
    margin: 4px 8px 0 0;
    width: 18px;
    height: 18px;
  }

  .l-bottom-main__txt {
    margin-top: 25px;
  }

  .l-bottom-main__main {
    flex-basis: 50%;
    max-width: 50%;
  }

  .l-bottom-main__bubble {
    display: inline-block;
    padding: 8px 36px 10px;
    font-size: 1.8rem;
  }

  .l-bottom-main__box {
    margin-top: 23px;
    padding: 41px 20px;
  }

  .l-bottom-main__note {
    margin: 18px -20px 0;
    font-size: 1.4rem;
  }
}

.l-bottom-main-list {
  line-height: var(--line_height_head);
  font-weight: var(--font_weight_bold);
  font-size: 1.5rem;
}

.l-bottom-main-list__item-link {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 70px;
  border-radius: 999px;
  border: 2px solid #1a2d4d;;
  color: #1a2d4d;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.l-bottom-main-list__item-link-arrow {
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  line-height: 0;
}

.l-bottom-main-list__item.is-chat .l-bottom-main-list__item-link img {
  max-width: 145px;
}

.l-bottom-main-list__item.is-mail .l-bottom-main-list__item-link {
  border-color: rgb(var(--yellow));
  background: rgb(var(--yellow));
  color: #fff;
}

.l-bottom-main-list__item.is-mail .l-bottom-main-list__item-link-ico {
  margin-right: 12px;
  width: 23px;
  height: 17px;
}

@media all and (max-width: 767px) {
  .l-bottom-main-list__item+.l-bottom-main-list__item {
    margin-top: 8px;
  }
}

@media all and (min-width: 768px) {
  .l-bottom-main-list {
    font-size: 1.6rem;
    display: flex;
    justify-content: center;
    margin: 0 -5px;
  }

  .l-bottom-main-list__item {
    flex-basis: calc(50% - 10px);
    margin: 0 5px;
  }

  .l-bottom-main-list__item-link {
    min-height: 104px;
    border-radius: 20px;
    padding-right: 19px;
  }

  .l-bottom-main-list__item-link-arrow {
    width: 10px;
    height: 15px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .l-bottom-main-list__item-link {
    transition: all 0.3s ease;
  }

  .l-bottom-main-list__item.is-chat .l-bottom-main-list__item-link:hover {
    border-color: rgb(var(--border));
    background: rgb(var(--border));
  }

  .l-bottom-main-list__item.is-mail .l-bottom-main-list__item-link:hover {
    border-color: rgb(var(--yellow));
    background: #fff;
    color: rgb(var(--yellow));
  }
}

.l-bottom-main-tel {
  margin-top: 10px;
}

.l-bottom-main-tel__link {
  line-height: var(--line_height_head);
  font-weight: var(--font_weight_bold);
  font-size: 2.2rem;
}

.l-bottom-main-tel__link-ico {
  margin-top: -3px;
  margin-right: 10px;
  line-height: 0;
  width: 16px;
  height: 16px;
}

.l-bottom-main-tel__txt {
  color: #1a2d4d;
  font-size: 1.2rem;
}

@media all and (min-width: 768px) {
  .l-bottom-main-tel {
    margin-top: 15px;
  }

  .l-bottom-main-tel__link {
    font-size: 2.8rem;
  }

  .l-bottom-main-tel__link-ico {
    width: 22px;
    height: 22px;
  }

  .l-bottom-main-tel__txt {
    font-size: 1.4rem;
  }
}

/* .l-bottom-sub
================================================== */
.l-bottom-sub__inner {
  padding-top: 40px;
  padding-bottom: 40px;
}

@media all and (min-width: 768px) {
  .l-bottom-sub__inner {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

.l-bottom-sub-list {
  line-height: var(--line_height_tight);
}

.l-bottom-sub-list__item {
  display: flex;
}

.l-bottom-sub-list__item-link {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 86px;
  padding: 10px 0;
  box-sizing: border-box;
}

.l-bottom-sub-list__item-link-img {
  width: 38px;
  height: 38px;
}

.l-bottom-sub-list__item-link-txt {
  flex-basis: calc(100% - 38px - 32px);
  padding: 0 15px;
  box-sizing: border-box;
}

.l-bottom-sub-list__item-link-txt-sub {
  font-size: 1.2rem;
  display: block;
  margin-bottom: 4px;
}

.l-bottom-sub-list__item-link-txt-main {
  display: block;
  font-weight: var(--font_weight_bold);
}

.l-bottom-sub-list__item-link-circle {
  width: 32px;
  height: 32px;
  background: rgb(var(--border));
  color: #1a2d4d;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media all and (max-width: 767px) {
  .l-bottom-sub-list {
    border-top: 1px solid rgb(var(--border));
  }

  .l-bottom-sub-list__item {
    border-bottom: 1px solid rgb(var(--border));
  }
}

@media all and (min-width: 768px) {
  .l-bottom-sub-list {
    display: flex;
    justify-content: center;
  }

  .l-bottom-sub-list__item {
    flex-basis: 33.3%;
    max-width: 33.3%;
    padding: 27px 30px;
    box-sizing: border-box;
  }

  .l-bottom-sub-list__item+.l-bottom-sub-list__item {
    border-left: 1px solid rgb(var(--border));
  }

  .l-bottom-sub-list__item-link-img {
    width: 63px;
    height: 63px;
  }

  .l-bottom-sub-list__item-link-txt {
    flex-basis: calc(100% - 63px - 50px);
    padding: 0 4.3%;
  }

  .l-bottom-sub-list__item-link-txt-sub {
    font-size: 1.3rem;
  }

  .l-bottom-sub-list__item-link-circle {
    width: 50px;
    height: 50px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .l-bottom-sub-list__item-link {
    transition: color 0.3s ease;
  }

  .l-bottom-sub-list__item-link:hover {
    color: #1a2d4d;
  }

  .l-bottom-sub-list__item-link-circle {
    transition: all 0.3s ease;
  }

  .l-bottom-sub-list__item-link:hover .l-bottom-sub-list__item-link-circle {
    color: #fff;
    background: #1a2d4d;
  }
}

/* .l-breadcrumb
================================================ */
.l-breadcrumb-list {
  display: flex;
  flex-wrap: wrap;
  padding-top: 10px;
  font-size: 1.1rem;
  line-height: var(--line_height_head);
  color: #1a2d4d;
  position: relative;
  z-index: 2;
}

.l-breadcrumb-list__ico {
  margin: -5px 10px 0 0;
}

.l-breadcrumb-list__item {
  display: inline-block;
  vertical-align: top;
}

.l-breadcrumb-list__item+.l-breadcrumb-list__item {
  margin-left: 5px;
}

.l-breadcrumb-list__item+.l-breadcrumb-list__item:before {
  content: "-";
  margin-right: 5px;
}

@media all and (max-width: 767px) {
  .l-breadcrumb-list {
    white-space: nowrap;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    overflow: auto;
  }

  .l-breadcrumb-list::-webkit-scrollbar {
    display: none;
  }
}

@media all and (min-width: 768px) {
  .l-breadcrumb-list {
    padding-top: 15px;
    font-size: 1.5rem;
  }
}

/* .l-footer
================================================ */
.l-footer {
  position: relative;
  border-radius: 10px 10px 0px 0px;
  background: url(../img/common/bg_texture01.png) repeat;
  z-index: 1;
  overflow: hidden;
}

.l-footer::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgb(var(--note));
  opacity: 0.08;
  content: "";
  z-index: -1;
}

.l-footer__inner {
  position: relative;
  padding-top: 60px;
}

@media all and (min-width: 768px) {
  .l-footer {
    border-radius: 20px 20px 0px 0px;
  }

  .l-footer__inner {
    padding-top: 127px;
    padding-bottom: 115px;
    display: flex;
    justify-content: space-between;
  }
}

.l-footer-info {
  font-size: 1.2rem;
  line-height: var(--line_height_head);
}

.l-footer-info__logo {
  width: 202px;
  line-height: var(--line_height_tight);
}

.l-footer-info__logo-link {
  position: relative;
}

.l-footer-info__logo-link-txt {
  position: absolute;
  top: -1px;
  left: 41px;
  font-size: 1rem;
  font-weight: var(--font_weight_bold);
  letter-spacing: 0.06em;
}

.l-footer-info__logo-link-img {
  display: block;
}

.l-footer-info__address {
  margin-top: 20px;
}

.l-footer-info__tel {
  margin-top: 10px;
}

@media all and (min-width: 768px) {
  .l-footer-info {
    font-size: 1.4rem;
  }

  .l-footer-info__logo {
    width: 364px;
  }

  .l-footer-info__logo-link-txt {
    top: 17px;
    left: 95px;
    font-size: 1.5rem;
  }

  .l-footer-info__address {
    margin-top: 40px;
  }

  .l-footer-info__tel {
    margin-top: 15px;
  }
}

@media all and (min-width: 768px) {
  .l-footer-nav {
    margin-top: 12px;
    line-height: var(--line_height_head);
    font-size: 1.5rem;
  }

  .l-footer-nav-list {
    display: flex;
  }

  .l-footer-nav-list__item+.l-footer-nav-list__item {
    margin-left: 70px;
  }

  .l-footer-nav-list__item-link {
    display: block;
  }

  .l-footer-nav-list__item-link+.l-footer-nav-list__item-link {
    margin-top: 8px;
  }

  .l-footer-nav-list__child,
  .l-footer-nav-list__grand {
    font-size: 1.4rem;
    color: #1a2d4d;
  }

  .l-footer-nav-list__child-item,
  .l-footer-nav-list__grand-item {
    margin-top: 8px;
  }

  .l-footer-nav-list__child-item-link,
  .l-footer-nav-list__grand-item-link {
    display: flex;
    align-items: center;
  }

  .l-footer-nav-list__child-item-link::before,
  .l-footer-nav-list__grand-item-link::before {
    display: block;
    content: "-";
    margin: -2px 5px 0 0;
  }

  .l-footer-nav-list__grand {
    margin-bottom: 14px;
  }
}

@media (hover: hover) and (pointer: fine) {

  .l-footer-nav-list__item-link,
  .l-footer-nav-list__child-item-link,
  .l-footer-nav-list__grand-item-link {
    transition: color 0.3s ease;
  }

  .l-footer-nav-list__item-link:hover,
  .l-footer-nav-list__child-item-link:hover,
  .l-footer-nav-list__grand-item-link:hover {
    color: #1a2d4d;
  }
}

/* .l-footer-sub
================================================ */
.l-footer-sub {
  font-size: 1.1rem;
  line-height: var(--line_height_head);
  color: #1a2d4d;
}

.l-footer-sub__inner {
  padding-bottom: 80px;
}

@media all and (max-width: 767px) {
  .l-footer-sub-list {
    position: relative;
    margin-top: 19px;
    padding-bottom: 100px;
  }

  .l-footer-sub-list::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 18px;
    width: 74px;
    height: 82px;
  
  }

  .l-footer-sub-list__item {
    margin-top: 6px;
  }

  .l-footer-sub__cr {
    border-top: 1px solid rgb(var(--border));
    text-align: center;
    padding-top: 25px;
    margin: 0 -30px;
  }
}

@media all and (min-width: 768px) {
  .l-footer-sub {
    border-top: 1px solid rgb(var(--border));
    font-size: 1.2rem;
  }

  .l-footer-sub__inner {
    padding-top: 40px;
    padding-bottom: 50px;
    display: flex;
    justify-content: space-between;
  }

  .l-footer-sub-list {
    display: flex;
  }

  .l-footer-sub-list__item {
    margin-right: 30px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .l-footer-sub-list__item-link {
    transition: color 0.3s ease;
  }

  .l-footer-sub-list__item-link:hover {
    color: #1a2d4d;
  }
}

/* .l-header
================================================ */
.l-header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  min-width: 320px;
  z-index: 2000;
  background: #fff;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.16);
  transition: all 0.6s ease;
}

.l-header.is-loading {
  transition: none !important;
}

.l-header.is-loading a {
  transition: none !important;
}

.l-header.is-hide {
  transform: translateY(-100%);
  opacity: 0;
}

.l-header.is-nav-open .l-header-info__logo-link {
  opacity: 0;
  pointer-events: none;
}

.l-header__inner {
  position: relative;
}

@media all and (max-width: 767px) {
  .l-header__inner {
    padding: 0;
  }
}

@media all and (min-width: 768px) {
  .l-header {
    min-width: var(--contents_width_with_padding);
  }

  .l-header__inner {
    display: flex;
    flex-wrap: wrap;
  }
}

/* .l-header-info
================================================== */
.l-header-info {
  position: relative;
  z-index: 3;
  height: 58px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.l-header-info__logo {
  width: 202px;
  line-height: var(--line_height_tight);
}

.l-header-info__logo-link {
  position: relative;
}

.l-header-info__logo-link-txt {
  position: absolute;
  top: -1px;
  left: 41px;
  font-size: 1rem;
  font-weight: var(--font_weight_bold);
  letter-spacing: 0.06em;
}

.l-header-info__logo-link-img {
  display: block;
}

@media all and (max-width: 767px) {
  .l-header-info {
    padding-left: 15px;
  }
}

@media all and (min-width: 768px) {
  .l-header-info {
    height: 88px;
  }

  .l-header-info__logo {
    width: 357px;
  }

  .l-header-info__logo-link-txt {
    top: 4px;
    left: 72px;
    font-size: 1.2rem;
  }
}

/* .l-nav-btn
================================================== */
.l-nav-btn {
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 58px;
  cursor: pointer;
}

.l-nav-btn__line {
  position: absolute;
  left: 15px;
  width: 20px;
  height: 2px;
  content: "";
  background: #1a2d4d;
  transition: all 0.3s ease;
}

.l-nav-btn__line:nth-child(1) {
  top: 20px;
}

.l-nav-btn__line:nth-child(2) {
  top: 28px;
}

.l-nav-btn__line:nth-child(3) {
  top: 36px;
}

.l-nav-btn.is-open .l-nav-btn__line:nth-child(1) {
  top: 27px;
  transform: rotate(-45deg);
}

.l-nav-btn.is-open .l-nav-btn__line:nth-child(2) {
  opacity: 0;
}

.l-nav-btn.is-open .l-nav-btn__line:nth-child(3) {
  top: 27px;
  transform: rotate(45deg);
}

/* .l-nav
================================================ */
.l-nav {
  position: absolute;
  top: 58px;
  left: 0;
  z-index: 2;
  width: 100%;
  max-height: calc(100vh - 58px);
  min-width: 320px;
  padding: 0 30px 100px;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  font-weight: var(--font_weight_bold);
}

@media all and (max-width: 767px) {
  .l-nav {
    overflow: auto;
    transition: all 0.3s ease;
    visibility: hidden;
    transform: translateY(-30px);
    opacity: 0;
    background: #fff url(../img/common/bg_nav01_sp.png) no-repeat center top/100% auto;
  }

  .l-nav::-webkit-scrollbar {
    display: none;
  }

  .l-nav.is-open {
    visibility: visible;
    transform: translateY(0);
    opacity: 1;
  }
}

@media all and (min-width: 768px) {
  .l-nav {
    position: static;
    width: 100%;
    min-width: auto;
    padding: 0;
  }
}

/* .l-nav-list
================================================== */
.l-nav-list {
  line-height: var(--line_height_tight);
}

.l-nav-list__item-trigger,
.l-nav-list__item-link {
  position: relative;
  display: flex;
  align-items: center;
  cursor: pointer;
  box-sizing: border-box;
}

.l-nav-list__item-trigger-txt,
.l-nav-list__item-link-txt {
  position: relative;
  display: flex;
  align-items: center;
}

.l-nav-list__item.is-adviser .l-nav-list__item-link-txt::before {
  display: block;
  content: "";
  width: 14px;
  height: 17px;
  background: url(../img/common/ico_adviser01.png) no-repeat left top/contain;
  margin-right: 8px;
}

.l-nav-list__child-wrap {
  display: none;
}

.l-nav-list__child-head-link {
  display: flex;
  align-items: center;
}

.l-nav-list__child-head-link-circle {
  position: relative;
  color: #fff;
  background: #1a2d4d;
  width: 17px;
  height: 17px;
  margin-left: 8px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media all and (max-width: 767px) {
  .l-nav-list__item {
    border-bottom: 1px solid rgb(var(--border));
  }

  .l-nav-list__item-trigger,
  .l-nav-list__item-link {
    min-height: 54px;
    padding: 10px 50px 10px 0;
  }

  .l-nav-list__item-trigger::before,
  .l-nav-list__item-trigger::after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    width: 16px;
    height: 0;
    border-top: 2px solid rgb(var(--note));
  }

  .l-nav-list__item-trigger::after {
    transition: transform 0.3s ease;
  }

  .l-nav-list__item-trigger:not(.is-active)::after {
    transform: rotate(90deg);
  }

  .l-nav-list__child {
    color: #1a2d4d;
  }

  .l-nav-list__child-wrap {
    border-top: 1px solid rgb(var(--border));
  }

  .l-nav-list__child-box {
    padding: 20px 0;
  }

  .l-nav-list__child-head {
    font-size: 1.6rem;
  }

  .l-nav-list__child-head-link-circle .l-nav-list__child-head-link-circle-ico {
    width: 5px;
    height: 9px;
  }

  .l-nav-list__child-item {
    margin-top: 18px;
  }

  .l-nav-list__child-item-head {
    display: none;
  }

  .l-nav-list__grand-item {
    margin-top: 10px;
  }

  .l-nav-list__grand-item-link {
    display: flex;
    align-items: center;
  }

  .l-nav-list__grand-item-link::before {
    display: block;
    content: "-";
    margin: -2px 5px 0 0;
  }
}

@media all and (min-width: 768px) {
  .l-nav-list {
    position: relative;
    display: flex;
    justify-content: center;
    font-size: 1.5rem;
  }

  .l-nav-list__item {
    position: relative;
    flex-basis: 20%;
    max-width: 20%;
  }

  .l-nav-list__item:last-of-type::after {
    position: absolute;
    top: 50%;
    right: 0;
    content: "";
    width: 0;
    height: 32px;
    margin-top: -16px;
    border-left: 1px solid rgb(var(--note));
  }

  .l-nav-list__item::before {
    position: absolute;
    top: 50%;
    left: 0;
    content: "";
    width: 0;
    height: 32px;
    margin-top: -16px;
    border-left: 1px solid rgb(var(--note));
  }

  .l-nav-list__item-trigger,
  .l-nav-list__item-link {
    justify-content: center;
    height: 72px;
  }

  .l-nav-list__item-trigger-txt,
  .l-nav-list__item-link-txt {
    padding: 10px;
  }

  .l-nav-list__item-trigger-txt::after,
  .l-nav-list__item-link-txt::after {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    border-top: 2px solid #1a2d4d;
    opacity: 0;
  }

  .l-nav-list__item-trigger-txt-ico {
    color: #1a2d4d;
    margin: 0 2px 0 12px;
    width: 6px;
    height: 10px;
    transform: rotate(90deg);
  }

  .l-nav-list__item-trigger.is-active .l-nav-list__item-trigger-txt::after {
    opacity: 1;
  }

  .l-nav-list__child {
    margin-top: -12px;
  }

  .l-nav-list__child-wrap {
    position: fixed;
    left: 0;
    right: 0;
    top: 190px;
    display: block !important;
    height: auto !important;
    overflow: visible !important;
    transition: all 0.3s ease;
  }

  .l-nav-list__child-wrap:not(.is-active) {
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-30px);
  }

  .l-nav-list__child-box {
    background: #fff;
    border-radius: 20px;
    padding: 40px 50px;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.16);
  }

  .l-nav-list__child-head {
    font-size: 2.6rem;
    padding-bottom: 30px;
  }

  .l-nav-list__child-head-link-circle {
    width: 25px;
    height: 25px;
    padding-left: 2px;
    box-sizing: border-box;
    margin-left: 20px;
    margin-bottom: -3px;
  }

  .l-nav-list__child-item {
    margin-top: 12px;
    display: flex;
    align-items: center;
  }

  .l-nav-list__child-item-head {
    font-size: 2rem;
    margin-right: 34px;
  }

  .l-nav-list__grand {
    font-size: 1.7rem;
    display: flex;
    flex-wrap: wrap;
    max-width: 460px;
  }

  .l-nav-list__child-item-head {
    display: none;
  }

  .l-nav-list__grand-item {
    margin-right: 10px;
  }

  .l-nav-list__grand-item-link {
    position: relative;
    width: 220px;
    min-height: 48px;
    border-radius: 999px;
    border: 2px solid #1a2d4d;;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }

  .l-nav-list__grand-item-link-ico {
    position: absolute;
    top: 50%;
    right: 19px;
    transform: translateY(-50%);
  }
}

@media all and (min-width: 1160px) {
  .l-nav-list__child-box {
    display: flex;
  }

  .l-nav-list__child-head {
    border-right: 1px solid rgb(var(--note));
    padding-right: 60px;
    margin-right: 60px;
  }
}

@media all and (min-width: 1220px) {
  .l-nav-list {
    font-size: 1.6rem;
  }
}

@media all and (min-width: 1420px) {
  .l-nav-list {
    font-size: 1.8rem;
  }
}

@media (hover: hover) and (pointer: fine) {

  .l-nav-list__item-trigger,
  .l-nav-list__item-link {
    transition: color 0.3s ease;
  }

  .l-nav-list__item-trigger::before,
  .l-nav-list__item-trigger::after,
  .l-nav-list__item-link::before,
  .l-nav-list__item-link::after {
    transition: all 0.3s ease;
  }

  .l-nav-list__item-trigger-txt::after,
  .l-nav-list__item-link-txt::after {
    transition: opacity 0.3s ease;
  }

  .l-nav-list__item-trigger:hover,
  .l-nav-list__item-link:hover {
    color: #1a2d4d;
  }

  .l-nav-list__item-trigger:hover::before,
  .l-nav-list__item-trigger:hover::after,
  .l-nav-list__item-link:hover::before,
  .l-nav-list__item-link:hover::after {
    border-color: #1a2d4d;
  }

  .l-nav-list__item-trigger:hover .l-nav-list__item-trigger-txt::after,
  .l-nav-list__item-trigger:hover .l-nav-list__item-link-txt::after,
  .l-nav-list__item-link:hover .l-nav-list__item-trigger-txt::after,
  .l-nav-list__item-link:hover .l-nav-list__item-link-txt::after {
    opacity: 1;
  }

  .l-nav-list__grand-item-link {
    transition: color 0.3s ease;
  }

  .l-nav-list__grand-item-link:hover {
    color: #1a2d4d;
  }
}

/* .l-nav-contact
================================================== */
.l-nav-contact {
  display: flex;
  justify-content: center;
  margin: 30px -3px 0;
}

.l-nav-contact__item {
  flex-basis: calc(50% - 6px);
  max-width: calc(50% - 6px);
  margin: 0 3px;
}

.l-nav-contact__item-link {
  width: 100%;
  height: 100%;
  min-height: 50px;
  border-radius: 999px;
  border: 2px solid #1a2d4d;;
  color: #1a2d4d;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.l-nav-contact__item-link-ico {
  line-height: 0;
}

.l-nav-contact__item.is-chat .l-nav-contact__item-link img {
  max-width: 104px;
}

.l-nav-contact__item.is-mail .l-nav-contact__item-link {
  border-color: rgb(var(--yellow));
  background: rgb(var(--yellow));
  color: #fff;
}

.l-nav-contact__item.is-mail .l-nav-contact__item-link-ico {
  margin-right: 8px;
}

@media all and (max-width: 767px) {
  .l-nav-contact.is-chat .l-nav-contact-link {
    border-color: rgb(var(--bg_gray));
    background: rgb(var(--bg_gray));
  }
}

@media all and (min-width: 768px) {
  .l-nav-contact {
    position: absolute;
    top: 23px;
    right: 0;
    margin: 0;
    min-width: 545px;
  }

  .l-nav-contact__item {
    flex-basis: 220px;
    max-width: 220px;
    margin: 0 0 0 15px;
  }

  .l-nav-contact__item.is-tel {
    flex-basis: 60px;
    max-width: 60px;
  }

  .l-nav-contact__item-link {
    min-height: 60px;
  }

  .l-nav-contact__item.is-tel .l-nav-contact__item-link-ico {
    display: flex;
    align-items: center;
  }

  .l-nav-contact__item.is-tel .l-nav-contact__item-link-ico svg {
    width: 100%;
    height: 100%;
  }

  .l-nav-contact__item.is-chat .l-nav-contact__item-link img {
    max-width: 145px;
  }

  .l-nav-contact__item.is-chat .l-nav-contact__item-link-ico {
    margin-left: 10px;
  }

  .l-nav-contact__item.is-mail .l-nav-contact__item-link {
    border-color: rgb(var(--yellow));
    background: rgb(var(--yellow));
    color: #fff;
  }

  .l-nav-contact__item.is-mail .l-nav-contact__item-link-ico {
    margin-right: 10px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .l-nav-contact__item-link {
    transition: all 0.3s ease;
  }

  .l-nav-contact__item.is-tel .l-nav-contact__item-link:hover,
  .l-nav-contact__item.is-chat .l-nav-contact__item-link:hover {
    border-color: rgb(var(--border));
    background: rgb(var(--border));
  }

  .l-nav-contact__item.is-mail .l-nav-contact__item-link:hover {
    border-color: rgb(var(--yellow));
    background: #fff;
    color: rgb(var(--yellow));
  }
}

/* .l-nav-overlay
================================================ */
.l-nav-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.25);
  z-index: 1000;
}

@media all and (min-width: 768px) {
  .l-nav-overlay {
    display: none !important;
  }
}

/* .l-ie-attention
================================================ */
.l-ie-attention {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 9999;
  font-weight: 700;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  box-sizing: border-box;
}

.l-ie-attention__txt {
  font-size: 3rem;
  margin-bottom: 18px;
}

.l-ie-attention__note {
  color: #989898;
}

.l-ie-attention__note .l-ie-attention__note-link {
  display: inline-block;
}

.l-ie-attention__note-link {
  font-size: 1.8rem;
  border-bottom: 1px solid;
  position: relative;
  margin-right: 25px;
  display: inline-block;
}

.l-ie-attention__note-link::after {
  content: "";
  position: absolute;
  right: -18px;
  top: 13px;
  width: 11px;
  height: 11px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%3E%20%3Cg%20id%3D%22link%22%20transform%3D%22translate(0.5%200.5)%22%3E%20%3Crect%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_23829%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%2023829%22%20width%3D%228%22%20height%3D%228%22%20transform%3D%22translate(3)%22%20fill%3D%22none%22%20stroke%3D%22%23989898%22%20stroke-width%3D%221%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_4323%22%20data-name%3D%22%E3%83%91%E3%82%B9%204323%22%20d%3D%22M688%2C718.025h-6v-6%22%20transform%3D%22translate(-682%20-707.025)%22%20fill%3D%22none%22%20stroke%3D%22%23989898%22%20stroke-width%3D%221%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center/100%;
}

/* .l-main-img HOME
================================================ */
.l-main-img {
  position: relative;
  /*background: url(../img/home/bg_mv01_sp.png) no-repeat center top/100% auto;*/
}

.l-main-img__open {
  position: absolute;
  top: -58px;
  left: 0;
  right: 0;
  z-index: 5;
  overflow: hidden;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
}

.l-main-img__open-top,
.l-main-img__open-bottom {
  position: absolute;
  left: 0;
  right: 0;
  background: #fff;
}

.l-main-img__open-top {
  top: 0;
  height: calc(47vh + 60px);
  height: calc(var(--vh, 1vh) * 47 + 60px);
  transition: transform 1s 1.6s;
  transform-origin: left top;
}

.l-main-img__open-bottom {
  bottom: 0;
  height: calc(53vh - 60px);
  height: calc(var(--vh, 1vh) * 53 - 60px);
  transition: transform 1s 1.6s;
  transform-origin: left bottom;
}

.l-main-img__open-line {
  position: absolute;
  top: calc(47vh + 60px);
  top: calc(var(--vh, 1vh) * 47 + 60px);
  width: 100%;
  height: 4px;
  background: url(../img/common/bg_parts_line01.png) no-repeat right top/100% 100%;
  z-index: 2;
  transition: transform 0.6s ease 0.6s, opacity 0.3s ease 1.6s;
  transform: scaleX(0);
  transform-origin: left top;
}

.l-main-img__inner {
  position: relative;
  padding-bottom: 60px;
}

.l-main-img:not(.is-start) .l-main-img-first__copy-row {
  opacity: 0;
  transform: translateY(30px);
}

.l-main-img.is-start .l-main-img__open-top {
  transform: scaleY(0);
}

.l-main-img.is-start .l-main-img__open-bottom {
  transform: scaleY(0);
}

.l-main-img.is-start .l-main-img__open-line {
  transform: scaleX(1);
  opacity: 0;
}

.l-main-img.is-opened .l-main-img__open {
  display: none;
}

.l-main-img:not(.is-opened) .l-main-img-illust__stars-item.is-item02 {
  transform: scale(0) rotate(1deg);
}

@media all and (max-width: 767px) {
  .l-main-img__fv {
    position: relative;
    height: calc(100vh - 58px);
    height: calc(var(--vh, 1vh) * 100 - 58px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}

@media all and (min-width: 768px) {
  .l-main-img {
    background-attachment: fixed;
    background-position: center 12%;
    /*background-image: url(../img/home/bg_mv01_pc.png);*/
  }

  .l-main-img__open {
    top: -160px;
    min-height: 800px;
    max-height: 1080px;
  }

  .l-main-img__open-top {
    height: 51%;
  }

  .l-main-img__open-bottom {
    bottom: 0;
    height: 49%;
  }

  .l-main-img__inner {
    position: static;
    padding-bottom: 190px;
  }

  .l-main-img__fv {
    position: static;
  }
}

.l-main-img-illust__col {
  position: relative;
}

.l-main-img-illust__col img {
  display: block;
}

.l-main-img-illust__main {
  position: relative;
}

.l-main-img-illust__stars {
  position: absolute;
  top: 0;
  left: 0;
  width: 31.0950413223%;
  height: 11.7206982544%;
}

.l-main-img-illust__stars-item {
  position: absolute;
}

.l-main-img-illust__stars-item.is-item01 {
  top: 54.2553191489%;
  left: 0;
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
  width: 8.9700996678%;
  height: 28.7234042553%;
}

.l-main-img-illust__stars-item.is-item02 {
  top: 0;
  left: 8.6378737542%;
  width: 12.6245847176%;
  height: 36.170212766%;
  transition: transform 0.4s ease;
  transition-delay: 0.9s;
}

.l-main-img-illust__stars-item.is-item03 {
  right: 0;
  bottom: 0;
  -webkit-animation-delay: 1.5s;
  animation-delay: 1.5s;
  width: 8.9700996678%;
  height: 28.7234042553%;
}

@media all and (max-width: 767px) {
  .l-main-img-illust {
    width: 100%;
    box-sizing: border-box;
    /*padding: 35px 0 0 30px;
    margin: 0 -30px -40px 0;*/
  }

  .l-main-img-illust__main {
    width: 100%;
    height: 0;
    padding-top: 82.8512396694%;
  }

  .l-main-img-illust__main img {
    position: absolute;
    bottom: 0;
    right: 0;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
}

@media all and (min-width: 768px) {
  .l-main-img-illust {
    position: absolute;
    top: -160px;
    bottom: 0;
    left: 49%;
    right: 0;
  }

  .l-main-img-illust__col {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: 0;
    max-height: 100%;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    box-sizing: border-box;
    overflow: hidden;
  }

  .l-main-img-illust__main {
    margin-right: -26.86%;
    max-height: calc(100vh - 200px);
    max-height: calc(var(--vh, 1vh) * 100 - 200px);
  }
}

.l-main-img-first {
  padding-bottom: 77px;
  box-sizing: border-box;
}

.l-main-img-first__copy {
  position: relative;
}

.l-main-img-first__copy-row {
  position: relative;
  display: block;
  z-index: 6;
  transition: all 0.6s ease;
}

.l-main-img-first__copy-row.is-row02 {
  transition-delay: 0.3s;
}

.l-main-img-first__copy-row.is-row03 {
  transition-delay: 0.6s;
  z-index: 1;
}

.l-main-img-first__copy-row img {
  display: block;
}

.l-main-img-first__img {
  width: 90%;
  margin: 18px auto 0;
  aspect-ratio: 595 / 320;
  overflow: hidden;
}

.l-main-img-first__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

@media all and (max-width: 767px) {
  .l-main-img-first {
    text-align: center;
  }

  .l-main-img-first__copy {
    text-align: center;
  }

  .l-main-img-first__copy-row img {
    height: 31px;
    margin: 0 auto;
  }

  .l-main-img-first__copy-row.is-row03 {
    margin-top: 8px;
  }

  .l-main-img-first__copy-row.is-row03 img {
    height: 14px;
  }
}

@media all and (min-width: 768px) {
  .l-main-img-first {
    max-width: 47.86%;
    min-height: 640px;
    max-height: 920px;
    height: calc(100vh - 160px);
    height: calc(var(--vh, 1vh) * 100 - 160px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding-bottom: min(7%, 104px);
  }

  .l-main-img-first__copy-row.is-row01 {
    padding-right: 11.64%;
  }

  .l-main-img-first__copy-row.is-row03 {
    margin-top: 13px;
    padding-right: 49.25%;
  }

  .l-main-img-first__img {
    width: 595px;
    margin: 54px auto 0 0;
  }
}

.l-main-img-first-bubble {
  position: relative;
  width: 282px;
  height: 159px;
}

.l-main-img-first-bubble__bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.l-main-img-first-bubble__bg img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.l-main-img-first-bubble__col {
  position: relative;
  flex-basis: calc(50% - 20px);
  max-width: calc(50% - 20px);
  margin: 0 10px;
  color: #fff;
  line-height: var(--line_height_head);
}

.l-main-img-first-bubble__col-wrap {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0 10px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  box-sizing: border-box;
  text-align: center;
}

.l-main-img-first-bubble__head {
  padding-bottom: 5px;
  font-size: 1.8rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  letter-spacing: 0.12em;
}

.l-main-img-first-bubble__list {
  margin: 10px -10px 0;
  font-size: 1rem;
  text-align: left;
  display: inline-block;
}

.l-main-img-first-bubble__list-item+.l-main-img-first-bubble__list-item {
  margin-top: 2px;
}

.l-main-img-first-bubble__list-item-ico {
  color: rgb(var(--yellow));
  vertical-align: middle;
  margin-right: 5px;
  margin-bottom: 2px;
}

.l-main-img-first-bubble__list-item-ico svg {
  width: 8px;
  height: 8px;
}

@media all and (max-width: 767px) {
  .l-main-img-first-bubble {
    margin: 23px auto 0;
  }
}

@media all and (min-width: 768px) {
  .l-main-img-first-bubble {
    margin-top: min(7%, 41px);
    width: 94%;
    height: 0;
    padding-top: 52%;
  }

  .l-main-img-first-bubble__bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
  }

  .l-main-img-first-bubble__col {
    flex-basis: calc(50% - 70px);
    max-width: calc(50% - 70px);
    margin: 0 35px;
  }

  .l-main-img-first-bubble__col-wrap {
    padding: 0 10px;
  }

  .l-main-img-first-bubble__col.is-col01 {
    transform: translateX(10px);
  }

  .l-main-img-first-bubble__col.is-col02 {
    transform: translateX(-10px);
  }

  .l-main-img-first-bubble__head {
    padding-bottom: 15px;
    font-size: 3.8rem;
  }

  .l-main-img-first-bubble__list {
    margin-top: 25px;
    font-size: 1.7rem;
  }

  .l-main-img-first-bubble__list-item-ico {
    margin-right: 10px;
    margin-bottom: 5px;
  }

  .l-main-img-first-bubble__list-item-ico svg {
    width: 18px;
    height: 18px;
  }
}

@media all and (min-width: 1420px) {
  .l-main-img-first-bubble__col-wrap {
    padding: 0 23px;
  }

  .l-main-img-first-bubble__list {
    font-size: 2.1rem;
  }
}

.l-main-img-second {
  padding-top: 50px;
  box-sizing: border-box;
}

.l-main-img-second__head {
  margin-bottom: 25px;
}

.l-main-img-second__txt {
  margin-top: 0.75em;
}

@media all and (min-width: 768px) {
  .l-main-img-second {
    padding-top: 130px;
  }

  .l-main-img-second__head {
    margin-bottom: 55px;
  }

  .l-main-img-second__txt {
    font-size: 1.9rem;
  }
}

/* .l-sub-img
================================================ */
.l-sub-img {
  position: relative;
  /*background: url(../img/common/bg_mv02_sp.png) no-repeat center top/contain;*/
}

.l-sub-img::before {
  content: "";
  position: absolute;
  height: 100%;
  max-height: 222px;
  bottom: 0;
  left: 0;
  right: 0;
  /*background: url(../img/common/bg_mv01_sp.png) no-repeat center top/cover;*/
  z-index: -1;
}

.l-sub-img__inner {
  display: flex;
  box-sizing: border-box;
}

.l-sub-img__area-img {
  border-radius: 20px;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.l-sub-img__area-img::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 65.8064516129%;
}

.l-sub-img__area-img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.l-sub-img__sub {
  display: flex;
  align-items: center;
  font-size: 1rem;
  color: rgb(var(--yellow));
  line-height: var(--line_height_tight);
}

.l-sub-img__sub::after {
  content: "";
  display: inline-block;
  border-top: 1px solid;
  width: 30px;
  margin: -1px 0 0 4px;
}

.l-sub-img__head {
  font-size: 3rem;
  font-weight: var(--font_weight_bold);
  color: #1a2d4d;
  line-height: var(--line_height_head);
}

.l-sub-img__lead {
  margin-top: 18px;
  line-height: var(--line_height_head);
}

@media all and (max-width: 767px) {
  .l-sub-img__inner {
    padding-top: 20px;
    padding-bottom: 55px;
    justify-content: flex-end;
    flex-direction: column;
    height: calc(var(--vw, 1vw) * 50.5 + 250px);
  }

  .l-sub-img__area-img {
    margin: 0 7px;
  }

  .l-sub-img__area-txt {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 135px;
    padding: 10px 0 0;
    box-sizing: border-box;
    flex-shrink: 0;
  }
}

@media all and (min-width: 768px) {
  .l-sub-img {
    /*background-image: url(../img/common/bg_mv02_pc.png);*/
    background-size: auto;
  }

  .l-sub-img::before {
    /*background-image: url(../img/common/bg_mv01_pc.png);*/
    max-height: 520px;
  }

  .l-sub-img__inner {
    padding-top: 80px;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    height: 765px;
  }

  .l-sub-img__area-img {
    flex-basis: 620px;
    max-width: 620px;
  }

  .l-sub-img__area-txt {
    flex-basis: calc(100% - 660px);
    max-width: calc(100% - 660px);
  }

  .l-sub-img__sub {
    font-size: 1.4rem;
  }

  .l-sub-img__sub::after {
    width: 69px;
    margin-left: 9px;
  }

  .l-sub-img__head {
    font-size: 5rem;
    margin-top: 3px;
  }

  .l-sub-img__lead {
    font-size: 2rem;
    margin-top: 32px;
  }
}

/* .l-sub-img.is-illust
================================================ */
.l-sub-img.is-illust .l-sub-img__area-img img {
  -o-object-fit: contain;
  object-fit: contain;
}

@media all and (max-width: 767px) {
  .l-sub-img.is-illust .l-sub-img__area-img img {
    -o-object-position: center top;
    object-position: center top;
  }
}

@media all and (min-width: 1420px) {
  .l-sub-img.is-illust .l-sub-img__area-img {
    flex-basis: 802px;
    max-width: 802px;
    margin-right: -80px;
  }

  .l-sub-img.is-illust .l-sub-img__area-txt {
    flex-basis: calc(100% - 722px);
    max-width: calc(100% - 722px);
  }
}

/* .l-sub-img.no-img
================================================ */
.l-sub-img.no-img .l-sub-img__inner {
  padding-top: 60px;
  padding-bottom: 10px;
  height: auto;
}

.l-sub-img.no-img::before {
  content: "";
  position: absolute;
  height: 100%;
  max-height: 155px;
  top: 35px;
  bottom: auto;
  left: 0;
  right: 0;
  background: url(../img/common/bg_mv03_sp.png) no-repeat center top/cover;
  z-index: -1;
}

@media all and (min-width: 768px) {
  .l-sub-img.no-img {
    background: none;
    overflow: hidden;
  }

  .l-sub-img.no-img .l-sub-img__inner {
    padding-top: 150px;
    padding-bottom: 390px;
  }

  .l-sub-img.no-img::before {
    top: 172px;
    width: 100%;
    height: 410px;
    max-height: 410px;
    background: url(../img/common/bg_mv03_pc.png) no-repeat center top/cover;
  }

  .l-sub-img.no-img::after {
    position: absolute;
    content: "";
    top: 35px;
    left: 50%;
    transform: translateX(-50%);
    width: 1687px;
    height: 172px;
    background: url(../img/common/bg_mv04_pc.png) no-repeat center top/cover;
  }

  .l-sub-img.no-img .l-sub-img__area-txt {
    flex-basis: 100%;
    max-width: 100%;
  }

  .l-sub-img.no-img+.l-breadcrumb {
    margin-top: -370px;
  }
}

/* .l-sidebar
================================================== */
.l-sidebar-sec__head {
  margin-bottom: 10px;
}

.l-sidebar-sec__head::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background: #1a2d4d;
  bottom: -10px;
  left: 0;
}

.l-sidebar-sec__list-link {
  padding: 15px 0;
  border-bottom: dashed 1px rgb(var(--border));
}

.l-sidebar-sec__list-arrow {
  color: #1a2d4d;
  margin-left: 15px;
}

@media all and (max-width: 767px) {
  .l-sidebar {
    padding: 0 30px 60px;
  }
}

@media all and (min-width: 1220px) {
  .l-sidebar {
    padding-bottom: 140px;
  }

  .l-sidebar-sec__head {
    margin-bottom: 18px;
  }

  .l-sidebar-sec__list-link {
    padding: 8px 0;
  }

  .l-sidebar-sec__list-arrow {
    margin-bottom: 2px;
  }
}

/* .l-sticker
================================================== */
.l-sticker {
  position: fixed;
  z-index: 3;
}

.l-sticker-list__item-link {
  border: 2px solid #1a2d4d;;
  color: #1a2d4d;
  font-weight: var(--font_weight_bold);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.l-sticker-list__item.is-chat .l-sticker-list__item-link {
  border-color: rgb(var(--bg_gray));
  background: rgb(var(--bg_gray));
}

.l-sticker-list__item.is-chat .l-sticker-list__item-link img {
  max-width: 104px;
}

.l-sticker-list__item.is-mail .l-sticker-list__item-link {
  border-color: rgb(var(--yellow));
  background: rgb(var(--yellow));
  color: #fff;
}

.l-sticker-list__item.is-mail .l-sticker-list__item-link-ico {
  margin-right: 8px;
}

@media all and (max-width: 767px) {
  .l-sticker {
    left: 15px;
    right: 15px;
    bottom: 0;
  }

  .l-sticker-list {
    display: flex;
    justify-content: center;
    margin: 30px -3px 0;
  }

  .l-sticker-list__item {
    flex-basis: calc(50% - 6px);
    max-width: calc(50% - 6px);
    margin: 0 3px;
  }

  .l-sticker-list__item-link {
    width: 100%;
    height: 100%;
    min-height: 50px;
    border-radius: 10px 10px 0 0;
    border-bottom: 0;
  }
}

@media all and (min-width: 768px) {
  .l-sticker {
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    font-size: 2rem;
    letter-spacing: var(--letter_spacing_wide);
    writing-mode: vertical-rl;
  }

  .l-sticker-list {
    display: flex;
    justify-content: center;
    margin: 30px -3px 0;
  }

  .l-sticker-list__item-link {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    width: 86px;
    padding: 30px 10px 47px;
    border-radius: 10px 0 0 10px;
  }

  .l-sticker-list__item.is-mail .l-sticker-list__item-link-ico {
    margin: 0 -1px 12px 0;
  }
}

@media (hover: hover) and (pointer: fine) {
  .l-sticker-list__item-link {
    transition: all 0.3s ease;
  }

  .l-sticker-list__item.is-chat .l-sticker-list__item-link:hover {
    border-color: rgb(var(--border));
    background: rgb(var(--border));
  }

  .l-sticker-list__item.is-mail .l-sticker-list__item-link:hover {
    border-color: rgb(var(--yellow));
    background: #fff;
    color: rgb(var(--yellow));
  }
}

.js-c-anime-elem[data-anime=fadein-up],
.js-c-anime-elem [data-anime=fadein-up] {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s ease;
}

.js-c-anime-elem.is-animated[data-anime=fadein-up],
.js-c-anime-elem.is-animated [data-anime=fadein-up] {
  opacity: 1;
  transform: translateY(0);
}

.js-c-anime-elem[data-anime-delay="0.1"],
.js-c-anime-elem [data-anime-delay="0.1"] {
  transition-delay: 0.1s;
}

.js-c-anime-elem[data-anime-delay="0.2"],
.js-c-anime-elem [data-anime-delay="0.2"] {
  transition-delay: 0.2s;
}

.js-c-anime-elem[data-anime-delay="0.3"],
.js-c-anime-elem [data-anime-delay="0.3"] {
  transition-delay: 0.3s;
}

.js-c-anime-elem[data-anime-delay="0.4"],
.js-c-anime-elem [data-anime-delay="0.4"] {
  transition-delay: 0.4s;
}

.js-c-anime-elem[data-anime-delay="0.5"],
.js-c-anime-elem [data-anime-delay="0.5"] {
  transition-delay: 0.5s;
}

.js-c-anime-elem[data-anime-delay="0.6"],
.js-c-anime-elem [data-anime-delay="0.6"] {
  transition-delay: 0.6s;
}

.js-c-anime-elem[data-anime-delay="0.7"],
.js-c-anime-elem [data-anime-delay="0.7"] {
  transition-delay: 0.7s;
}

.js-c-anime-elem[data-anime-delay="0.8"],
.js-c-anime-elem [data-anime-delay="0.8"] {
  transition-delay: 0.8s;
}

.js-c-anime-elem[data-anime-delay="0.9"],
.js-c-anime-elem [data-anime-delay="0.9"] {
  transition-delay: 0.9s;
}

.js-c-anime-elem[data-anime-delay="1"],
.js-c-anime-elem [data-anime-delay="1"] {
  transition-delay: 1s;
}

.js-c-anime-elem[data-anime-delay="1.1"],
.js-c-anime-elem [data-anime-delay="1.1"] {
  transition-delay: 1.1s;
}

.js-c-anime-elem[data-anime-delay="1.2"],
.js-c-anime-elem [data-anime-delay="1.2"] {
  transition-delay: 1.2s;
}

.js-c-anime-elem[data-anime-delay="1.3"],
.js-c-anime-elem [data-anime-delay="1.3"] {
  transition-delay: 1.3s;
}

.js-c-anime-elem[data-anime-delay="1.4"],
.js-c-anime-elem [data-anime-delay="1.4"] {
  transition-delay: 1.4s;
}

.js-c-anime-elem[data-anime-delay="1.5"],
.js-c-anime-elem [data-anime-delay="1.5"] {
  transition-delay: 1.5s;
}

.js-c-anime-elem[data-anime-delay="1.6"],
.js-c-anime-elem [data-anime-delay="1.6"] {
  transition-delay: 1.6s;
}

.js-c-anime-elem[data-anime-delay="1.7"],
.js-c-anime-elem [data-anime-delay="1.7"] {
  transition-delay: 1.7s;
}

.js-c-anime-elem[data-anime-delay="1.8"],
.js-c-anime-elem [data-anime-delay="1.8"] {
  transition-delay: 1.8s;
}

.js-c-anime-elem[data-anime-delay="1.9"],
.js-c-anime-elem [data-anime-delay="1.9"] {
  transition-delay: 1.9s;
}

.js-c-anime-elem[data-anime-delay="2"],
.js-c-anime-elem [data-anime-delay="2"] {
  transition-delay: 2s;
}

.js-c-switch-tab {
  cursor: pointer;
}

.js-c-switch-content {
  display: none;
}

.js-c-switch-content.is-active {
  display: block;
}

.js-c-toggle-trigger {
  cursor: pointer;
}

.js-c-toggle-content {
  display: none;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* .about-intro
================================================ */
.about-intro {
  background: url(../img/common/bg_sec01_sp.png) no-repeat center 55%/100% auto;
}

.about-intro__inner {
  padding-bottom: 60px;
}

.about-intro__txt+.about-intro__txt {
  margin-top: 15px;
}

@media all and (min-width: 768px) {
  .about-intro {
    background-image: url(../img/common/bg_sec01_pc.png);
    text-align: center;
  }

  .about-intro__inner {
    padding-bottom: 110px;
  }
}

/* .about-staff
================================================ */
.about-staff__inner {
  padding-top: 60px;
  padding-bottom: 60px;
}

.about-staff__area-img img {
  border-radius: 20px;
}

.about-staff__profile {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-bottom: 25px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgb(var(--border));
}

.about-staff__profile-position {
  color: #1a2d4d;
  line-height: var(--line_height_head);
}

.about-staff__profile-name {
  font-size: 2rem;
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_head);
  color: #1a2d4d;
}

.about-staff__profile-note {
  line-height: var(--line_height_head);
  color: #1a2d4d;
}

.about-staff__profile-txt {
  margin-top: 15px;
}

.about-staff__box {
  background: #fff;
  border-radius: 20px;
  padding: 18px;
}

.about-staff__box+.about-staff__subhead {
  margin-top: 20px;
}

.about-staff__dl dt {
  font-weight: var(--font_weight_bold);
  color: #1a2d4d;
}

.about-staff__dl dd+dt {
  margin-top: 8px;
}

@media all and (max-width: 767px) {
  .about-staff__profile {
    margin-top: 20px;
    text-align: center;
  }

  .about-staff__profile-position {
    padding-top: 2px;
    margin-right: 20px;
  }

  .about-staff__profile-note {
    margin-top: 3px;
    width: 100%;
  }
}

@media all and (min-width: 768px) {
  .about-staff__inner {
    padding-top: 100px;
    padding-bottom: 120px;
  }

  .about-staff__area {
    display: flex;
    justify-content: space-between;
  }

  .about-staff__area-img {
    flex-basis: calc(100% - 630px);
    min-width: calc(100% - 630px);
  }

  .about-staff__area-txt {
    flex-basis: 550px;
    max-width: 550px;
  }

  .about-staff__profile {
    justify-content: flex-start;
    margin-bottom: 40px;
    padding-bottom: 40px;
  }

  .about-staff__profile-position {
    width: 100%;
  }

  .about-staff__profile-name {
    font-size: 2.6rem;
    margin-right: 25px;
  }

  .about-staff__profile-txt {
    margin-top: 20px;
  }

  .about-staff__box {
    padding: 25px 30px;
  }

  .about-staff__box+.about-staff__subhead {
    margin-top: 30px;
  }

  .about-staff__dl dd+dt {
    margin-top: 12px;
  }
}

/* .about-greeting
================================================ */
.about-greeting {
  overflow: hidden;
}

.about-greeting__inner {
  padding-top: 60px;
  padding-bottom: 60px;
}

.about-greeting__area-img img {
  border-radius: 20px;
}

.about-greeting__txt+.about-greeting__txt {
  margin-top: 1em;
}

.about-greeting__name {
  margin-top: 40px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.about-greeting__name-position {
  margin-right: 20px;
  font-weight: var(--font_weight_bold);
}

.about-greeting__name-autograph {
  flex-basis: 142px;
  max-width: 142px;
}

@media all and (max-width: 767px) {
  .about-greeting__area-img {
    margin-bottom: 20px;
  }
}

@media all and (min-width: 768px) {
  .about-greeting__inner {
    padding-top: 164px;
    padding-bottom: 120px;
  }

  .about-greeting__area {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
  }

  .about-greeting__area-img {
    flex-basis: calc(100% - 630px);
    min-width: calc(100% - 630px);
  }

  .about-greeting__area-txt {
    flex-basis: 550px;
    max-width: 550px;
  }
}

@media all and (min-width: 1420px) {
  .about-greeting__area {
    margin-right: calc(650px - 50vw);
    margin-right: calc(650px - var(--vw, 1vw) * 50);
  }
}

/* .about-office
================================================ */
.about-office__inner {
  padding-top: 60px;
  padding-bottom: 60px;
}

.about-office__table table {
  text-align: left;
}

.about-office__table table th,
.about-office__table table td {
  box-sizing: border-box;
}

.about-office__table table th {
  font-weight: var(--font_weight_bold);
  color: #1a2d4d;
}

.about-office__table table td {
  border-bottom: 1px solid rgb(var(--border));
}

.about-office__certification {
  display: flex;
  justify-content: space-between;
}

.about-office__certification-img {
  margin-top: 5px;
  width: 46px;
  height: 46px;
}

.about-office__box {
  position: relative;
  margin-top: 30px;
  background: #fff;
  border-radius: 20px;
  padding: 40px 18px 30px;
}

.about-office__box-img {
  margin: 10px 0 0 auto;
  width: 90px;
}

.about-office__box-note {
  margin-top: 10px;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  color: #1a2d4d;
}

@media all and (max-width: 767px) {

  .about-office__table table,
  .about-office__table thead,
  .about-office__table tbody,
  .about-office__table tr,
  .about-office__table th,
  .about-office__table td {
    display: block;
  }

  .about-office__table th {
    width: 100%;
    padding: 20px 0 0 0;
    border-bottom: none;
  }

  .about-office__table td {
    position: relative;
    padding: 5px 0 15px 0;
  }

  .about-office__table td::after {
    position: absolute;
    bottom: -1px;
    left: 0;
    content: "";
    width: 134px;
    height: 0;
    border-top: 1px solid #1a2d4d;
  }
}

@media all and (min-width: 768px) {
  .about-office__inner {
    padding-top: 100px;
    padding-bottom: 120px;
  }

  .about-office__table {
    flex-basis: calc(50% - 15px);
    max-width: calc(50% - 15px);
  }

  .about-office__table-wrap {
    display: flex;
    justify-content: space-between;
  }

  .about-office__table table tr:first-of-type th,
  .about-office__table table tr:first-of-type td {
    padding-top: 0;
  }

  .about-office__table table th,
  .about-office__table table td {
    padding: 28px 10px;
  }

  .about-office__table table th {
    width: 134px;
    vertical-align: middle;
    border-bottom: 1px solid;
  }

  .about-office__certification-img {
    width: 54px;
    height: 54px;
  }

  .about-office__box {
    margin-top: 60px;
    padding: 40px 390px 40px 60px;
    position: relative;
  }

  .about-office__box-img {
    position: absolute;
    top: 58px;
    right: 106px;
    margin: 0;
    width: 205px;
  }

  .about-office__box-note {
    font-size: 1.4rem;
    position: absolute;
    bottom: 10px;
    right: 15px;
  }
}

.about-office-environment {
  margin-top: 40px;
}

.about-office-environment__first-head {
  position: relative;
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_head);
  color: #1a2d4d;
  font-size: 2rem;
}

.about-office-environment__first-head::before {
  content: "";
  position: absolute;
  top: -25px;
  left: -19px;
  width: 289px;
  height: 104px;
  
}

.about-office-environment__first-img {
  width: 109px;
}

.about-office-environment__col-img img {
  display: block;
  width: 100%;
  aspect-ratio: 340 / 225;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 20px;
}

.about-office-environment__col-head {
  margin-top: 18px;
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_head);
  color: #1a2d4d;
  font-size: 1.6rem;
  text-align: center;
}

.about-office-environment__col-txt {
  margin-top: 12px;
}

@media all and (max-width: 767px) {
  .about-office-environment__first-img {
    margin: -37px -7px 0 auto;
  }

  .about-office-environment__col {
    margin-top: 30px;
  }
}

@media all and (min-width: 768px) {
  .about-office-environment {
    margin-top: 80px;
    display: flex;
    justify-content: space-between;
  }

  .about-office-environment__first {
    margin-right: 49px;
  }

  .about-office-environment__first-head {
    font-size: 2.6rem;
  }

  .about-office-environment__first-head::before {
    content: "";
    position: absolute;
    top: -35px;
    left: -39px;
    width: 368px;
    height: 133px;
    
  }

  .about-office-environment__first-img {
    margin: 50px 0 0 40px;
    width: 231px;
  }

  .about-office-environment__col {
    width: 340px;
  }

  .about-office-environment__col-head {
    margin-top: 12px;
    font-size: 2rem;
  }

  .about-office-environment__col-txt {
    margin-top: 20px;
  }
}

/* .about-access
================================================ */
.about-access__inner {
  padding-top: 60px;
  padding-bottom: 60px;
}

.about-access__map {
  height: 267px;
  border-radius: 20px;
  overflow: hidden;
}

.about-access__map iframe {
  width: 100%;
  height: 100%;
}

.about-access-detail {
  position: relative;
  margin-top: 15px;
}

.about-access-detail__train {
  margin-top: 15px;
  display: flex;
  align-items: center;
}

.about-access-detail__train-ico {
  width: 41px;
  height: 41px;
  margin-right: 10px;
}

.about-access-detail__train-txt {
  flex-basis: calc(100% - 51px);
  max-width: calc(100% - 51px);
}

@media all and (min-width: 768px) {
  .about-access__inner {
    padding-top: 100px;
    padding-bottom: 24px;
  }

  .about-access__map {
    height: 400px;
  }

  .about-access-detail {
    margin-top: 20px;
  }

  .about-access-detail__train {
    margin-top: 20px;
  }

  .about-access-detail__train-ico {
    width: 33px;
    height: 33px;
  }

  .about-access-detail__train-txt {
    flex-basis: calc(100% - 43px);
    max-width: calc(100% - 43px);
  }

  .about-access-detail__btn {
    position: absolute;
    top: 0;
    right: 0;
    margin-top: 0;
  }
}

/* .antisocial-info
================================================ */
.antisocial-info__inner {
  padding-bottom: 60px;
}

.antisocial-info__lead {
  margin-bottom: 35px;
}

@media all and (min-width: 768px) {
  .antisocial-info__inner {
    padding-top: 30px;
    padding-bottom: 140px;
  }

  .antisocial-info__lead {
    margin-bottom: 70px;
  }
}

/* .column-archive
================================================ */
.column-archive__inner {
  padding-bottom: 60px;
}

.column-archive__head {
  color: #1a2d4d;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.6;
  margin-bottom: 30px;
}

@media all and (min-width: 768px) {
  .column-archive__inner {
    width: 100%;
    padding-bottom: 140px;
  }

  .column-archive__head {
    font-size: 2.6rem;
    margin-bottom: 40px;
  }
}

/* .column-single
================================================ */
.column-single__inner {
  padding-bottom: 60px;
}

@media all and (min-width: 768px) {
  .column-single__inner {
    width: 100%;
    padding-bottom: 140px;
  }
}

/* .consulting-intro
================================================ */
.consulting-intro__inner {
  padding-bottom: 60px;
}

.consulting-intro__lead {
  margin-bottom: 40px;
}

@media all and (min-width: 768px) {
  .consulting-intro__inner {
    padding-bottom: 110px;
  }

  .consulting-intro__lead {
    margin-bottom: 55px;
    line-height: var(--line_height_wide);
  }
}

/* .consulting-sec
================================================ */
.consulting-sec {
  margin-bottom: 60px;
  overflow: hidden;
}

.consulting-sec:last-of-type {
  margin-bottom: 0;
}

.consulting-sec__inner {
  position: relative;
  padding-top: 60px;
  padding-bottom: 60px;
}

.consulting-sec-about {
  margin-bottom: 25px;
}

.consulting-sec-about__head {
  line-height: var(--line_height_head);
  font-size: 2.4rem;
  font-weight: var(--font_weight_bold);
  color: #1a2d4d;
  text-align: center;
  margin-bottom: 20px;
}

.consulting-sec-line {
  margin: 60px -30px;
}

@media all and (min-width: 768px) {
  .consulting-sec {
    margin-bottom: 70px;
  }

  .consulting-sec__inner {
    padding-top: 130px;
    padding-bottom: 120px;
  }

  .consulting-sec-about {
    margin-bottom: 70px;
  }

  .consulting-sec-about__head {
    font-size: 2.6rem;
  }

  .consulting-sec-about__lead {
    line-height: var(--line_height_wide);
  }

  .consulting-sec-line {
    margin: 90px -150px;
  }
}

/* .consulting-sec-detail
================================================ */
.consulting-sec-detail+.consulting-sec-detail {
  margin-top: 40px;
}

.consulting-sec-detail__box {
  margin-top: 25px;
  padding: 30px 18px;
  background: #fff;
  border-radius: 20px;
}

.consulting-sec-detail__box-head {
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
  margin-bottom: 10px;
  color: #1a2d4d;
}

.consulting-sec-detail__box-txt.has-mb {
  margin-bottom: 15px;
}

.consulting-sec-detail__txt {
  margin-top: 15px;
}

.consulting-sec-detail__list {
  background: rgb(var(--bg_blue));
  border-radius: 10px;
  padding: 15px;
}

.consulting-sec-detail__img {
  margin-top: 30px;
}

@media all and (min-width: 768px) {
  .consulting-sec-detail+.consulting-sec-detail {
    margin-top: 100px;
  }

  .consulting-sec-detail__box {
    margin-top: 45px;
    padding: 40px 60px;
  }

  .consulting-sec-detail__box-head {
    font-size: 2rem;
    margin-bottom: 15px;
  }

  .consulting-sec-detail__box-txt.has-mb {
    margin-bottom: 25px;
  }

  .consulting-sec-detail__box-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 45px;
  }

  .consulting-sec-detail__box-wrap .consulting-sec-detail__box {
    width: 530px;
    box-sizing: border-box;
    margin-top: 0;
    padding: 40px;
  }

  .consulting-sec-detail__box-wrap.is-col3-pc .consulting-sec-detail__box {
    width: 340px;
  }

  .consulting-sec-detail__txt {
    margin-top: 20px;
  }

  .consulting-sec-detail__list {
    padding: 25px 30px;
  }

  .consulting-sec-detail__img {
    margin: 50px 0 40px;
  }
}

/* .contact-intro
================================================ */
.contact-intro__inner {
  padding-bottom: 50px;
}

.contact-intro__wrap {
  padding: 42px 18px 36px;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.16);
  position: relative;
}

.contact-intro__wrap::before {
  position: absolute;
  content: "";
  top: 14px;
  left: 18px;
  display: inline-block;
  width: 10px;
  height: 10px;
  vertical-align: middle;
  color: currentColor;
  background: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10"><path fill="currentColor" d="M5.76 5.76a12.24 12.24 0 0 0 3.18-1.3 12.25 12.25 0 0 0-3.18-1.28A12.25 12.25 0 0 0 4.46 0a12.27 12.27 0 0 0-1.28 3.18A12.25 12.25 0 0 0 0 4.47a12.24 12.24 0 0 0 3.18 1.3 12.27 12.27 0 0 0 1.29 3.17 12.25 12.25 0 0 0 1.3-3.18"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10"><path fill="currentColor" d="M5.76 5.76a12.24 12.24 0 0 0 3.18-1.3 12.25 12.25 0 0 0-3.18-1.28A12.25 12.25 0 0 0 4.46 0a12.27 12.27 0 0 0-1.28 3.18A12.25 12.25 0 0 0 0 4.47a12.24 12.24 0 0 0 3.18 1.3 12.27 12.27 0 0 0 1.29 3.17 12.25 12.25 0 0 0 1.3-3.18"/></svg>');
  content: "";
  transition: all 0.3s ease;
  background: rgb(var(--yellow));
  width: 18px;
  height: 18px;
  z-index: 2;
}

.contact-intro__head {
  color: #1a2d4d;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.6;
  margin-bottom: 30px;
}

@media all and (min-width: 768px) {
  .contact-intro__inner {
    padding-bottom: 120px;
  }

  .contact-intro__wrap {
    padding: 66px 80px 60px;
    padding-right: 370px;
    position: relative;
  }

  .contact-intro__wrap::before {
    top: 40px;
    left: 80px;
  }

  .contact-intro__head {
    font-size: 2.6rem;
    margin-bottom: 20px;
  }

  .contact-intro__img {
    position: absolute;
    top: 90px;
    right: 80px;
    width: 231px;
    height: 167px;
  }
}

/* .contact-anchor
================================================ */
.contact-anchor__inner {
  padding-bottom: 60px;
}

@media all and (min-width: 768px) {
  .contact-anchor__inner {
    padding-bottom: 140px;
  }
}

/* .contact-form
================================================ */
.contact-form {
  margin-bottom: 60px;
  padding-top: 60px;
  padding-bottom: 60px;
}

.contact-form__inner {
  position: relative;
  background: #fff;
  padding: 30px 18px;
  border-radius: 10px;
  box-sizing: border-box;
}

.contact-form__head {
  padding-top: 16px;
}

.contact-form__head::before {
  position: absolute;
  content: "";
  width: 19px;
  height: 14px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background: url(../img/contact/ico_mail01.png) no-repeat 0 100%/cover;
}

@media all and (max-width: 767px) {
  .contact-form__inner {
    margin-left: 30px;
    margin-right: 30px;
  }
}

@media all and (min-width: 768px) {
  .contact-form {
    margin-bottom: 70px;
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .contact-form__inner {
    width: calc(100% - 80px);
    max-width: var(--contents_width);
    margin-right: auto;
    margin-left: auto;
    border-radius: 20px;
    padding: 60px 100px;
  }

  .contact-form__head {
    padding-top: 37px;
  }

  .contact-form__head::before {
    width: 23px;
    height: 17px;
  }
}

/* .contact-chatwork
================================================ */
.contact-chatwork {
  margin-bottom: 60px;
}

.contact-chatwork__inner {
  position: relative;
  padding-top: 60px;
  padding-bottom: 60px;
}

.contact-chatwork-sec {
  padding-bottom: 40px;
}

.contact-chatwork-sec.has-line {
  padding-top: 40px;
  padding-bottom: 0;
}

.contact-chatwork-sec__head {
  color: #1a2d4d;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.6;
  text-align: center;
  margin: 0 -10px 25px;
}

.contact-chatwork-line {
  margin: 0 -30px;
}

.contact-chatwork-step {
  background: #fff;
  border-radius: 20px;
  padding: 25px 18px;
}

.contact-chatwork-step+.contact-chatwork-step {
  margin-top: 20px;
}

.contact-chatwork-step__en {
  color: #1a2d4d;
  font-size: 1.4rem;
}

.contact-chatwork-step__head {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  color: #1a2d4d;
  padding-bottom: 10px;
  margin-bottom: 15px;
  border-bottom: solid 1px rgb(var(--border));
}

.contact-chatwork-step__btn {
  max-width: 251px;
}

.contact-chatwork-step__btn .c-btn01__link-txt {
  padding-top: 38px;
  padding-bottom: 4px;
  position: relative;
}

.contact-chatwork-step__btn .c-btn01__link-txt::before {
  position: absolute;
  content: "";
  width: 120px;
  height: 36px;
  top: 3px;
  left: 50%;
  transform: translateX(-50%);
  background: url(../img/common/logo_chatwork01.png) no-repeat 0 100%/cover;
}

@media all and (min-width: 768px) {
  .contact-chatwork {
    margin-bottom: 120px;
    overflow: hidden;
  }

  .contact-chatwork__inner {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .contact-chatwork-sec {
    padding-bottom: 80px;
  }

  .contact-chatwork-sec.has-line {
    padding-top: 80px;
    padding-bottom: 0;
  }

  .contact-chatwork-sec__head {
    font-size: 2.6rem;
  }

  .contact-chatwork-sec__txt {
    text-align: center;
  }

  .contact-chatwork-line {
    width: 1400px;
    margin: 0 -150px;
  }

  .contact-chatwork-step {
    padding: 40px 60px;
  }

  .contact-chatwork-step+.contact-chatwork-step {
    margin-top: 40px;
  }

  .contact-chatwork-step__head {
    font-size: 1.9rem;
  }

  .contact-chatwork-step__btn {
    margin-top: 30px;
    max-width: 402px;
  }

  .contact-chatwork-step__btn .c-btn01__link {
    padding: 9px 20px 10px 0;
  }

  .contact-chatwork-step__btn .c-btn01__link-txt {
    padding-left: 150px;
    padding-top: 0;
    padding-bottom: 2px;
  }

  .contact-chatwork-step__btn .c-btn01__link-txt::before {
    width: 145px;
    height: 43px;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
  }
}

/* reCAPTCHA v3ãè¡¨ç¤ºä½ç½®
================================================ */
.grecaptcha-badge {
  z-index: 9999;
}

@media all and (max-width: 767px) {
  .grecaptcha-badge {
    margin-bottom: 55px;
  }
}

/* .error-page404
================================================ */
.error-page404__inner {
  padding-top: 50px;
  padding-bottom: 50px;
}

@media all and (min-width: 768px) {
  .error-page404__inner {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}

/* .faq-anchor
================================================ */
.faq-anchor-list {
  width: min(100%, 280px);
  margin: 0 auto;
}

.faq-anchor-list__item {
  margin-bottom: 10px;
  border-radius: 50px;
  color: #fff;
  font-weight: 700;
}

.faq-anchor-list__item:last-of-type {
  margin-bottom: 0;
}

.faq-anchor-list__item-link {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  padding: 5px 30px;
  box-sizing: border-box;
  border: 2px solid #1a2d4d;
  background: #1a2d4d;
  border-radius: inherit;
}

.faq-anchor-list__item-link-ico {
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto;
  transform: rotate(90deg);
}

@media all and (min-width: 768px) {
  .faq-anchor__inner {
    padding-top: 30px;
    padding-bottom: 20px;
  }

  .faq-anchor-list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
  }

  .faq-anchor-list__item {
    width: calc((100% - 72px) / 4);
    margin: 0 24px 0 0;
    font-size: 1.7rem;
  }

  .faq-anchor-list__item:nth-of-type(4n) {
    margin-right: 0;
  }

  .faq-anchor-list__item:nth-of-type(n + 5) {
    margin-top: 24px;
  }

  .faq-anchor-list__item-link {
    height: 60px;
    padding: 5px 40px;
  }

  .faq-anchor-list__item-link-ico {
    width: 9px !important;
    height: 3px !important;
  }
}

@media (hover: hover) and (pointer: fine) {
  .faq-anchor-list__item-link {
    transition: all 0.3s ease;
  }

  .faq-anchor-list__item-link:hover {
    background: #fff;
    color: #1a2d4d;
  }
}

/* .faq-content
================================================ */
.faq-content__inner {
  padding-top: 60px;
  padding-bottom: 60px;
}

@media all and (min-width: 768px) {
  .faq-content__inner {
    padding-top: 100px;
    padding-bottom: 120px;
  }
}

/* .home-reason
================================================ */
.home-reason {
  padding-bottom: 60px;
  border-radius: 10px;
  background: linear-gradient(90deg, #1a2d4d 0%, #3789ec 100%);
  position: relative;
}

.home-reason::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 255px;
  bottom: 0;
  left: 0;
  /*background: url(../img/home/bg_reason01_sp.png) no-repeat 0 100%/cover;*/
}

@media all and (max-width: 767px) {
  .home-reason.is-active .home-reason-opening__head {
    transform: translateY(7.75em);
  }

  .home-reason.is-active .home-reason-opening__lead {
    opacity: 0;
    transform: translateY(-3em);
  }
}

@media all and (min-width: 768px) {
  .home-reason {
    padding-bottom: 113px;
    border-radius: 20px;
  }

  .home-reason::before {
    height: 394px;
    /*background: url(../img/home/bg_reason01_pc.png) no-repeat 0 100%/cover;*/
  }
}

.home-reason-opening {
  position: relative;
  padding-top: 60px;
}

.home-reason-opening__head {
  margin-bottom: 0;
}

.home-reason-opening__lead {
  color: #fff;
  box-sizing: border-box;
}

@media all and (max-width: 767px) {
  .home-reason-opening__head {
    transition: all 0.3s ease;
  }

  .home-reason-opening__lead {
    margin-top: 1em;
    height: 7.5em;
    transition: all 0.3s ease;
  }
}

@media all and (min-width: 768px) {
  .home-reason-opening {
    display: flex;
    align-items: flex-end;
    padding-top: 120px;
    padding-bottom: 50px;
  }

  .home-reason-opening__head {
    flex-basis: 419px;
    max-width: 419px;
  }

  .home-reason-opening__lead {
    flex-basis: calc(100% - 419px);
    max-width: calc(100% - 419px);
    margin-bottom: 3px;
  }
}

.home-reason-lineup {
  padding-top: 25px;
  overflow: hidden;
}

.home-reason-lineup-list {
  width: 1998px;
  display: flex;
  margin-left: 12px;
  margin-right: 30px;
}

.home-reason-lineup-list__item {
  position: relative;
  width: 315px;
  flex-basis: 315px;
  padding: 20px 18px;
  margin-left: 18px;
  box-sizing: border-box;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
}

.home-reason-lineup-list__item-ico {
  width: 119px;
  height: 119px;
  box-sizing: border-box;
  padding: 21px;
  background: rgb(var(--bg_blue));
  border-radius: 50%;
}

.home-reason-lineup-list__item-head {
  line-height: var(--line_height_tight);
}

.home-reason-lineup-list__item-head-num {
  font-size: 2.4rem;
  color: #1a2d4d;
}

.home-reason-lineup-list__item-head-en {
  font-size: 1rem;
  color: #1a2d4d;
}

.home-reason-lineup-list__item-detail-head {
  margin-bottom: 12px;
  font-size: 1.6rem;
  color: #1a2d4d;
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_head);
}

.home-reason-lineup-list__item-detail-head::after {
  display: block;
  content: "";
  width: 40px;
  border-top: 2px solid;
  margin-top: 10px;
}

@media all and (max-width: 767px) {
  .home-reason-lineup-list__item-head {
    display: flex;
    align-items: center;
  }

  .home-reason-lineup-list__item-head-en {
    margin: 1px 0 0 10px;
  }

  .home-reason-lineup-list__item-ico {
    margin: 0 auto 17px;
  }
}

@media all and (min-width: 768px) {
  .home-reason-lineup-list {
    width: 4336px;
    display: flex;
    margin-left: max(10px, calc(50vw - var(--contents_width_wide) / 2 - 58px));
  }

  .home-reason-lineup-list__item {
    width: 681px;
    flex-basis: 681px;
    margin-left: 50px;
    padding: 50px 40px 40px 60px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
  }

  .home-reason-lineup-list__item-head {
    position: absolute;
    left: 40px;
    bottom: 40px;
  }

  .home-reason-lineup-list__item-head-num {
    display: block;
    font-size: 3rem;
  }

  .home-reason-lineup-list__item-head-en {
    display: block;
    font-size: 1.4rem;
  }

  .home-reason-lineup-list__item-ico {
    flex-basis: 171px;
    width: 171px;
    height: 171px;
    padding: 30px;
    margin-bottom: 10px;
  }

  .home-reason-lineup-list__item-detail {
    align-self: flex-start;
    flex-basis: 370px;
    max-width: 370px;
  }

  .home-reason-lineup-list__item-detail-head {
    margin-bottom: 20px;
    font-size: 2.2rem;
  }

  .home-reason-lineup-list__item-detail-head::after {
    margin-top: 17px;
  }
}

/* .home-service
================================================ */
.home-service {
  position: relative;
  z-index: 1;
  background: linear-gradient(to bottom, #fff 60%, #bcdefc 75%);
  padding-bottom: 100px;
}

.home-service::before,
.home-service::after {
  position: absolute;
  content: "";
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.home-service::before {
  /*background: url(../img/home/bg_service01_sp.png) no-repeat center top/100% auto;*/
}

.home-service::after {
  /*background: url(../img/home/bg_service02_sp.png) no-repeat center bottom/100% auto;*/
}

.home-service__main {
  position: relative;
}

@media all and (min-width: 768px) {
  .home-service {
    background: linear-gradient(to bottom, #fff 35%, #bcdefc 55%);
    padding-bottom: 208px;
  }

  .home-service::before,
  .home-service::after {
    background-size: auto auto;
  }

  .home-service::before {
    /*background-image: url(../img/home/bg_service01_pc.png);*/
  }

  .home-service::after {
    /*background-image: url(../img/home/bg_service02_pc.png);*/
  }
}

.home-service-opening {
  position: relative;
  padding-top: 60px;
}

.home-service-opening__head {
  margin-bottom: 0;
}

.home-service-opening__lead {
  box-sizing: border-box;
}

@media all and (max-width: 767px) {
  .home-service-opening__lead {
    margin-top: 1em;
    margin-bottom: 1.5em;
  }
}

@media all and (min-width: 768px) {
  .home-service-opening {
    display: flex;
    align-items: flex-end;
    padding-top: 140px;
    padding-bottom: 50px;
  }

  .home-service-opening__head {
    flex-basis: 419px;
    max-width: 419px;
  }

  .home-service-opening__lead {
    flex-basis: calc(100% - 419px);
    max-width: calc(100% - 419px);
    margin-bottom: 3px;
  }
}

.home-service-main__section {
  margin-top: 25px;
  padding: 18px 18px 20px;
  border-top: 4px solid;
  border-radius: 0px 0px 20px 20px;
  background: #fff;
  box-sizing: border-box;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
}

.home-service-main__section.is-section01 {
  border-color: #1a2d4d;
}

.home-service-main__section.is-section01 .home-service-main__head-main {
  color: #1a2d4d;
}

.home-service-main__section.is-section01 .home-service-main__outline-item::before {
  background: #1a2d4d;
}

.home-service-main__section.is-section02 {
  border-color: rgb(var(--yellow));
}

.home-service-main__section.is-section02 .home-service-main__head-main {
  color: rgb(var(--yellow));
}

.home-service-main__section.is-section02 .home-service-main__outline-item::before {
  background: rgb(var(--yellow));
}

.home-service-main__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 12px;
  line-height: var(--line_height_head);
}

.home-service-main__head-main {
  font-size: 2rem;
  font-weight: var(--font_weight_bold);
  margin-right: 8px;
}

.home-service-main__head-sub {
  margin-top: 1px;
  font-size: 1rem;
  color: rgb(var(--border));
}

.home-service-main__outline {
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_head);
}

.home-service-main__outline-item {
  position: relative;
  padding-left: 11px;
}

.home-service-main__outline-item::before {
  content: "";
  position: absolute;
  top: 0.65em;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
}

.home-service-main__item {
  margin-top: 18px;
}

.home-service-main__item+.home-service-main__item {
  padding-top: 20px;
  border-top: 1px solid rgb(var(--border));
}

.home-service-main__item-btn {
  margin-top: 0;
}

.home-service-main__item-txt {
  margin-top: 10px;
}

.home-service-main__item-img {
  margin: 10px auto 0;
  padding: 0 12px;
}

@media all and (min-width: 768px) {
  .home-service-main__section {
    flex-basis: calc(50% - 50px);
    max-width: calc(50% - 50px);
    margin: 60px 25px 0;
    padding: 32px 40px 45px;
  }

  .home-service-main__section-wrap {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -25px;
  }

  .home-service-main__head {
    margin-bottom: 13px;
  }

  .home-service-main__head-main {
    font-size: 3.4rem;
    margin-right: 20px;
  }

  .home-service-main__head-sub {
    margin-top: 3px;
    font-size: 1.4rem;
  }

  .home-service-main__outline {
    font-size: 1.8rem;
  }

  .home-service-main__outline-item {
    margin-top: 2px;
    padding-left: 17px;
  }

  .home-service-main__outline-item::before {
    top: 0.65em;
    width: 7px;
    height: 7px;
  }

  .home-service-main__item {
    margin-top: 25px;
    padding: 0 20px;
  }

  .home-service-main__item+.home-service-main__item {
    padding-top: 30px;
  }

  .home-service-main__item-btn {
    margin-top: 0;
  }

  .home-service-main__item-txt {
    margin-top: 12px;
  }

  .home-service-main__item-img {
    padding: 0 7px;
  }
}

.home-service-search {
  margin-top: 40px;
  padding-top: 40px;
  padding-bottom: 40px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
}

.home-service-search-list {
  line-height: var(--line_height_head);
  font-weight: var(--font_weight_bold);
  font-size: 1.5rem;
  color: #fff;
}

.home-service-search-list__item {
  box-sizing: border-box;
}

.home-service-search-list__item-link {
  min-height: 84px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 21px 18px 21px 27px;
  background: rgb(var(--blue));
  box-sizing: border-box;
}

.home-service-search-list__item-link-img {
  flex-basis: 30px;
  width: 30px;
  height: 30px;
}

.home-service-search-list__item-link-txt {
  flex-basis: calc(100% - 37px);
  padding: 0 27px 0 19px;
  box-sizing: border-box;
}

.home-service-search-list__item-link-ico {
  flex-basis: 7px;
}

@media all and (max-width: 767px) {
  .home-service-search-list {
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
    margin-top: 20px;
    border-radius: 20px;
    overflow: hidden;
    background: rgb(var(--blue));
    padding: 10px 0;
  }

  .home-service-search-list__item+.home-service-search-list__item {
    border-top: 1px solid;
  }
}

@media all and (min-width: 768px) {
  .home-service-search {
    margin-top: 100px;
    padding-top: 88px;
    padding-bottom: 110px;
    border-radius: 20px;
  }

  .home-service-search__inner {
    position: relative;
    width: calc(100% - 80px);
    max-width: var(--contents_width);
    margin-right: auto;
    margin-left: auto;
  }

  .home-service-search__head {
    margin-bottom: 42px;
  }

  .home-service-search-list {
    font-size: 1.8rem;
    display: flex;
    flex-wrap: wrap;
    margin: -6px -5px 0;
  }

  .home-service-search-list__item {
    flex-basis: calc(50% - 10px);
    max-width: calc(50% - 10px);
    margin: 6px 5px 0;
  }

  .home-service-search-list__item-link {
    height: 100%;
    min-height: 100px;
    padding: 22px 30px 22px 36px;
    border-radius: 10px;
  }

  .home-service-search-list__item-link-img {
    flex-basis: 46px;
    width: 46px;
    height: 46px;
  }

  .home-service-search-list__item-link-txt {
    flex-basis: calc(100% - 53px);
    padding: 0 26px;
  }

  .home-service-search__btn {
    margin-top: 0;
    position: absolute;
    top: 26px;
    right: 0;
  }
}

@media (hover: hover) and (pointer: fine) {
  .home-service-search-list__item-link {
    transition: all 0.3s ease;
  }

  .home-service-search-list__item-link:hover {
    background: #1a2d4d;
  }
}

/* .home-about
================================================ */
.home-about__inner {
  padding-top: 60px;
  padding-bottom: 25px;
}

.home-about__copy {
  line-height: var(--line_height_head);
  font-weight: var(--font_weight_bold);
  color: #1a2d4d;
  font-size: 1.8rem;
  margin-top: 25px;
  margin-bottom: 15px;
}

.home-about__txt {
  margin-top: 0.6em;
}

.home-about__gallery img {
  display: block;
  border-radius: 10px;
}

@media all and (max-width: 767px) {
  .home-about__gallery {
    margin-top: 25px;
  }
}

@media all and (min-width: 768px) {
  .home-about__inner {
    padding-top: 160px;
    padding-bottom: 70px;
    display: flex;
    flex-wrap: wrap;
  }

  .home-about__copy {
    font-size: 2.4rem;
    margin-top: 60px;
    margin-bottom: 35px;
  }

  .home-about__txt {
    font-size: 1.8rem;
    margin-top: 0.7em;
    line-height: 2.4;
  }

  .home-about__main {
    flex-basis: 50%;
    max-width: 50%;
    box-sizing: border-box;
    padding-right: 60px;
  }

  .home-about__gallery {
    flex-basis: 50%;
    max-width: 50%;
  }
}

.home-about-slider {
  display: flex !important;
  flex-wrap: wrap;
}

.home-about-slider__item {
  position: relative;
}

.home-about-slider__item::before {
  display: block;
  content: "";
  width: 100%;
  padding-top: 65.8571428571%;
}

.home-about-slider__item img {
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 20px;
}

.home-about-slider .slick-list {
  width: 100%;
  order: 1;
  margin-bottom: 3px;
}

.home-about-slider .slick-arrow {
  width: 0;
  height: 0;
  border-width: 4px 0 4px 6px;
  border-style: solid;
  border-color: rgba(var(--main), 0) rgba(var(--main), 0) rgba(var(--main), 0) #1a2d4d;
  overflow: hidden;
  z-index: 1;
  text-indent: -9999px;
  font-size: 0rem;
}

.home-about-slider .slick-arrow.slick-prev {
  order: 2;
  transform: scaleX(-1);
}

.home-about-slider .slick-arrow.slick-next {
  order: 4;
}

.home-about-slider .slick-dots {
  order: 3;
  display: table;
  z-index: 1;
  margin: 0 12px 0 7px;
}

.home-about-slider .slick-dots li {
  display: table-cell;
  padding-left: 5px;
}

.home-about-slider .slick-dots li.slick-active button {
  background: #1a2d4d;
}

.home-about-slider .slick-dots li button {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  overflow: hidden;
  text-indent: -9999px;
  font-size: 0rem;
  background: rgba(var(--black), 0.25);
  transition: background 0.3s ease;
}

@media all and (min-width: 768px) {
  .home-about-slider .slick-list {
    margin-bottom: 10px;
  }
}

.home-about-nav {
  margin-top: 40px;
}

.home-about-nav-list {
  border-top: 1px solid rgb(var(--border));
}

.home-about-nav-list__item {
  box-sizing: border-box;
}

.home-about-nav-list__item-btn {
  min-height: 80px;
  margin-top: 0;
}

@media all and (max-width: 767px) {
  .home-about-nav-list__item {
    border-bottom: 1px solid rgb(var(--border));
  }
}

@media all and (min-width: 768px) {
  .home-about-nav {
    margin-top: 80px;
    width: 100%;
  }

  .home-about-nav-list {
    border-bottom: 1px solid rgb(var(--border));
    display: flex;
    justify-content: center;
  }

  .home-about-nav-list__item {
    flex-basis: 33.3%;
    max-width: 33.3%;
    margin: 30px 10px;
    padding: 0 30px;
  }

  .home-about-nav-list__item+.home-about-nav-list__item {
    border-left: 1px solid rgb(var(--border));
  }

  .home-about-nav-list__item-btn {
    min-height: 100px;
  }
}

/* .home-column
================================================ */
.home-column {
  position: relative;
  padding-top: 62px;
  z-index: 2;
}

.home-column::before {
  position: absolute;
  top: 62px;
  bottom: 0;
  left: 0;
  right: 30px;
  content: "";
  border-radius: 0px 10px 10px 0px;
  background: url(../img/common/bg_texture01.png) repeat;
}

.home-column__deco {
  position: absolute;
  top: 0;
  right: 25px;
  width: 143px;
  height: 104px;
}

.home-column__inner {
  position: relative;
  padding-top: 60px;
  padding-bottom: 60px;
}

.home-column__lead {
  margin-bottom: 20px;
}

@media all and (max-width: 767px) {
  .home-column__inner {
    padding-right: 60px;
  }
}

@media all and (min-width: 768px) {
  .home-column {
    padding-top: 145px;
  }

  .home-column::before {
    top: 145px;
    right: clamp(60px, 6%, 100px);
    border-radius: 0px 20px 20px 0px;
  }

  .home-column__deco {
    right: clamp(130px, 11%, 180px);
    width: 337px;
    height: 244px;
  }

  .home-column__inner {
    padding-top: 140px;
    padding-bottom: 120px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-right: 70px;
  }

  .home-column__opening {
    flex-basis: 400px;
    max-width: 400px;
  }

  .home-column__archive {
    flex-basis: 550px;
    max-width: 550px;
  }

  .home-column__lead {
    margin-bottom: 80px;
  }

  .home-column__btn {
    position: absolute;
    bottom: 120px;
    left: 0;
  }
}

@media all and (min-width: 1420px) {
  .home-column__inner {
    padding-right: 0;
  }
}

/* .ipo-intro
================================================ */
.ipo-intro__inner {
  padding-bottom: 60px;
}

.ipo-intro__lead {
  margin-bottom: 40px;
}

@media all and (min-width: 768px) {
  .ipo-intro__inner {
    padding-bottom: 110px;
  }

  .ipo-intro__lead {
    margin-bottom: 55px;
    line-height: var(--line_height_wide);
  }
}

/* .ipo-sec
================================================ */
.ipo-sec {
  margin-bottom: 60px;
  overflow: hidden;
}

.ipo-sec:last-child {
  margin-bottom: 0;
}

.ipo-sec__inner {
  position: relative;
  padding-top: 60px;
  padding-bottom: 60px;
}

.ipo-sec-about {
  margin-bottom: 25px;
}

.ipo-sec-line {
  margin: 60px -30px;
}

@media all and (min-width: 768px) {
  .ipo-sec {
    margin-bottom: 70px;
  }

  .ipo-sec__inner {
    padding-top: 110px;
    padding-bottom: 120px;
  }

  .ipo-sec-about {
    margin-bottom: 70px;
  }

  .ipo-sec-about__lead {
    line-height: var(--line_height_wide);
  }

  .ipo-sec-line {
    margin: 90px -150px;
  }
}

/* .ipo-consulting
================================================ */
.ipo-consulting-overall__lead {
  margin-bottom: 17px;
}

.ipo-consulting-overall__caption {
  padding: 12px 5px;
  margin-bottom: 20px;
  border: 2px solid #1a2d4d;
  background: #fff;
  color: #1a2d4d;
  font-weight: 700;
  font-size: 1.6rem;
  text-align: center;
  line-height: var(--line_height_head);
}

@media all and (max-width: 767px) {
  .ipo-consulting-overall__area-img {
    margin: 0 -30px 30px 0;
    padding-right: 30px;
    overflow: auto;
  }

  .ipo-consulting-overall__area-img img {
    width: 840px;
    max-width: none;
  }
}

@media all and (min-width: 768px) {
  .ipo-consulting-overall__lead {
    margin-bottom: 47px;
    text-align: center;
  }

  .ipo-consulting-overall__caption {
    font-size: 1.9rem;
  }
}

/* .ipo-audit
================================================ */
.ipo-audit-follow {
  margin-top: 40px;
}

@media all and (min-width: 768px) {
  .ipo-audit-follow {
    margin: 35px auto 65px;
    padding-top: 13px;
    background: url("../img/service/ipo/bg_star01.png") no-repeat left 110px top 60px, url("../img/service/ipo/bg_star02.png") no-repeat right 120px top;
  }

  .ipo-audit-follow__lead {
    text-align: center;
  }
}

.ipo-audit-case {
  margin-top: 30px;
}

@media all and (min-width: 768px) {
  .ipo-audit-case {
    margin-top: 70px;
  }
}

/* .ma-intro
================================================ */
.ma-intro__inner {
  padding-bottom: 60px;
}

.ma-intro__lead {
  margin-bottom: 40px;
}

@media all and (min-width: 768px) {
  .ma-intro__inner {
    padding-bottom: 110px;
  }

  .ma-intro__lead {
    margin-bottom: 55px;
    line-height: var(--line_height_wide);
  }
}

/* .ma-sec
================================================ */
.ma-sec {
  margin-bottom: 60px;
  overflow: hidden;
}

.ma-sec:last-child {
  margin-bottom: 0;
}

.ma-sec__inner {
  position: relative;
  padding-top: 60px;
  padding-bottom: 60px;
}

.ma-sec-about {
  margin-bottom: 25px;
}

.ma-sec-line {
  margin: 60px -30px;
}

@media all and (min-width: 768px) {
  .ma-sec {
    margin-bottom: 70px;
  }

  .ma-sec__inner {
    padding-top: 130px;
    padding-bottom: 120px;
  }

  .ma-sec-about {
    margin-bottom: 70px;
  }

  .ma-sec-about__lead {
    line-height: var(--line_height_wide);
  }

  .ma-sec-line {
    margin: 90px -150px;
  }
}

/* .ma-info
================================================ */
.ma-info-step__lead {
  margin-bottom: 70px;
}

.ma-info-step-list {
  position: relative;
  z-index: 1;
}

.ma-info-step-list::before {
  content: "";
  display: block;
  width: 130px;
  height: 100%;
  background: #e1eef9;
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  margin: auto;
  z-index: -1;
}

.ma-info-step-list__item {
  margin-bottom: 30px;
  padding: 25px 18px 23px;
  border-radius: 20px;
  background: #fff;
}

.ma-info-step-list__item:last-of-type {
  margin-bottom: 0;
}

.ma-info-step-list__area-img {
  margin-bottom: 22px;
  text-align: center;
}

.ma-info-step-list__area-img img {
  border-radius: 20px;
}

.ma-info-step-list__en {
  color: #1a2d4d;
  line-height: 1.1;
}

.ma-info-step-list__head {
  margin-bottom: 13px;
  padding-bottom: 9px;
  border-bottom: 1px solid rgb(var(--border));
  color: #1a2d4d;
  font-weight: var(--font_weight_bold);
  font-size: 1.6rem;
  line-height: var(--line_height_head);
}

.ma-info-step-list__ma {
  position: relative;
  z-index: 2;
  width: 100px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: -15px auto 15px;
  border-radius: 50px;
  background: #1a2d4d;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1.1;
  text-align: center;
}

@media all and (min-width: 768px) {
  .ma-info-step__lead {
    margin-bottom: 45px;
    text-align: center;
  }

  .ma-info-step-list::before {
    right: auto;
    left: 60px;
  }

  .ma-info-step-list__item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row-reverse;
    margin-bottom: 40px;
    padding: 40px 60px;
  }

  .ma-info-step-list__area-img {
    width: 270px;
    margin: 0 0 0 60px;
  }

  .ma-info-step-list__area-txt {
    flex: 1;
  }

  .ma-info-step-list__en {
    margin-bottom: 6px;
    font-size: 1.4rem;
  }

  .ma-info-step-list__head {
    margin-bottom: 10px;
    font-size: 1.9rem;
  }

  .ma-info-step-list__ma {
    width: 106px;
    height: 34px;
    margin: -10px auto 30px 72px;
    font-size: 1.9rem;
  }
}

/* .ma-dd
================================================ */
.ma-dd-case {
  margin-top: 40px;
}

@media all and (min-width: 768px) {
  .ma-dd-case {
    margin-top: 70px;
  }
}

/* .ma-pmi
================================================ */
.ma-pmi-case {
  margin-top: 40px;
}

.ma-pmi-case-content {
  padding: 30px 18px 25px;
  border-radius: 20px;
  background: #fff;
}

.ma-pmi-case-list__item {
  display: flex;
  align-items: flex-start;
  padding: 20px 0;
  border-bottom: 1px solid rgb(var(--border));
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.625;
}

.ma-pmi-case-list__item:first-of-type {
  border-top: 1px solid rgb(var(--border));
}

.ma-pmi-case-list__num {
  width: 53px;
  margin: 0 0 0 10px;
  color: rgb(var(--yellow));
  font-size: 2.4rem;
  flex-shrink: 0;
}

.ma-pmi-case__txt {
  margin-top: 22px;
  text-align: center;
}

@media all and (min-width: 768px) {
  .ma-pmi-case {
    margin-top: 65px;
  }

  .ma-pmi-case-content {
    padding: 50px 60px 45px;
  }

  .ma-pmi-case-list__item {
    align-items: center;
    padding: 17px 0;
    font-size: 1.8rem;
  }

  .ma-pmi-case-list__num {
    width: 53px;
    margin: 3px 0 0 25px;
  }
}

/* .outsourcing-intro
================================================ */
.outsourcing-intro__inner {
  padding-bottom: 60px;
}

@media all and (min-width: 768px) {
  .outsourcing-intro__inner {
    padding-bottom: 110px;
  }

  .outsourcing-intro__lead {
    line-height: var(--line_height_wide);
  }
}

/* .outsourcing-sec
================================================ */
.outsourcing-sec {
  overflow: hidden;
}

.outsourcing-sec__inner {
  position: relative;
  padding-top: 60px;
  padding-bottom: 60px;
}

@media all and (min-width: 768px) {
  .outsourcing-sec__inner {
    padding-top: 100px;
    padding-bottom: 120px;
  }
}

/* .outsourcing-case
================================================ */
.outsourcing-case {
  margin-top: 45px;
}

.outsourcing-case-content {
  padding: 30px 18px;
  border-radius: 20px;
  background: #fff;
}

.outsourcing-case-list-wrap {
  padding: 15px 0 12px;
  border-top: 1px solid rgb(var(--border));
  border-bottom: 1px solid rgb(var(--border));
}

.outsourcing-case-list__item {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: var(--line_height_head);
}

.outsourcing-case-list__item::before {
  top: 10px;
}

.outsourcing-case-list__item+.outsourcing-case-list__item {
  margin-top: 6px;
}

.outsourcing-case__etc {
  font-size: 1.6rem;
  text-align: right;
}

@media all and (min-width: 768px) {
  .outsourcing-case {
    margin-top: 65px;
  }

  .outsourcing-case-content {
    padding: 50px 60px;
  }

  .outsourcing-case-list {
    -moz-column-count: 2;
    column-count: 2;
  }

  .outsourcing-case-list-wrap {
    padding: 20px 0 17px;
  }

  .outsourcing-case-list__item {
    width: calc(100% - 30px);
    font-size: 1.8rem;
    -moz-column-break-inside: avoid;
    break-inside: avoid;
  }

  .outsourcing-case-list__item::before {
    top: 12px;
  }

  .outsourcing-case__etc {
    margin-top: 8px;
    font-size: 1.7rem;
  }
}

/* .privacy-info
================================================ */
.privacy-info__inner {
  padding-bottom: 60px;
}

.privacy-info__lead {
  margin-bottom: 35px;
}

@media all and (min-width: 768px) {
  .privacy-info__inner {
    padding-top: 25px;
    padding-bottom: 135px;
  }

  .privacy-info__lead {
    margin-bottom: 75px;
  }
}

/* .security-info
================================================ */
.security-info__inner {
  padding-bottom: 60px;
}

.security-info__lead {
  margin-bottom: 35px;
}

@media all and (min-width: 768px) {
  .security-info__inner {
    padding-top: 30px;
    padding-bottom: 140px;
  }

  .security-info__lead {
    margin-bottom: 70px;
  }
}

.security-info-srp {
  margin: 35px -15px 0;
  padding: 20px;
  border-radius: 20px;
  background: rgb(var(--bg_blue));
}

.security-info-srp__area-img {
  width: calc(100% - 45px);
  height: 195px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 20px;
  padding: 10px 0 0;
  box-sizing: border-box;
  background: #fff;
  text-align: center;
}

.security-info-srp__area-img img {
  width: 150px;
}

.security-info-srp__head {
  margin-bottom: 10px;
  line-height: var(--line_height_head);
  font-size: 1.6rem;
  font-weight: var(--font_weight_bold);
  color: #1a2d4d;
}

@media all and (min-width: 768px) {
  .security-info-srp {
    margin: 75px auto 0;
    padding: 40px 60px;
    display: flex;
    justify-content: space-between;
  }

  .security-info-srp__area-img {
    width: 270px;
    margin: 0 60px 0 0;
  }

  .security-info-srp__area-txt {
    flex: 1;
  }

  .security-info-srp__head {
    font-size: 1.9rem;
  }
}

/* .service-section
================================================ */
.service-section+.service-section {
  margin-top: 60px;
}

#shaken,
#maintenance,
#insurance,
#bodywork {
  scroll-margin-top: 160px;
}

.service-section.is-section01 .service-section-opening__head-main,
.service-section.is-section01 .service-section-main__col-head {
  color: #1a2d4d;
}

.service-section.is-section01 .service-section-opening__outline-item::before {
  background: #1a2d4d;
}

.service-section.is-section01 .service-section-main__col {
  border-color: #1a2d4d;
}

.service-section.is-section02 .service-section-opening__head-main,
.service-section.is-section02 .service-section-main__col-head {
  color: rgb(var(--yellow));
}

.service-section.is-section02 .service-section-opening__outline-item::before {
  background: rgb(var(--yellow));
}

.service-section.is-section02 .service-section-main__col {
  border-color: rgb(var(--yellow));
}

@media all and (min-width: 768px) {
  .service-section+.service-section {
    margin-top: 120px;
  }
}

.service-section-opening {
  padding-bottom: 25px;
}

.service-section-opening__head-ico {
  display: block;
  color: rgb(var(--yellow));
}

.service-section-opening__head-main {
  font-size: 2.8rem;
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_head);
}

.service-section-opening__head-sub {
  color: rgb(var(--border));
  font-size: 1rem;
}

.service-section-opening__outline {
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_head);
}

.service-section-opening__outline-item {
  position: relative;
  padding-left: 11px;
}

.service-section-opening__outline-item::before {
  content: "";
  position: absolute;
  top: 0.6em;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
}

@media all and (max-width: 767px) {
  #shaken,
  #maintenance,
  #insurance,
  #bodywork {
    scroll-margin-top: 70px;
  }

  .service-section-opening__head-main {
    margin-right: 8px;
  }

  .service-section-opening__head-main,
  .service-section-opening__head-sub {
    display: inline-block;
  }

  .service-section-opening__outline {
    margin-top: 20px;
  }
}

@media all and (min-width: 768px) {
  #inspection-maintenance .service-section-opening__head-main {
    white-space: nowrap;
  }

  .service-section-opening {
    padding-bottom: 60px;
    display: flex;
    align-items: center;
    gap: 40px;
  }

  .service-section-opening__head {
    flex-basis: 294px;
    max-width: 294px;
  }

  .service-section-opening__head-ico {
    margin-bottom: 20px;
  }

  .service-section-opening__head-main {
    font-size: 4.6rem;
  }

  .service-section-opening__head-sub {
    margin-top: 20px;
    font-size: 1.4rem;
  }

  .service-section-opening__outline {
    font-size: 1.8rem;
    flex-basis: calc(100% - 295px);
    max-width: calc(100% - 295px);
  }

  .service-section-opening__outline-item {
    padding-left: 17px;
  }

  .service-section-opening__outline-item::before {
    top: 0.65em;
    width: 7px;
    height: 7px;
  }
}

.service-section-main__col {
  margin-top: 25px;
  padding: 25px 18px;
  border-top: 4px solid;
  border-radius: 0px 0px 20px 20px;
  background: #fff;
  box-sizing: border-box;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
}

.service-section-main__col-img {
  margin: 0 12px 20px;
  aspect-ratio: 470 / 280;
  overflow: hidden;
}

.service-section-main__col-img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.service-section-main__col-head {
  text-align: center;
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_head);
  font-size: 1.8rem;
}

.service-section-main__col-txt {
  margin-top: 15px;
}

.service-section-main__col-btn {
  margin-top: 15px;
}

@media all and (min-width: 768px) {
  .service-section-main {
    display: flex;
    justify-content: center;
  }

  .service-section-main__col {
    margin-top: 60px;
    flex-basis: calc(50% - 30px);
    max-width: calc(50% - 30px);
    padding: 40px 24px 72px;
    border-top-width: 6px;
  }

  .service-section-main__col:nth-of-type(even) {
    margin-left: 60px;
  }

  .service-section-main__col-img {
    margin: 0 0 30px;
  }

  .service-section-main__col-head {
    text-align: center;
    font-weight: var(--font_weight_bold);
    line-height: var(--line_height_head);
    font-size: 2.6rem;
  }

  .service-section-main__col-txt {
    margin: 20px 16px 0;
  }

  .service-section-main__col-btn {
    margin-top: 30px;
  }

  #support-flow .service-section-main {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 60px;
    padding-bottom: 60px;
  }

  #support-flow .service-section-main__col {
    margin-top: 60px;
    flex-basis: auto;
    max-width: none;
  }

  #support-flow .service-section-main__col:nth-of-type(even) {
    margin-left: 0;
  }

  #support-menu .service-section-main {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 60px;
  }

  #support-menu .service-section-main__col {
    margin-top: 60px;
    flex-basis: auto;
    max-width: none;
  }

  #support-menu .service-section-main__col:nth-of-type(even) {
    margin-left: 0;
  }

  #support-accident-flow .service-section-main {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 60px;
  }

  #support-accident-flow .service-section-main__col {
    margin-top: 60px;
    flex-basis: auto;
    max-width: none;
  }

  #support-accident-flow .service-section-main__col:nth-of-type(even) {
    margin-left: 0;
  }
}

/* .stock-grid / .stock-card（在庫車一覧カード・2026-09-03追加）
===================================*/
.stock-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  margin-top: 40px;
}

.stock-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-top: 4px solid #1a2d4d;
  border-radius: 0px 0px 20px 20px;
  background: #fff;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
  overflow: hidden;
  box-sizing: border-box;
}

.stock-card__img {
  aspect-ratio: 470 / 280;
  overflow: hidden;
}

.stock-card__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.stock-card__img.is-noimage {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  background: rgb(var(--bg_gray));
  color: #999;
}

.stock-card__noimage-main {
  font-size: 1.6rem;
  font-weight: var(--font_weight_bold);
  letter-spacing: 0.08em;
}

.stock-card__noimage-sub {
  font-size: 1.1rem;
}

.stock-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 20px 18px 28px;
}

.stock-card__name {
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_head);
  font-size: 1.8rem;
  color: #1a2d4d;
}

.stock-card__specs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px 12px;
  margin-top: 12px;
  padding: 10px 12px;
  background: rgb(var(--bg_gray));
  border-radius: 4px;
  font-size: 1.3rem;
}

.stock-card__spec-item {
  display: flex;
  flex-direction: column;
}

.stock-card__spec-item span {
  font-size: 1.1rem;
  color: #666;
}

.stock-card__spec-item strong {
  font-weight: var(--font_weight_bold);
}

.stock-card__price {
  margin-top: 14px;
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.stock-card__price-label {
  font-size: 1.2rem;
  color: #666;
}

.stock-card__price-value {
  font-size: 2.4rem;
  font-weight: var(--font_weight_bold);
  color: rgb(var(--yellow));
}

.stock-card__price-unit {
  font-size: 1.3rem;
  margin-left: 2px;
}

.stock-card__desc {
  margin-top: 10px;
  font-size: 1.4rem;
}

.stock-card__actions {
  margin-top: auto;
  padding-top: 18px;
  display: flex;
  gap: 10px;
}

.stock-card__btn {
  flex: 1;
  text-align: center;
  padding: 12px 8px;
  border-radius: 4px;
  font-weight: var(--font_weight_bold);
  font-size: 1.3rem;
  text-decoration: none;
}

.stock-card__btn.is-detail {
  background: rgb(var(--bg_gray));
  color: #1a2d4d;
}

.stock-card__btn.is-contact {
  background: rgb(var(--yellow));
  color: #fff;
}

@media (hover: hover) and (pointer: fine) {
  .stock-card__btn {
    transition: opacity 0.2s ease;
  }

  .stock-card__btn:hover {
    opacity: 0.8;
  }
}

@media all and (min-width: 768px) {
  .stock-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 30px;
  }
}

@media all and (min-width: 1024px) {
  .stock-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media all and (max-width: 767px) {
  .service-section-opening__head-main,
  .service-section-opening__head-sub {
    display: block;
  }

  .service-section-opening__head-sub {
    margin-top: 10px;
  }
}
