@charset "UTF-8";
/* import */
/* カラー */
/* レスポンシブ */
/*****STANDART CSS******/
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
  margin: 0;
}

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  /******SMOOTH SCROLL ANCHOR******/
}

/*****STANDART CSS******/
/* ---------common--------- */
body {
  margin: 0;
  font-family: "Poppins", YakuHanMP, "Noto Sans JP", sans-serif;
  background-color: #fcfcfc;
  color: #333;
}

.wrapper {
  overflow: hidden;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

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

a {
  transition: 0.3s;
  text-decoration: none;
  color: #000;
  cursor: pointer;
}
a:hover {
  opacity: 0.7;
}

/* パンくずリスト */
.bread {
  width: 100%;
}
.bread .inner {
  margin-bottom: 0 !important;
  padding-top: 0 !important;
}
.bread ul {
  display: flex;
}
.bread ul li {
  padding: 5px;
}
.bread ul li a {
  transition: 0.15s;
}
@media (max-width: 599px) {
  .bread ul li a {
    font-size: 14px;
  }
}
.bread ul li a:hover {
  opacity: 0.7;
}
.bread ul li:after {
  content: ">";
  margin-left: 10px;
  margin-right: 10px;
}
.bread ul li:last-child:after {
  content: "";
}

/* flex */
.row {
  display: flex;
  flex-wrap: wrap;
}

.between {
  justify-content: space-between;
}

.align_start {
  align-items: flex-start;
}

.align_center {
  align-items: center;
}

.align_end {
  align-items: flex-end;
}

.flex_center {
  justify-content: center;
}

.flex_start {
  justify-content: flex-start;
}

.flex_end {
  justify-content: flex-end;
}

.stretch {
  align-items: stretch;
}

.reverse {
  flex-direction: row-reverse;
}

.nowrap {
  flex-wrap: nowrap;
}

/* inner */
.inner {
  margin-top: 30px;
}
@media (max-width: 599px) {
  .inner {
    margin-top: 15px;
  }
}

/* display */
@media (max-width: 599px) {
  .sp_dn {
    display: none;
  }
}

.sp_db {
  display: none;
}
@media (max-width: 599px) {
  .sp_db {
    display: block;
  }
}

@media (max-width: 928px) {
  .tab_dn {
    display: none;
  }
}

.tab_db {
  display: none;
}
@media (max-width: 928px) {
  .tab_db {
    display: block;
  }
}

section {
  padding: 50px 0;
  margin: 0 auto;
  width: 100%;
  max-width: 1000px;
}
@media (max-width: 599px) {
  section {
    padding: 30px 0;
  }
}
section h2 {
  text-align: center;
  font-size: clamp(1.5rem, 2vw + 1rem, 3rem);
  font-weight: bold;
  position: relative;
}
section h2::after {
  content: "";
  display: inline-block;
  width: 380px;
  /*画像の幅*/
  height: 18px;
  /*画像の高さ*/
  background-image: url(../images/ttl_bottom.webp);
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 599px) {
  section h2::after {
    width: 50%;
  }
}
section h2 i {
  display: block;
  font-style: normal;
  color: #009cf2;
  font-size: 20px;
  font-weight: 600;
  line-height: 0;
}
@media (max-width: 599px) {
  section h2 i {
    font-size: 14px;
  }
}

.btn_bg {
  background-color: #000;
}

.top_btn {
  position: fixed;
  bottom: 10%;
  right: 5%;
  z-index: 100;
  width: 80px;
  height: 80px;
  transition: 0.3s;
  z-index: 10000;
  opacity: 0;
}
@media (max-width: 928px) {
  .top_btn {
    bottom: 60px;
    right: 10px;
  }
}
@media (max-width: 599px) {
  .top_btn {
    bottom: 80px;
    right: 10px;
  }
}
.top_btn img {
  border-radius: 3px;
  width: 100%;
  height: 100%;
}

.top_btn.active {
  opacity: 1;
}

.anker {
  margin-top: -109px;
  padding-top: 109px;
}
@media (max-width: 928px) {
  .anker {
    margin-top: -58px;
    padding-top: 58px;
  }
}

.mb_0 {
  margin-bottom: 0 !important;
}

/* 下層ページ共通 */
/* header */
header {
  position: fixed;
  background-color: #fcfcfc;
  top: 0;
  width: 100%;
  height: 110px;
  padding: 12px 0px;
  z-index: 120000;
}
@media (max-width: 928px) {
  header {
    height: auto;
    padding: 0;
  }
}
header .hdr_inner {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
}
@media (max-width: 928px) {
  header .hdr_inner {
    width: 100%;
  }
}
header .header_left {
  max-width: 240px;
  width: 100%;
}
@media (max-width: 928px) {
  header .header_left {
    width: 180px;
    margin-top: 0;
    margin-left: 5px;
  }
}
header .header_left h1 {
  z-index: 1000;
  position: relative;
}
header .header_left h1 #header_logo {
  display: block;
}
header .header_left h1 #header_logo img {
  width: 100%;
  height: auto;
}
@media (max-width: 599px) {
  header .header_left h1 #header_logo img {
    width: 90%;
    margin-bottom: 7px;
  }
}
@media (max-width: 928px) {
  header .header_center {
    display: flex;
    justify-content: space-between;
  }
}
header .header_center .header_nav .row li {
  text-align: center;
  margin-right: 30px;
}
header .header_center .header_nav .row li:last-child {
  margin-right: 10px;
}
header .header_center .header_nav .row li a {
  font-size: 14px;
  color: #333;
}
header .header_center .header_nav .row li span {
  font-size: 12px;
  color: #009cf2;
  display: block;
  margin-top: 3px;
}
header .header_center .header_nav_pc {
  min-width: 240px;
}
@media (max-width: 928px) {
  header .header_center .header_nav_pc {
    display: none;
  }
}
header .header_center .header_nav_sp {
  left: 100%;
  opacity: 0;
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #fcfcfc;
  z-index: 500;
  transition: 500ms ease-out;
  padding: 90px 0 0;
  text-align: center;
}
header .header_center .header_nav_sp .row {
  display: block;
}
header .header_center .header_nav_sp li {
  margin-bottom: 20px;
  margin-right: 0 !important;
}
header .header_center .header_nav_sp li a {
  color: #000;
  font-size: 18px;
}
header .header_center .header_nav_sp .line_contact {
  width: 60%;
  margin: 0 auto;
  display: block;
}
header .header_right div {
  margin-bottom: 10px;
}
header .header_right div img {
  max-width: 354px;
  width: 100%;
  height: auto;
  aspect-ratio: 706/67;
  -o-object-fit: contain;
     object-fit: contain;
}
header .header_right a {
  display: inline-block;
  width: 176px;
  height: 33px;
}
header .header_right a img {
  width: 100%;
  height: auto;
}
@media (max-width: 928px) {
  header .header_right {
    display: none;
  }
}
header .header_right .line_contact {
  width: 190px;
  display: table-cell;
}
header .line_contact img {
  border-radius: 10px;
  aspect-ratio: 191/50;
  width: 100%;
  height: auto;
  max-width: 191px;
}
header .hdr_sns {
  margin-top: 10px;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 928px) {
  header .hdr_sns {
    display: none;
  }
}
header .hdr_sns a {
  display: inline-block;
  margin-left: 12px;
}

.sp_tel_menu {
  display: none;
}
@media (max-width: 928px) {
  .sp_tel_menu {
    display: flex;
  }
  .sp_tel_menu img {
    width: 100%;
    max-width: 80px;
    height: auto;
    aspect-ratio: 1;
  }
}

.menu_btn {
  display: none;
}
@media (max-width: 928px) {
  .menu_btn {
    display: block;
    max-width: 52px;
    width: 100%;
    height: auto;
    position: relative;
    margin-top: 0;
    z-index: 4000;
    background-color: #003c92;
  }
  .menu_btn span {
    display: inline-block;
    height: 2px;
    width: 30px;
    background-color: #fff;
    border-radius: 10px;
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: 0.3s;
  }
  .menu_btn span:nth-child(1) {
    top: 30%;
  }
  .menu_btn span:nth-child(2) {
    top: 50%;
  }
  .menu_btn span:nth-child(3) {
    top: 70%;
  }
}

.open .menu_btn {
  z-index: 1000;
}
.open .menu_btn span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(45deg);
  top: 50% !important;
  left: 50%;
}
.open .menu_btn span:nth-child(2) {
  opacity: 0;
}
.open .menu_btn span:nth-child(3) {
  transform: translate(-50%, -50%) rotate(-45deg);
  top: 50% !important;
  left: 50%;
}

.open .header_nav_sp {
  opacity: 1 !important;
  left: 0 !important;
}

footer {
  width: 100%;
  background: rgb(0, 190, 255);
  background: linear-gradient(90deg, rgb(0, 190, 255) 0%, rgb(0, 210, 170) 100%);
  padding-bottom: 120px;
}
footer .ftr_inner {
  max-width: 1080px;
  margin: 0 auto;
}
footer .ftr_inner nav {
  padding: 20px 0;
  width: 100%;
  margin: 0 auto;
}
footer .ftr_inner nav ul {
  margin: 0 auto;
  text-align: center;
  display: flex;
  justify-content: space-evenly;
  max-width: 800px;
}
@media (max-width: 928px) {
  footer .ftr_inner nav ul {
    flex-wrap: wrap;
  }
}
footer .ftr_inner nav ul li {
  display: inline-block;
  height: 40px;
  line-height: 2.5;
}
@media (max-width: 599px) {
  footer .ftr_inner nav ul li {
    margin: 0 10px;
  }
}
footer .ftr_inner nav ul li a {
  color: #fcfcfc;
}
footer .ftr_inner .ftr_bg {
  background-color: #fcfcfc;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  padding: 20px 0;
  text-align: center;
}
footer .ftr_inner .ftr_bg .ftr_logo {
  margin: 0 auto;
  padding: 20px 0 10px;
  width: 100%;
  max-width: 234px;
}
@media (max-width: 599px) {
  footer .ftr_inner .ftr_bg .ftr_logo {
    padding: 20px 0 20px;
  }
}
footer .ftr_inner .ftr_bg .ftr_logo img {
  width: 100%;
  height: auto;
  aspect-ratio: 300/67;
}
footer .ftr_inner .ftr_bg p {
  font-size: 12px;
}
@media (max-width: 599px) {
  footer .ftr_inner .ftr_bg p {
    font-size: 11px;
  }
}
footer .ftr_inner .ftr_bg .ftr_tel_line {
  margin-top: 20px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 928px) {
  footer .ftr_inner .ftr_bg .ftr_tel_line {
    display: none;
  }
}
footer .ftr_inner .ftr_bg .ftr_tel_line a {
  display: inline-block;
  vertical-align: middle;
}
footer .ftr_inner .ftr_bg .ftr_tel_line .ftr_tel_line_o {
  margin-inline: 8px;
}
footer .ftr_inner .ftr_bg .ftr_tel_line .ftr_tel_line_o a {
  font-weight: bold;
  font-size: 32px;
}
footer .ftr_inner .ftr_bg .ftr_tel_line .ftr_tel_line_l {
  margin-inline: 8px;
}
footer .ftr_inner .ftr_bg .ftr_tel_line .ftr_tel_line_l a {
  background-color: #06C775;
  color: #fff;
  width: 224px;
  height: 48px;
  line-height: 48px;
  border-radius: 5px;
}
footer .ftr_inner .ftr_bg .ftr_tel_line .ftr_form {
  margin-inline: 8px;
}
footer .ftr_inner .ftr_bg .ftr_tel_line .ftr_form a {
  background-color: #579AEE;
  color: #fff;
  width: 224px;
  height: 48px;
  line-height: 48px;
  border-radius: 5px;
}
footer .ftr_inner .ftr_bg .ftr_sns {
  margin-top: 10px;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
footer .ftr_inner .ftr_bg .ftr_sns a {
  display: inline-block;
  margin-left: 12px;
}
footer .ftr_inner .company_list {
  max-width: 1000px;
  margin: 0 auto;
  padding-top: 20px;
  border-top: 1px solid;
  display: flex;
  align-items: center;
  padding-inline: 20px;
}
footer .ftr_inner .company_list h5 {
  width: -moz-fit-content;
  width: fit-content;
  margin-right: 20px;
}
footer .ftr_inner .company_list a {
  display: inline-block;
  font-size: 14px;
  margin-right: 16px;
}
footer .ftr_inner .copyright {
  text-align: center;
}
footer .ftr_inner .copyright a {
  color: #fcfcfc;
  font-size: 12px;
}
footer .btm_menu {
  display: none;
}
@media (max-width: 928px) {
  footer .btm_menu {
    display: flex;
    align-items: center;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 300;
    background-color: #fff;
    opacity: 0;
    transition: 0.3s;
  }
}
footer .btm_menu a {
  text-align: center;
  height: 50px;
  margin-inline: 4px;
  margin-block: 4px;
  border-radius: 10px;
}
footer .btm_menu .tel_osaka {
  flex-basis: 60%;
  background-color: #fff;
  color: #003c92;
  border: 2px solid #003c92;
  box-sizing: border-box;
  font-weight: bold;
  font-size: 1.3em;
  line-height: 48px;
}
footer .btm_menu .btm_line {
  flex-basis: 20%;
  background-color: #06C775;
  border: 2px solid #06C775;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  padding: 6px 0;
}
footer .btm_menu .btm_line i {
  font-size: 20px;
}
footer .btm_menu .btm_form {
  flex-basis: 20%;
  background-color: #F94B65;
  border: 2px solid #F94B65;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  padding: 6px 0;
}
footer .btm_menu .btm_form i {
  font-size: 20px;
}
footer .btm_menu.active {
  opacity: 1;
}

/* top */
.mv {
  position: relative;
  margin-top: 110px;
}
@media (max-width: 928px) {
  .mv {
    margin-top: 60px;
  }
}
@media (max-width: 599px) {
  .mv {
    margin-top: 40px;
  }
}
.mv img {
  width: 100%;
  height: auto;
  aspect-ratio: 640/209;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 599px) {
  .mv img {
    width: 100%;
    height: auto;
    aspect-ratio: 4/5;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

@media (max-width: 928px) {
  .purchase .inner {
    width: 90%;
    margin: 0 auto;
  }
}
.purchase .inner .subttle {
  text-align: center;
  margin-bottom: 20px;
}
@media (max-width: 928px) {
  .purchase .inner .subttle {
    margin-top: 30px;
  }
}
.purchase .inner .subttle img {
  width: 100%;
  height: auto;
  aspect-ratio: 1091/93;
}
@media (max-width: 599px) {
  .purchase .inner .subttle img {
    aspect-ratio: 200/51;
  }
}
.purchase .inner .subttle p {
  font-size: 28px;
  margin-top: -30px;
}
@media (max-width: 928px) {
  .purchase .inner .subttle p {
    font-size: 20px;
  }
}
@media (max-width: 599px) {
  .purchase .inner .subttle p {
    font-size: 16px;
    margin-top: -10px;
  }
}
.purchase .inner .purchase_goods {
  position: relative;
  border: 2px solid #003c80;
  padding-bottom: 25px;
}
.purchase .inner .purchase_goods span {
  position: absolute;
  bottom: 5px;
  right: 30px;
}
.purchase .inner .purchase_goods h3 {
  background-color: #003c80;
  color: #ffff00;
  font-size: 48px;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 599px) {
  .purchase .inner .purchase_goods h3 {
    font-size: 28px;
  }
}
.purchase .inner .purchase_goods .purchase_box {
  width: 100%;
  max-width: 240px;
  padding: 10px;
}
@media (max-width: 928px) {
  .purchase .inner .purchase_goods .purchase_box {
    width: 50%;
    max-width: -moz-fit-content;
    max-width: fit-content;
  }
}
.purchase .inner .purchase_goods .purchase_box p {
  text-align: center;
  color: #003c80;
  font-size: 24px;
  font-weight: bold;
}
@media (max-width: 599px) {
  .purchase .inner .purchase_goods .purchase_box p {
    font-size: 18px;
  }
}
.purchase .inner .purchase_goods .purchase_box img {
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
}

.purchase_list .bg_purchase_list {
  background-color: #d0eaff;
  margin: 0 calc(50% - 50vw) -50px;
  padding: 60px 0 150px;
}
@media (max-width: 599px) {
  .purchase_list .bg_purchase_list {
    background-image: url(../images/bg_reason_sp.webp);
    padding: 30px 0 100px;
  }
}
.purchase_list .inner {
  max-width: 1000px;
  margin: 30px auto 0;
}
@media (max-width: 599px) {
  .purchase_list .inner {
    padding: 0 10px;
  }
}
.purchase_list .inner .subttle {
  text-align: center;
  margin-bottom: 20px;
}
.purchase_list .inner .subttle img {
  max-width: 775px;
  width: 100%;
  height: auto;
  aspect-ratio: 775/96;
}
@media (max-width: 599px) {
  .purchase_list .inner .subttle img {
    aspect-ratio: 589/139;
  }
}
.purchase_list .inner .subttle p {
  font-size: 28px;
  margin-top: -30px;
}
@media (max-width: 928px) {
  .purchase_list .inner .subttle p {
    font-size: 20px;
  }
}
@media (max-width: 599px) {
  .purchase_list .inner .subttle p {
    font-size: 16px;
    margin-top: -10px;
  }
}
.purchase_list .inner .subttle p span {
  background: linear-gradient(transparent 60%, #ff6 60%);
}
.purchase_list .inner .purchase_list_box {
  max-width: 320px;
  width: 100%;
  padding: 5px;
}
@media (max-width: 928px) {
  .purchase_list .inner .purchase_list_box {
    width: 33.3333333333%;
  }
}
.purchase_list .inner .purchase_list_box img {
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
}
.purchase_list .inner .purchase_list_box p {
  color: #fcfcfc;
  font-size: 24px;
  background-color: #003c80;
  text-align: center;
}
@media (max-width: 599px) {
  .purchase_list .inner .purchase_list_box p {
    font-size: 13px;
  }
}

.cv_area {
  width: 100%;
  background-image: url(../images/bg_cvarea.webp);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  position: relative;
}
.cv_area .cv_ttl {
  width: 750px;
  position: absolute;
  top: -90px;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 599px) {
  .cv_area .cv_ttl {
    width: 90%;
    top: -10%;
  }
}
.cv_area .cv_ttl img {
  width: 100%;
  height: auto;
  aspect-ratio: 1339/331;
}
.cv_area .cv_area_btns {
  margin: 0 auto;
  padding: 60px 0 40px;
  width: 620px;
}
@media (max-width: 599px) {
  .cv_area .cv_area_btns {
    display: block;
    width: 100%;
  }
}
.cv_area .cv_area_btns a {
  width: 287px;
  margin: 0 10px;
}
@media (max-width: 599px) {
  .cv_area .cv_area_btns a {
    display: block;
    margin: 0 auto 20px;
  }
}
.cv_area .cv_area_btns a img {
  width: 100%;
  height: auto;
  aspect-ratio: 575/203;
}

.intro .inner .subttle {
  text-align: center;
  margin-bottom: 20px;
}
.intro .inner .subttle img {
  max-width: 407px;
  width: 100%;
  height: auto;
  aspect-ratio: 815/196;
}
@media (max-width: 599px) {
  .intro .inner .subttle img {
    width: 80%;
  }
}
.intro .inner .subttle p {
  font-size: 28px;
  margin-top: -30px;
}
@media (max-width: 599px) {
  .intro .inner .subttle p {
    font-size: 16px;
  }
}
.intro .inner .intro_box {
  border: 2px solid #003c80;
  width: calc(25% - 20px);
  margin: 10px;
  padding-bottom: 10px;
}
@media (max-width: 928px) {
  .intro .inner .intro_box {
    width: calc(33.3% - 20px);
  }
}
@media (max-width: 599px) {
  .intro .inner .intro_box {
    width: calc(50% - 20px);
  }
}
.intro .inner .intro_box .ttl_intro_goods {
  position: relative;
  background-color: #003c80;
  text-align: center;
  height: 70px;
}
.intro .inner .intro_box .ttl_intro_goods h4 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  font-size: 14px;
  font-weight: bold;
  color: #fcfcfc;
  line-height: 1.2;
}
.intro .inner .intro_box .intro_img {
  position: relative;
  width: 95%;
  margin: 10px auto;
}
.intro .inner .intro_box .intro_img img {
  width: 100%;
  height: auto;
  aspect-ratio: 41/31;
}
.intro .inner .intro_box .intro_img p {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 3px;
  background-color: rgba(0, 154, 240, 0.7);
  color: #fcfcfc;
}
@media (max-width: 599px) {
  .intro .inner .intro_box .intro_img p {
    font-size: 12px;
  }
}
.intro .inner .intro_box .intro_desc {
  width: 90%;
  margin: 0 auto;
  font-size: 14px;
}

.flow {
  position: relative;
}
.flow .bg_flow {
  background-image: url(../images/bg_reason.webp);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  margin: 0 calc(50% - 50vw);
  padding-top: 50px;
  padding-bottom: 50px;
}
@media (max-width: 599px) {
  .flow .bg_flow {
    background-image: url(../images/bg_reason_sp.webp);
    padding: 30px 0;
    margin: -10px calc(50% - 50vw) 0;
  }
}
.flow .subttle {
  width: 100%;
  max-width: 1000px;
  margin: 30px auto 0;
}
@media (max-width: 599px) {
  .flow .subttle {
    margin: 20px auto 0;
  }
}
.flow .subttle .subttl_h3 {
  position: relative;
  width: 580px;
  height: 72px;
  margin: 0 auto 20px;
}
@media (max-width: 599px) {
  .flow .subttle .subttl_h3 {
    width: 300px;
    height: 40px;
  }
}
.flow .subttle .subttl_h3 h3 {
  background-color: #2787ff;
  font-size: 38px;
  font-weight: bold;
  text-align: center;
  color: #fcfcfc;
  line-height: 2;
  z-index: 20;
  position: inherit;
}
@media (max-width: 599px) {
  .flow .subttle .subttl_h3 h3 {
    font-size: 20px;
  }
}
.flow .subttle .subttl_h3 .bg_subttl {
  width: 580px;
  height: 72px;
  border: 2px solid #2787ff;
  background-color: inherit;
  position: absolute;
  top: 10px;
  left: 7px;
}
@media (max-width: 599px) {
  .flow .subttle .subttl_h3 .bg_subttl {
    width: 300px;
    height: 40px;
  }
}
.flow .subttle p {
  text-align: center;
  font-size: 28px;
}
@media (max-width: 928px) {
  .flow .subttle p {
    font-size: 20px;
  }
}
@media (max-width: 599px) {
  .flow .subttle p {
    font-size: 16px;
    padding: 0 10px;
  }
}
.flow .subttle p span {
  background: linear-gradient(transparent 60%, #ff6 60%);
}
.flow .row {
  margin: 0 auto;
}
.flow .inner {
  overflow-x: scroll;
}
@media (max-width: 928px) {
  .flow .inner .arrow {
    width: 1000px;
    overflow: auto;
  }
}
@media (max-width: 599px) {
  .flow .inner .arrow {
    margin-top: 0px;
  }
}
.flow .scroll-hint-icon-wrap {
  z-index: 11;
}
.flow .flow_box {
  position: relative;
  width: 33.3333333333%;
  max-width: 322px;
  box-shadow: 0px 0px 15px -5px #777777;
  border-radius: 10px;
  margin: 16px;
  text-align: center;
  background-color: #fcfcfc;
}
.flow .flow_box h3 {
  background: #2787ff;
  color: #fff;
  text-align: center;
  height: 60px;
  margin-top: 30px;
  font-size: 30px;
  line-height: 2;
}
.flow .flow_box .line_color {
  background: #06c755;
}
.flow .flow_box img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  max-width: 172px;
  margin: 20px;
}
.flow .flow_box p {
  padding: 15px;
  text-align: left;
}
.flow .flow_box p span {
  font-weight: bold;
  font-size: 20px;
  display: block;
}
.flow .flow_box .flow_arrow {
  position: absolute;
  top: 50%;
  right: -80px;
  transform: translateY(-50%);
  z-index: 6;
}
.flow .flow_box .flow_arrow img {
  width: 100%;
  max-width: 77px;
  height: auto;
  aspect-ratio: 161/212;
}

.line_flow {
  background-color: #06c755;
  margin-top: -50px;
  text-align: center;
}
@media (max-width: 599px) {
  .line_flow {
    margin-top: -30px;
  }
}
.line_flow .subttle {
  text-align: center;
  padding-top: 30px;
  padding-left: 10px;
  padding-right: 10px;
}
.line_flow .subttle h3 {
  background-color: #fff;
  font-size: 38px;
  font-weight: bold;
  text-align: center;
  color: #06c755;
  line-height: 2;
  z-index: 21;
  position: inherit;
  width: 440px;
  margin: 10px auto;
}
@media (max-width: 599px) {
  .line_flow .subttle h3 {
    font-size: 20px;
    width: 320px;
  }
}
.line_flow .subttle img {
  max-width: 1000px;
  width: 100%;
  height: auto;
  aspect-ratio: 2001/662;
}
@media (max-width: 599px) {
  .line_flow .subttle img {
    max-width: 340px;
    aspect-ratio: 1231/623;
    margin-left: 23px;
  }
}
.line_flow p {
  font-size: 28px;
  color: #fcfcfc;
  font-weight: bold;
}
.line_flow p span {
  color: #ffff00;
}
@media (max-width: 599px) {
  .line_flow p {
    font-size: 16px;
    padding: 0 10px;
  }
}
.line_flow .row {
  margin: 0 auto;
}
.line_flow .inner {
  overflow-x: scroll;
}
@media (max-width: 928px) {
  .line_flow .inner .arrow {
    width: 1000px;
    overflow: auto;
  }
}
@media (max-width: 599px) {
  .line_flow .inner .arrow {
    margin-top: 0px;
  }
}
.line_flow .scroll-hint-icon-wrap {
  z-index: 11;
}
.line_flow .flow_box {
  position: relative;
  width: 33.3333333333%;
  max-width: 322px;
  box-shadow: 0px 0px 15px -5px #777777;
  border-radius: 10px;
  margin: 16px;
  text-align: center;
  background-color: #fcfcfc;
}
.line_flow .flow_box h3 {
  background: #2787ff;
  color: #fff;
  text-align: center;
  height: 60px;
  margin-top: 30px;
  font-size: 30px;
  line-height: 2;
}
.line_flow .flow_box .line_color {
  background: #06c755;
}
.line_flow .flow_box img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  max-width: 200px;
  margin: 20px;
}
.line_flow .flow_box p {
  color: #333;
  font-size: 16px;
  padding: 15px;
  text-align: left;
  font-weight: normal;
}
.line_flow .flow_box p span {
  font-weight: bold;
  font-size: 20px;
  display: block;
}
.line_flow .flow_box .flow_arrow {
  position: absolute;
  top: 50%;
  right: -80px;
  transform: translateY(-50%);
  z-index: 6;
}
.line_flow .flow_box .flow_arrow img {
  width: 100%;
  max-width: 77px;
  height: auto;
  aspect-ratio: 161/212;
}

.voice .bg_voice {
  background-image: url(../images/bg_voice.webp);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  margin: -100px calc(50% - 50vw) 0;
  padding: 60px 0;
}
@media (max-width: 599px) {
  .voice .bg_voice {
    background-image: url(../images/bg_voice_sp.webp);
  }
}
.voice .bg_voice h2 {
  color: #fcfcfc;
}
.voice .bg_voice h2 i {
  color: #fcfcfc;
}
.voice .bg_voice .voice_box {
  width: 100%;
  max-width: 1000px;
  background-color: #fcfcfc;
  border: 2px solid #1b1464;
  margin: 30px auto;
  border-radius: 20px;
  padding: 30px 30px 50px;
}
@media (max-width: 928px) {
  .voice .bg_voice .voice_box {
    width: 90%;
  }
}
@media (max-width: 599px) {
  .voice .bg_voice .voice_box .row {
    display: block;
  }
}
.voice .bg_voice .portrait {
  position: relative;
  flex-basis: 30%;
}
.voice .bg_voice .portrait img {
  width: 100%;
  height: auto;
  aspect-ratio: 60/49;
}
.voice .bg_voice .portrait p {
  font-size: 18px;
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  background-color: #1b1464;
  width: 210px;
  height: 44px;
  border-radius: 22px;
  text-align: center;
  line-height: 44px;
}
.voice .bg_voice .voice_comment {
  flex-basis: 70%;
}
.voice .bg_voice .voice_comment p {
  font-size: 18px;
  padding: 0 40px;
}
@media (max-width: 599px) {
  .voice .bg_voice .voice_comment p {
    padding: 40px 0 0;
  }
}
.voice .bg_voice .voice_comment p span {
  display: block;
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 10px;
}

.twitter iframe {
  padding: 0 20px;
}

.area div {
  margin: 50px calc(50% - 50vw) -50px;
}
@media (max-width: 599px) {
  .area div {
    margin: 20px calc(50% - 50vw) -50px;
  }
}
.area div img {
  width: 100%;
  height: auto;
  aspect-ratio: 960/467;
}
@media (max-width: 599px) {
  .area div img {
    aspect-ratio: 32/47;
  }
}

.faq ul {
  width: 100%;
  margin-top: 60px;
}
@media (max-width: 928px) {
  .faq ul {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 599px) {
  .faq ul {
    margin-top: 30px;
  }
}
.faq li {
  background-color: #009cf2;
  color: #fcfcfc;
  font-weight: bold;
  font-size: 24px;
  padding: 5px 10px;
}
@media (max-width: 599px) {
  .faq li {
    font-size: 20px;
  }
}
.faq li:nth-child(even) {
  background-color: #fcfcfc;
  color: #333;
  font-weight: normal;
  font-size: 18px;
  margin-bottom: 30px;
}
@media (max-width: 599px) {
  .faq li:nth-child(even) {
    font-size: 16px;
  }
}

.company table {
  width: 100%;
  margin-top: 60px;
}
@media (max-width: 599px) {
  .company table {
    margin-top: 30px;
  }
}
.company table tr {
  display: block;
  border-bottom: 2px solid #d1e8ff;
  padding: 30px 0;
}
.company table tr:nth-child(1) {
  border-top: 2px solid #d1e8ff;
}
.company table tr td:nth-child(odd) {
  font-weight: bold;
  width: 50%;
  min-width: 356px;
}
@media (max-width: 928px) {
  .company table tr td:nth-child(odd) {
    width: 40%;
    min-width: 236px;
  }
}
@media (max-width: 599px) {
  .company table tr td:nth-child(odd) {
    width: 10%;
    min-width: 100px;
  }
}

.access div {
  margin: 50px calc(50% - 50vw) -57px;
}
@media (max-width: 599px) {
  .access div {
    margin: 30px calc(50% - 50vw) -57px;
  }
}
.access div iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 64/15;
}
@media (max-width: 599px) {
  .access div iframe {
    aspect-ratio: 1/1;
  }
}

.fade {
  opacity: 0;
}
.fade.active {
  animation-name: fade;
  animation-duration: 0.7s;
  animation-fill-mode: forwards;
}

.fade-time1 {
  opacity: 0;
}
.fade-time1.active {
  animation-name: fade;
  animation-duration: 0.7s;
  animation-fill-mode: forwards;
}

.fade-time2 {
  opacity: 0;
}
.fade-time2.active {
  animation-name: fade;
  animation-duration: 0.7s;
  animation-fill-mode: forwards;
  animation-delay: 0.2s;
}

.fade-time3 {
  opacity: 0;
}
.fade-time3.active {
  animation-name: fade;
  animation-duration: 0.7s;
  animation-fill-mode: forwards;
  animation-delay: 0.3s;
}

.fade-up {
  opacity: 0;
  transform: translateY(-20px);
}
.fade-up.active {
  animation-name: fadeUp;
  animation-duration: 0.7s;
  animation-fill-mode: forwards;
}

@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fade-up {
  opacity: 0;
  transform: translateY(-20px);
}
.fade-up.active {
  animation-name: fadeUp;
  animation-duration: 0.7s;
  animation-fill-mode: forwards;
}

@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fade-r {
  opacity: 0;
  transform: translateX(-20px);
}
.fade-r.active {
  animation-name: fadeR;
  animation-duration: 0.7s;
  animation-fill-mode: forwards;
}

@keyframes fadeR {
  0% {
    opacity: 0;
    transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fade-l {
  opacity: 0;
  transform: translateX(20px);
}
.fade-l.active {
  animation-name: fadeL;
  animation-duration: 0.7s;
  animation-fill-mode: forwards;
  animation-delay: 0.3s;
}

@keyframes fadeL {
  0% {
    opacity: 0;
    transform: translateX(20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}/*# sourceMappingURL=style.css.map */