@charset "UTF-8";

/**/
.hv {
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.hv:hover {
  opacity: 0.6;
}

/* Commonness CSS */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  background: transparent;
}

html {
  height: 100%;
}

body {
  width: 100%;
  line-height: 1.4%;
  font-family: source-han-sans-japanese,"Helvetica Neue",Helvetica,Arial,sans-serif,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
  font-weight: 600;
  font-style: normal;
}

/* * html body { font-family: 'ＭＳ Ｐゴシック',sans-serif;  }  IE6 */
img {
  line-height: 1;
}

ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

/* remember to define focus styles! */
:focus {
  outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*\*/
* html #container {
  overflow: visible;
}

/**/
input,
select,
textarea {
  font-size: 16px;
  color: #333;
}

/* - ClearFix ------------------------------------------------------ */
* html .clearfix {
  zoom: 1;
}

/* IE6 */
*:first-child+html .clearfix {
  zoom: 1;
}

/* IE7 */
.clearfix {
  display: inline-table;
}

/* Hides from IE-mac \*/
* html .clearfix {
  height: 1%;
}

.clearfix {
  display: block;
}

/* End hide from IE-mac */
* {
  -webkit-text-size-adjust: none;
  -webkit-tap-highlight-color: transparent;
}

/* Hides from IE5-Mac \*/
* html .foo {
  height: 1%;
}

/****************************************************/
/* for html5. from html5doctor.com Reset Stylesheet */
/****************************************************/
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

nav ul {
  list-style: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

img {
  vertical-align: bottom;
}

/* for placeholder color */
:-ms-input-placeholder {
  color: #999 !important;
}

::-webkit-input-placeholder {
  color: #999 !important;
}

::-moz-placeholder {
  color: #999 !important;
}

:-moz-placeholder {
  color: #999 !important;
}

::-input-placeholder {
  color: #999 !important;
}

:-input-placeholder {
  color: #999 !important;
}

::-placeholder {
  color: #999 !important;
}

:-placeholder {
  color: #999 !important;
}

html {
  background-color: #fff;
  margin: 0 !important;
}

sup,
sub {
  font-size: 0.8em;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  position: relative;
  color: #000;
  line-height: 1.6;
}

p {
  word-wrap: normal;
  line-height: 1.4;
  color: #000;
}

a,
a:hover {
  text-decoration: none;
  color: #000;
}

.left,
.fl {
  float: left;
}

.right,
.fr {
  float: right;
}

.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

.clearfix {
  *zoom: 1;
}

.inner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 0;
  width: 100%;
}

.ud:hover {
  text-decoration: underline;
}

.ud2 {
  text-decoration: underline;
}

.ud3 {
  text-decoration: underline;
}

.ud3:hover {
  text-decoration: none;
}

.hv:hover {
  opacity: 0.6;
}

.sp {
  display: none;
}

.pc {
  display: block;
}

.pc__inline {
  display: inline-block;
}

.sp__inline {
  display: none;
}

.flex {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-around;
  justify-content: space-between;
}

.flex2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* -webkit-box-pack:justify; */
  -ms-flex-pack: justify;
  /* justify-content:space-between; */
  flex-wrap: wrap;
}

.flex3 {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

.flex4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-flow: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.align-center {
  align-items: center;
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/*スクロールバー表示させる*/
/* .scroll::-webkit-scrollbar {
    width: 8px;
}

.scroll::-webkit-scrollbar-thumb {
    background: #f8c384;
    border-radius: 10px;
}

.scroll::-webkit-scrollbar-track-piece:start {
    background: #ffead2;
}

.scroll::-webkit-scrollbar-track-piece:end {
    background: #fff;
} */
.none-display {
  display: none;
}

/*============================
COMMON
============================*/
img {
  width: 100%;
  height: auto;
}

.hide {
  display: none;
}

.hidden {
  display: none;
}

.section__ttl {
  text-align: center;
  /* font-weight: 700; */
  font-weight: 500;
  font-style: normal;
  color: #000;
  font-size: 38px;
  line-height: 1.5;
  letter-spacing: 0.1rem;
}

.section__ttl .ja {
  font-size: 18px;
  color: #000;
  letter-spacing: 0;
  margin-left: 16px;
}

.btn01 {
  display: inline-block;
  border: 1px solid #000;
  font-size: 16px;
  padding: 15px 88px 15px 26px;
  position: relative;
}

.btn01::after {
  content: "→";
  font-weight: 700;
  font-style: normal;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 25px;
  margin: auto;
  width: 16px;
  height: 18px;
  line-height: 1;
}

.btn01.red-bg:hover {
  border: 1px solid #cb2d2e;
  background: #fff;
  color: #cb2d2e;
}

.btn01.red-bg::after {
  display: none;
}

.btn01.white-c {
  border: 1px solid #fff;
  color: #fff;
  border-radius: 100vw;
  padding: 15px 40px;
  transition: 0.6s linear;
}

.btn01.white-c:hover {
  opacity: unset;
  border: 1px solid transparent;
  background: #fff;
  color: #cb2d2e;
}

.btn01.white-c::after {
  display: none;
}

.submit_wap .btn01 {
  display: inline-block;
  position: relative;
  font-weight: 400;
  font-style: normal;
  width: 20%;
  height: 60px;
  border: 0;
  border-radius: 100px;
  -webkit-appearance: none;
  cursor: pointer;
  color: #fff;
  padding: 0;
  background: url(../img/submit_wap-right.png) no-repeat;
  background-position: 0px center;
  background-size: 50px;
  background-color: #0457cf;
}

.submit_wap .btn01::after {
  display: none;
}

.submit_wap label a .must {
  border-bottom: solid 1px;
  border-radius: 0;
}

.bg-lightbrown {
  background-color: #f3efec;
}

.bg-lightblue {
  background-color: #edeff2;
}

/* header */

.none {
  display: none;
}

.header .hamburger {
  display: none;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5;
  width: 100%;
  background: #7276dc;
  display: grid;
  place-items: center;
  height: fit-content;
  height: auto;
  width: 100%;
  /* padding: 0 3%; */
  box-shadow: 0px 1px 4px 1px rgba(0, 0, 0, 0.75);
  -webkit-box-shadow: 0px 1px 4px 1px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 0px 1px 4px 1px rgba(0, 0, 0, 0.75);
}

.header .inner {
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  height: 80px;
  padding: 0 3%;
}

.header .h1__logo {
  width: 350px;
}

.header .h1_logo {
  width: 100%;
  height: auto;
}

.header .h1_logo img {
  width: 100%;
  height: auto;
}

.header .navi-sp {
  display: flex;
  align-items: center;
  justify-content: right;
  gap: 50px;
  width: 1050px;
}

.header .navi_list ul {
  display: flex;
  align-items: center;
  gap: 30px;
}

.header .navi_list a {
  font-size: 16px;
  font-weight: 500px;
  color: #fff;
  letter-spacing: 1px;
}

.header .navi_ctnt {
  background-color: #fff;
  padding: 3%;
  height: 150px;
  width: 320px;
  position: relative;
  top: 35px;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-shadow: 0px 0px 9px 1px rgba(0, 0, 0, 0.75);
  -webkit-box-shadow: 0px 0px 9px 1px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 0px 0px 9px 1px rgba(0, 0, 0, 0.75);
}

.header .navi_ctnt p {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 1px;
  font-weight: bold;
  white-space: nowrap;
  font-family: toppan-bunkyu-midashi-go-std;
}

.header .navi_ctnt a {
  background-color: #FE5055;
  padding: 15px 20px;
  border-radius: 30px;
  font-size: 20px;
  color: #fff;
  font-family: toppan-bunkyu-midashi-go-std;
  font-weight: 600;
}

.footer {
  padding: 20px 3%;
  background-color: #7276dc;
}

.footer .inner {
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 50px;
}

.footer .ft-logo {
  width: 400px;
  height: auto;
}

.footer .ft-logo img {
  width: 100%;
}

.footer .inner .footer-nav ul {
  display: flex;
  gap: 30px;
}

.footer .footer-nav a {
  color: #fff;
}

.footer p.copyright {
  text-align: center;
  color: #fff;
}

/* content-start */

h1,
h2,
h3,
h4,
h5 {
  font-family: toppan-bunkyu-midashi-go-std;
  font-weight: 600;
}

a.anchor {
  display: block;
  position: relative;
  top: -70px;
  visibility: hidden;
}

.company-option {
  width: 100%;
  padding: 50px 3%;
  background: url(../img/dotted.png) no-repeat;
  background-size: cover;
  overflow: hidden;
}

.company-option .inner {
  max-width: 1300px;
  width: 100%;
  margin: auto;
}

.company-option .txt-box {
  text-align: center;
  margin-bottom: 70px;
}

.company-option .txt-box h4 {
  font-size: 37px;
  font-weight: 600;
}

.company-option .txt-box h2 {
  font-size: 65px;
  font-weight: 600;
  color: #7276dc;
  position: relative;
  padding: 0 3%;
  width: max-content;
  margin: auto;
}

.company-option .txt-box h2 span {
  color: #000;
}

.company-option .txt-box h2::before,
.company-option .txt-box h2::after {
  content: "";
  width: 3px;
  height: 60px;
  position: absolute;
  background-color: #000;
  bottom: 10px;
}

.company-option .txt-box h2::before {
  left: 0;
  transform: rotate(-30deg);
}

.company-option .txt-box h2::after {
  right: 0;
  transform: rotate(30deg);
}

.company-option .txt-box p {
  font-size: 25px;
  font-weight: 600;
  z-index: 99;
}

.company-option .txt-box p span {
  z-index: 99;
  position: relative;
  margin-right: 10px;
}

.company-option .txt-box p span::before {
  content: "";
  width: 103%;
  height: 74%;
  background-color: #FCD600;
  position: absolute;
  left: -5px;
  bottom: -10px;
  z-index: -1;
}

.company-option .inner .options {
  width: 100%;
}

.company-option .inner .options .op {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 50px;
  margin-left: -150px;
  /* position: relative;
  left: -100px; */
}

.company-option .inner .options .op.op2 {
  margin-right: -150px;
  margin-left: initial;
}

.company-option .options .fly {
  position: relative;
}

.company-option .options .fly .comment {
  width: 80px;
  height: 90px;
  position: absolute;
  right: -15px;
  top: -35px;
}

.company-option .options .fly .comment p {
  width: 100%;
  height: 100%;
  background: url(../img/comment.png) no-repeat;
  background-size: 100%;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.company-option .options .fly .img1 {
  width: 100%;
  margin-left: -10px;
}

.company-option .options .fly .img1 img {
  width: 120%;
  object-fit: contain;
}

.company-option .options .box {
  text-align: center;
  background-color: #fff;
  padding: 20px 30px;
  border-radius: 20px;
  max-width: 652px;
  width: 100%;
  min-height: 150px;
  display: flex;
  margin-top: 15px;
  margin-bottom: 15px;
  flex-direction: column;
  /* align-items: center; */
  justify-content: center;
  text-align: left;
  /* height: min; */
  height: 100%;
  box-shadow: 0px 0px 9px 1px rgba(0, 0, 0, 0.64);
  -webkit-box-shadow: 0px 0px 9px 1px rgba(0, 0, 0, 0.64);
  -moz-box-shadow: 0px 0px 9px 1px rgba(0, 0, 0, 0.64);
}

.company-option .options .box h3 {
  font-size: 35px;
  font-weight: 600;
  color: #7276dc;
  margin-bottom: 5px;
  font-family: toppan-bunkyu-midashi-go-std;
}

.company-option .options .box p {
  font-size: 16px;
  font-weight: bold;
}

/* question start */

.questions {
  width: 100%;
  padding: 50px 3%;
  background-color: #7276dc;
}

.questions .inner {
  max-width: 1200px;
  width: 100%;
  margin: auto;
}

.questions h2 {
  font-size: 36px;
  font-weight: 600;
  text-align: center;
  color: #fff;
  margin-bottom: 50px;
  font-family: toppan-bunkyu-midashi-min-st;
}

.questions h2 span {
  font-size: 58px;
  font-weight: 600;
  color: #FCD600;
  position: relative;
}

.questions h2 span::after {
  content: "...";
  width: 100%;
  height: 10px;
  position: absolute;
  letter-spacing: 20px;
  top: -70px;
  left: 5px;
  text-align: center;
}

.questions .qs-items {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  gap: 30px;
}

.questions .qs-items .item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.questions .qs-items .item .box {
  padding: 25px;
  background-color: #fff;
  margin-bottom: 30px;
  width: max-content;
  text-align: center;
  position: relative;
  border-radius: 20px;
  box-shadow: 0px 0px 9px 1px rgba(0, 0, 0, 0.64);
  -webkit-box-shadow: 0px 0px 9px 1px rgba(0, 0, 0, 0.64);
  -moz-box-shadow: 0px 0px 9px 1px rgba(0, 0, 0, 0.64);
}

.questions .qs-items .box p {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 5px;
}

.questions .qs-items .box h4 {
  font-size: 20px;
  font-weight: 600;
  color: #7276dc;
}

.questions .qs-items .box h4 span {
  font-size: 16px;
  color: #000;
  font-weight: 600;
  font-family: toppan-bunkyu-midashi-go-std;
}

.questions .qs-items .item .box::after {
  content: "";
  width: 0;
  border-bottom: 15px solid #fff;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  display: block;
  position: absolute;
  right: -15px;
  bottom: 30px;
  transform: rotate(90deg);
}

.questions .qs-items .item.item2 .box::after {
  left: -15px;
  right: initial;
  transform: rotate(-90deg);

}

/* experience start */

.experience {
  width: 100%;
  padding: 50px 3%;
  background: url(../img/criscross-bg.png) no-repeat;
  background-size: cover;
}

.experience .inner {
  max-width: 100%;
  width: 100%;
}

.experience .txt-box {
  text-align: center;
}

.experience .txt-box h2 {
  font-size: 45px;
  font-weight: 600;
  line-height: 1;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.experience .txt-box h2 .number {
  font-size: 82px;
  font-weight: 600;
  /* font-style: italic; */
  font-family: toppan-bunkyu-midashi-min-st;
  background: url(../img/star.png) no-repeat;
  background-size: 115%;
  background-position: center;
}

.experience .txt-box h2 .red {
  font-size: 65px;
  font-weight: 600;
  color: #DC0A28;
}

.experience .txt-box p {
  font-size: 35px;
  font-weight: 600;
  font-family: toppan-bunkyu-midashi-go-std;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 50px;
}

.experience .txt-box p span {
  width: 3px;
  height: 50px;
  background-color: black;
  position: relative;
}

.experience .txt-box p span::after {
  content: "";
  width: 3px;
  height: 35px;
  background-color: black;
  display: block;
  position: absolute;
}

.experience .txt-box p span.left::after {
  left: -10px;
  bottom: 0;
}

.experience .txt-box p .left {
  transform: rotate(-45deg);
}

.experience .txt-box p span.right::after {
  right: -10px;
  bottom: 0;
}

.experience .txt-box p .right {
  transform: rotate(45deg);
}

/* .experience .slider {
  width: 100%;
} */

.experience .slider .item {
  width: 600px;
  height: auto;
  padding: 50px;
}

.experience .slider .item .img-box {
    height: 340px;
    background-color: #ffffff;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}


.experience .slider .item p:nth-of-type(1) {
  color: rgb(30, 80, 185);
}

.experience .slider .item p {
  line-height: 1.7;
  font-size: 15px;
  font-weight: 600;
}

.experience .slick-arrow {
  color: transparent;
  /* background-color: #fff !important; */
  border: none;
  width: 50px;
  height: 50px;
  background: white url(../img/arrow.png) no-repeat;
  background-position: center;
  border-radius: 50%;
  position: absolute;
  box-shadow: 0px 0px 9px 1px rgba(0, 0, 0, 0.64);
  -webkit-box-shadow: 0px 0px 9px 1px rgba(0, 0, 0, 0.64);
  -moz-box-shadow: 0px 0px 9px 1px rgba(0, 0, 0, 0.64);
  z-index: 999;
}

.experience .slider .slick-prev {
  left: -30px;
}

.experience .slider .slick-next {
  right: -30px;
  transform: rotate(180deg);
}

.experience .slick-initialized {
  display: flex;
  align-items: center;
  width: 100%;
  position: relative;
}

/* contact-banner start */
.contact-banner {
  width: 100%;
  padding: 80px 3%;
}

.contact-banner .inner {
  max-width: 1300px;
}

.contact-banner .banner {
  width: 100%;
  height: 400px;
  padding: 3%;
  background-color: #0A3750;
  border: 15px solid #354c5a;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
}

.contact-banner .banner .txt-box {
  text-align: center;
}

.contact-banner .banner p {
  font-size: 25px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 15px;
  font-family: toppan-bunkyu-midashi-go-std;
}

.contact-banner .banner h3 {
  font-size: 36px;
  font-weight: 600;
  color: #FCD900;
  margin-bottom: 20px;
}

.contact-banner .banner a {
  padding: 20px 3%;
  border-radius: 50px;
  max-width: 510px;
  width: 100%;
  margin: auto;
  font-size: 30px;
  font-weight: 600;
  background-color: #DC0A28;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  font-family: toppan-bunkyu-midashi-go-std;
}

.contact-banner .banner span {
  width: 40px;
  height: 40px;
}


.contact-banner .banner a img {
  width: 40px;
  height: auto;
  object-fit: contain;
}


.contact-banner .banner .img-box img {
  object-fit: contain;
  width: 330px;
  margin-top: -80px;
}

/* company-start */

.company {
  width: 100%;
  padding: 50px 0;
  background-color: #1cd7b9;
}

.company h2 {
  font-size: 45px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0;
}

.company h2 span {
  font-size: 65px;
  color: #7276dc;
  display: flex;
  margin: 10px;
}

.company h2 span::before,
.company h2 span::after {
  content: "";
  width: 20px;
  height: 20px;
  background: url(../img/quote-purple.png) no-repeat;
  background-size: 100%;
  display: block;
}

.company h2 span::after {
  transform: rotate(180deg);
}

.company .txt-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  margin-bottom: 50px;
}

.company .txt-box img {
  width: 30%;
  /* height: 20px; */
}

.company .txt-box img.rotate {
  transform: rotate(180deg);
}

.company .inner {
  max-width: 1300px;
  padding: 0 3%;
}

.company .card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 3%;
  background-color: #fff;
  border-radius: 30px;
  margin-bottom: 50px;
  max-width: 90%;
  margin: auto auto 50px auto;
}

.company .card2 .icon .number {
  left: initial;
  right: 0;
}

.company .card2 {
  margin-left: -50px;
}

.company .card2 .icon {
  margin-left: 0;
  margin-right: -130px;
}

.company .icon {
  width: 20%;
  margin-left: -80px;
}

.company .icon .number {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background-color: #7276dc;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin-bottom: 30px;
  position: relative;
  top: -20px;
  left: 0;
}

.company .icon .number p {
  color: #fff;
}

.company .icon .number p span {
  font-size: 70px;
  font-weight: 600;
  font-style: italic;
  color: #FCD900;
  line-height: 1.1;
  font-family: toppan-bunkyu-midashi-min-st;
  padding-right: 13px;
}

.company .card .img-box {
  margin-top: -20px;
}

.company .card img {
  width: 90%;
}

.company .card2 img {
  width: 110%;
  position: relative;
  left: -80px;
}

.company .card.card2 .txt-box2 {
  width: 82%;
}

.company .card .txt-box2 {
  width: 90%;
}

.company .card .txt-box2 h5 {
  font-size: 26px;
  font-weight: bold;
  font-family: toppan-bunkyu-midashi-go-std;
}

.company .card .txt-box2 h3 {
  font-size: 36px;
  font-weight: bold;
  color: #7276dc;
  font-family: toppan-bunkyu-midashi-go-std;
}

.company .card .txt-box2 p {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
}

.company .card .txt-box2 .separator {
  border-bottom: 2px dotted black;
  margin: 15px 0;
}

/* flow-start */

.flow {
  width: 100%;
  padding: 50px 3%;
  background-color: #7276dc;
}

.flow .inner {
  max-width: 1300px;
}

.flow h2 {
  font-size: 40px;
  font-weight: 600;
  color: #fff;
  text-align: center;
  margin-bottom: 100px;
  font-family: toppan-bunkyu-midashi-go-std;
}

.flow .flow-items {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 50px;
}

.flow .flow-items .item {
  width: 400px;
  height: auto;
  padding: 20px 3% 50px 3%;
  border: 5px solid #fff;
  border-radius: 20px;
  text-align: center;
  position: relative;
  margin-bottom: 50px;
}

.flow .flow-items .item::after {
  /* content: ""; */
  width: 0;
  height: 0;
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 20px solid #fff;
  display: block;
  position: absolute;
  right: -40px;
  top: 100px;
}

.flow .flow-items .item.unq::after {
  right: initial;
  top: initial;
  bottom: -40px;
  left: 180px;
  transform: rotate(90deg);
}

.flow .flow-items .item:nth-of-type(6)::after {
  display: none;
}

.flow .flow-items .item .icon {
  width: 130px;
  height: 130px;
  margin: -80px auto 20px auto;
  border: 5px solid #fff;
  background: url(../img/gradient-blue-bg.jpg) no-repeat;
  background-size: cover;
  background-position: 31%;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  /* position: relative;
  top: -100px; */
}

.flow .flow-items .item .icon img {
  width: 50px;
}

.flow .flow-items .item p {
  color: #fff;
  font-size: 18px;
  font-weight: 600;
}

.flow .flow-items .item p a {
  font-size: inherit;
  font-family: inherit;
  color: inherit;
  text-decoration-line: underline;
}

.flow .flow-items .item p.step {
  color: #FCD900;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 10px;
}

/* faqs-start */

.faqs {
  width: 100%;
  padding: 50px 3%;
}

.faqs .inner {
  max-width: 1300px;
}

.faqs h2 {
  font-size: 40px;
  font-weight: 600px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  margin-bottom: 50px;
  font-family: toppan-bunkyu-midashi-go-std;
}

.faqs h2::after,
.faqs h2::before {
  content: "";
  width: 35%;
  height: 3px;
  background-color: black;
  display: block;
}

.faqs .faq-items .item {
  margin-bottom: 50px;
}

.faqs .faq-items .question {
  font-size: 20px;
  font-weight: 600;
  color: #7276dc;
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 10px;
  font-family: toppan-bunkyu-midashi-go-std;
}

.faqs .faq-items .question::before {
  content: "Q.";
  display: block;
  font-size: 35px;
}

.faqs .faq-items .answer {
  padding: 20px 3%;
  font-size: 18px;
  font-weight: 600;
  background-color: #f1f1fb;
  display: flex;
  align-items: flex-start;
  gap: 5px;
  line-height: 1.7;
}

.faqs .faq-items .answer::before {
  content: "A.";
  display: block;
  font-size: 20px;
}

.forms {
  width: 100%;
  padding: 50px 3%;
  background-color: #F2F2F2;
}

.forms .inner {
  max-width: 1300px;
  background-color: #fff;
  border-radius: 20px;
  padding: 10px;
}

.forms h2 {
  font-size: 40px;
  font-weight: 600;
  font-family: toppan-bunkyu-midashi-go-std;
  width: 100%;
  padding: 25px 3%;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  text-align: center;
  color: #fff;
  margin-bottom: 30px;
  background-color: #7276dc;
}

.forms form {
  padding: 0 3%;
}

.forms form .desc {
  font-size: 18px;
  font-weight: 600;
  text-align: center;
  margin-bottom: 30px;
}

.forms form ul li {
  display: flex;
  justify-content: space-between;
  padding: 20px 0;
  border-top: 1px solid #F2F2F2;
  border-bottom: 1px solid #F2F2F2;
}

.forms form ul li:nth-of-type(1) {
  border-top: none;
}

.forms form ul li label {
  width: 25%;
  display: flex;
  justify-content: space-between;
  padding: 30px 0 0 0;
}

.forms form ul li input {

  border-radius: 5px;
}

.forms form .common input {
  width: 70%;
  height: 70px;
}

.forms form ul li label .required {
  background-color: red;
  padding: 5px;
  height: 35px;
  color: #fff;
  font-weight: 600;
}

.forms form ul li:nth-of-type(1) label .required {
  padding: 0;
}

.forms form .ph-number .phone {
  display: flex;
  justify-content: left;
  align-items: center;
  gap: 15px;
  width: 70%;
}

.forms form .ph-number .phone input {
  width: 20%;
  min-width: 150px;
  height: 70px;
}

.forms form .ph-number .phone span {
  width: 20px;
  height: 3px;
  background-color: black;
}

.forms form .radio {
  width: 70%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.forms form .radio span {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 15px;
}

.forms form .radio input {
  width: 30px;
  height: 30px;
}

.forms form .comment input {
  width: 70%;
  height: 300px;
}

.forms form .submit {
  padding: 50px 0;
  /* padding-left: 30%; */
  display: flex;
  justify-content: center;
}

.forms form .submit p {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 20px;
}

.forms form .submit p a {
  text-decoration-line: underline;
}

.forms form .submit .accept {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 20px;
}

.forms form .submit .accept input {
  width: 30px;
  height: 30px;
  border-radius: 50%;
}

.forms form .submit .captcha {
  padding: 25px 15px;
  display: flex;
  align-items: center;
  gap: 15px;
  background-color: #fff;
  max-width: 300px;
  width: 100%;
  margin-bottom: 20px;
  box-shadow: 0px 0px 9px 1px rgba(0, 0, 0, 0.64);
  -webkit-box-shadow: 0px 0px 9px 1px rgba(0, 0, 0, 0.64);
  -moz-box-shadow: 0px 0px 9px 1px rgba(0, 0, 0, 0.64);
}

.forms form .submit .captcha input {
  width: 30px;
  height: 30px;
}

.forms form .submit .submit-btn {
  max-width: 300px;
  width: 100%;
  padding: 10px 15px;
  background-color: #DC0A28;
  color: #fff;
  display: block;
  text-align: center;
  border-radius: 30px;
  font-size: 24px;
  font-weight: 600;
  font-family: toppan-bunkyu-midashi-go-std;
}

/* content-end */

/* mv */
.mv {
  height: 100%;
  /* background-image: url(../img/hero.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100%; */
  position: relative;
  padding-top: 80px;
}

.mv .sp {
  display: none;
}



#page_top {
  position: fixed;
  bottom: 10px;
  right: 10px;
  display: flex;
  height: 60px;
  width: 60px;
  justify-content: center;
  align-items: center;
  z-index: 69;
  border-radius: 50%;
  /* border-bottom-left-radius: 25px; */
  background-color: #7276dc;
  border: 2px solid white;
  transition: 0.6s linear;
}

#page_top a {
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}

#page_top a::before {
  content: ">";
  font-size: 20px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 34px;
  top: 0px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
  transform: rotateZ(270deg);
}

/* hover */

.btn-shine {
  position: relative;
  overflow: hidden;
}

.btn-shine:hover:after {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 10%;
  height: 150%;
  background: #fff;
  transform: rotate(45deg);
  animation: reflect 1s ease-in-out;
}

.btn-shine.blue:hover:after {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 10%;
  height: 150%;
  background: #0457cf;
  transform: rotate(45deg);
  animation: reflect 1s ease-in-out;
}

@keyframes reflect {
  0% {
    transform: rotate(45deg) scale(0);
    opacity: 1;
  }

  100% {
    transform: rotate(45deg) scale(100);
    opacity: 0;
  }
}

@media (max-width: 1550px) {

  .header .navi_list a {
    font-size: 14px;
  }

  .header .navi_ctnt p {
    font-size: 14px;
  }

  .header .navi_ctnt a {
    font-size: 18px;
  }

  .header .navi_ctnt {
    width: 260px;
    padding: 3% 12px;
  }

  .header .navi-sp {
    width: 840px;
  }

  .header .navi_list ul {
    gap: 15px;
  }

}

@media (max-width: 1300px) {
  .header .h1__logo {
    width: 250px;
  }
}

@media (max-width: 1200px) {


  .mv {
    padding-top: 80px;
  }

  .header .hamburger {
    width: 70px;
    height: 70px;
    background-color: #1A449E;
    position: absolute;
    right: 5px;
    top: 5%;
    /* border-bottom-left-radius: 20px; */
    border: 3px solid #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 99;
  }

  .hamburger span {
    width: 25px;
    height: 3px;
    background-color: #fff;
    display: block;
    position: relative;
  }

  .hamburger span::after,
  .hamburger span::before {
    content: "";
    width: 25px;
    height: 3px;
    background-color: #fff;
    position: absolute;
    transition: all 0.3s ease;
  }

  .hamburger span::after {
    top: -8px;
  }

  .hamburger span::before {
    bottom: -8px;
  }

  #menu-sp:checked~.navi-sp {
    left: 0;
  }

  #menu-sp:checked~.hamburger span {
    background-color: transparent;
  }

  #menu-sp:checked~.hamburger span::before {
    transform: rotate(-45deg);
    bottom: 0;
  }

  #menu-sp:checked~.hamburger span::after {
    transform: rotate(45deg);
    top: 0;
  }


  .header .h1__logo {
    width: 350px;
  }

  .header .navi-sp {
    width: 100%;
    height: 100vh;
    position: absolute;
    left: 100%;
    top: 80px;
    background-color: #0b1e46e8;
    justify-content: flex-start;
    flex-direction: column;
    gap: 0;
    padding: 100px 0 0 0;
    transition: all 0.7s;
  }

  .header .navi_list ul {
    flex-direction: column;
    gap: 30px;
  }

  .header .navi_list a {
    font-size: 18px;
  }

  .header .navi_ctnt {
    background-color: unset;
    box-shadow: unset;
  }

  .header .navi_ctnt p {
    font-size: 16px;
    color: #fff;
    margin-bottom: 10px;
  }

  .header .navi_ctnt a {
    font-size: 18px;
    border: 2px solid #fff;
  }

  .header .btn-shine:hover::after {
    animation: none;
  }

  .company-option .options .box h3 {
    font-size: 30px;
  }

  .company .card .txt-box2 h3 {
    font-size: 30px;
  }

}

@media screen and (max-width: 1560px) {}

@media screen and (max-width: 1462px) {
  /* .company h2 span {
    font-size: 55px;
  }

  .company h2 {
    font-size: 40px;
  } */

  .company .txt-box img {
    width: 20%;
    height: 20px;
  }
}

@media screen and (max-width: 1433px) {
  .footer .inner .footer-nav ul {
    gap: 15px;
  }

  .footer .ft-logo {
    width: 300px;
  }

  .footer .inner {
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 1400px) {
  .flow .flow-items .item {
    width: 30%;
  }
}

@media screen and (max-width: 1350px) {
  .company .card2 {
    margin-left: 0;
  }
}

@media screen and (max-width: 1247px) {
  .footer .inner .footer-nav ul {
    gap: 30px;
  }

  .footer .ft-logo {
    width: 400px;
  }

  .footer .inner {
    flex-wrap: wrap;
    justify-content: space-evenly;
  }

}

@media screen and (max-width: 1200px) {

  .experience .slider .slick-next {
    right: -10px;
  }

  .experience .slider .slick-prev {
    left: -10px;
  }

  .company h2 {
    font-size: 35px;
  }

  .company h2 span {
    font-size: 45px;
  }
}

@media screen and (max-width: 1205px) {
  .faqs h2 {
    font-size: 35px;
  }

  .faqs h2::after,
  .faqs h2::before {
    width: 30%;
  }
}

@media screen and (max-width: 1063px) {
  .flow .flow-items .item {
    width: 336px;
  }

  .flow .flow-items {
    justify-content: space-evenly;
  }

  .flow .flow-items .item::after {
    transform: rotate(90deg);
    top: initial;
    right: initial;
    bottom: -40px;
    left: 150px;
  }

  .flow .flow-items .item.unq::after {
    bottom: initial;
    left: initial;
    top: 100px;
    right: -40px;
    transform: unset;
  }

  .flow .flow-items .item:nth-of-type(4)::after {
    transform: rotate(-90deg);
    bottom: initial;
    top: -100px;
  }

  .flow .flow-items .item:nth-of-type(5)::after {
    transform: rotate(-90deg);
    bottom: initial;
    top: -100px;
  }

  .flow .flow-items .item:nth-of-type(1) {
    order: 1;
  }

  .flow .flow-items .item:nth-of-type(2) {
    order: 2;
  }

  .flow .flow-items .item:nth-of-type(3) {
    order: 3;
  }

  .flow .flow-items .item:nth-of-type(4) {
    order: 4;
  }

  .flow .flow-items .item:nth-of-type(5) {
    order: 5;
  }

  .flow .flow-items .item:nth-of-type(6) {
    order: 6;
  }
}

@media screen and (max-width: 1000px) {
  .header {
    z-index: 99;
  }

  .company-option {}

  .company-option .txt-box h4 {
    font-size: 25px;
  }

  .company-option .txt-box h2 {
    font-size: 40px;
  }

  .company-option .txt-box p {
    font-size: 16px;
  }

  .company-option .options .box h3 {
    font-size: 23px;
  }

  .company-option .inner .options .op {
    margin-left: 0;
  }

  .company-option .inner .options .op.op2 {
    margin-right: 0;
  }

  .questions h2 {
    font-size: 25px;
  }

  .questions h2 span {
    font-size: 40px;
  }

  .questions h2 span::after {
    top: -50px;
  }

  .questions .qs-items .box h4 {
    font-size: 18px;
  }

  .experience .txt-box p {
    font-size: 25px;
  }

  .experience .txt-box h2 {
    font-size: 32px;
  }

  .experience .txt-box h2 .number {
    font-size: 50px;
  }

  .experience .txt-box h2 .red {
    font-size: 45px;
  }

  .contact-banner .banner p {
    font-size: 20px;
  }

  .contact-banner .banner h3 {
    font-size: 25px;
  }

  .contact-banner .banner a {
    font-size: 25px;
    width: max-content;
  }

  .contact-banner .banner .img-box img {
    width: 100%;
    margin-top: 0;
  }

  .company h2 {
    font-size: 30px;
  }

  .company h2 span {
    font-size: 35px;
  }

  .company .card {
    max-width: 100%;
  }

  .company .card2 {
    /* max-width: 100%; */
    flex-direction: column-reverse;
  }

  .company .card2 .icon {
    margin-right: 0;
  }

  .company .card {
    flex-wrap: wrap;
    padding: 3% 3% 50px 3%;
  }

  .company .icon {
    margin-left: 0;
    width: 100%;
  }

  .company .icon .number {
    width: 100%;
    height: 100%;
    padding: 10px 3%;
    border-radius: unset;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
    position: initial;
  }

  .company .icon .number p span {
    font-size: 50px;
    line-height: 1;
  }

  .company .card .img-box {
    margin-top: 0;
    width: 100%;
    height: 250px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .company .card .img-box img {
    width: 30%;
    min-width: 200px;
  }

  .company .card2 img {
    left: initial;
  }

  .company .card.card2 .txt-box2 {
    width: 100%;
  }

  .company .card .txt-box2 {
    width: 100%;
  }

  .company .card .txt-box2 h5 {
    font-size: 20px;
  }

  .company .card .txt-box2 h3 {
    font-size: 25px;
  }

  .flow h2 {
    font-size: 30px;
  }

  .faqs h2 {
    font-size: 30px;
  }

  .faqs h2::after,
  .faqs h2::before {
    width: 25%;
  }

  .forms h2 {
    font-size: 30px;
  }

  .footer .inner .footer-nav ul {
    flex-wrap: wrap;
    justify-content: space-evenly;
  }

}

@media (max-width: 670px) {
  section.contact-banner {
    padding: 50px 5%;
  }

  section.contact-banner .banner {
    height: 300px;
    display: flex;
    align-items: flex-end;
    /* justify-content: flex-end; */
  }

  section.contact-banner .banner p,
  section.contact-banner .banner h3 {
    line-height: 1.2;
    padding-right: 27%;
  }

  /* section.contact-banner .banner a {
    font-size: 14px;
    width: 100%;
    margin: unset;
    justify-content: space-between;
    padding: 20px 5%;
    margin-right: 35%;
  } */
}

@media (max-width: 649px) {
  .company h2 {
    font-size: 25px;
    white-space: pre;
  }

  .company h2 span {
    font-size: 25px;
  }
}

@media (max-width: 567px) {

  .company-option {
    padding: 50px 5%;
  }

  .company-option .inner .txt-box h4 {
    font-size: 16px;
  }

  .company-option .inner .txt-box h2 {
    font-size: 25px;
  }

  .company-option .txt-box h2::before,
  .company-option .txt-box h2::after {
    bottom: 0;
  }

  .company-option .txt-box p span::before {
    bottom: -5px;
  }

  .company-option .txt-box p {
    line-height: 1.7;
  }

  .company-option .inner .options .box h3 {
    font-size: 18px;
  }

  .company-option .txt-box {
    margin-bottom: 25px;
  }

  section.questions {
    padding: 50px 5%;
  }

  section.questions h2 {
    font-size: 18px;
    margin-bottom: 25px;
  }

  section.questions h2 span {
    font-size: 25px;
  }

  section.questions h2 span::after {
    top: -35px;
    left: 7px;
    width: 80%;
    letter-spacing: 5px;
    font-size: 30px;
  }

  section.experience .txt-box p {
    font-size: 18px;
  }

  .experience .txt-box p {
    gap: 15px;
  }

  section.experience .txt-box h2 {
    font-size: 35px;
  }

  section.experience .txt-box h2 {
    width: max-content;
    flex-direction: column;
    margin: auto;
  }

  section.experience .txt-box h2 .number {
    font-size: 40px;
    width: max-content;
  }

  section.experience .txt-box h2 .red {
    font-size: 40px;
    width: max-content;
  }

  section.experience {
    padding: 50px 5% 0 5%;
  }

  section.experience .slider .item {
    width: 400px;
  }

  .experience .slider .item .img-box {
    /* height: 250px; */
  }


  .company .txt-box {
    margin-bottom: 25px;
  }

  .company h2 span::before,
  .company h2 span::after {
    width: 10px;
    height: 10px;
  }

  section.company .card .txt-box2 h5 {
    font-size: 16px;
  }

  section.company .card .txt-box2 h3 {
    font-size: 18px;
  }

  .company .card {
    padding: 3% 3% 25px 3%;
  }

  section.flow h2 {
    font-size: 20px;
    margin-bottom: 80px;
  }

  .flow {
    padding: 50px 5%;
  }

  .faqs {
    padding: 50px 5%;
  }

  section.faqs h2 {
    font-size: 20px;
    margin-bottom: 25px;
  }

  .faqs .faq-items .item {
    margin-bottom: 30px;
  }

  section.forms h2 {
    font-size: 20px;
  }

  section.forms form ul li label {
    font-size: 14px;
  }

  .forms form ul li label .required {
    height: initial;
  }

  .forms form .desc {
    margin-bottom: 0;
  }

  .forms form .ph-number .phone span {
    width: 5px;
  }

  .forms form .radio span {
    font-size: 14px;
  }

  .forms form .ph-number .phone {
    gap: 5px;
  }

  .forms form .radio input {
    width: 25px;
    height: 25px;
    min-width: 25px;
    min-height: 25px;
  }

  section.forms form .ph-number .phone input {
    width: 27%;
    height: 50px;
  }

  .forms form .common input {
    height: 50px;
  }

  .forms form .comment input {
    height: 220px;
  }

  section.forms form .submit p {
    font-size: 14px;
  }

  .forms form .submit .accept {
    font-size: 14px;
  }

  .forms form .submit .submit-btn {
    font-size: 16px;
  }

  section.contact-banner .banner a {
    font-size: 14px;
    width: 100%;
    margin: unset;
    justify-content: space-between;
    padding: 20px 5%;
    margin-right: 35%;
  }

  section.contact-banner {
    padding: 50px 5%;
  }

  section.contact-banner .banner {
    height: 300px;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
  }

  section.contact-banner .banner p,
  section.contact-banner .banner h3 {
    line-height: 1.2;
    padding-right: 30%;
  }

  section.footer .ft-logo {
    width: 300px;
  }

  .footer.copyright {
    font-size: 12px;
  }

}

@media (max-width: 480px) {

  .header .inner .h1__logo {
    width: 250px;
  }

  .header .inner .hamburger {
    width: 80px;
  }

  .company .txt-box img {
    display: none;
  }

  .company .txt-box {
    justify-content: center;
  }
}

@media (max-width: 400px) {
  section.experience .slider .item {
    width: 355px;
  }

  section.company-option .options .box {
    padding: 20px 15px;
    align-items: center;
    /* text-align: center; */
  }

  section.contact-banner .banner h3 {
    font-size: 20px;
  }

  section.contact-banner .banner p {
    font-size: 16px;
  }
}

@media (max-width: 349px) {
  .header .inner .h1__logo {
    width: 200px;
  }

  .header .inner .hamburger {
    width: 50px;
  }

  section.flow .flow-items .item {
    width: 265px;
  }

  .flow .flow-items .item .icon {
    width: 100px;
    height: 100px;
  }

  section.flow .inner .flow-items .item::after {
    left: 115px;
  }

  section.experience .slider .item {
    width: 270px;
  }

  section.questions h2 span::after {
    display: none;
  }

  section.contact-banner .banner p,
  section.contact-banner .banner h3 {
    line-height: 1.2;
    padding-right: 0;
  }

}

@media (max-width: 317px) {

  .faqs h2 {
    gap: 5px;
  }

  section.contact-banner .banner a img {
    width: 20px;
  }

  section.contact-banner .banner a {
    font-size: 12px;
    padding: 20px 10px;
  }
}

article {
  position: relative;
}

.contact .terms-content {
    background: rgb(236, 236, 236);
    border: 1px solid #000;
    height: 200px;
    padding: 20px 12px;
}

.terms-content.mb30 {
    height: 200px;
    overflow-y: scroll;
}


div#privacy-policy {
    background: #ddd;
    padding: 10px;
    border: 1px solid black;
}

.wrap {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

article {
    position: relative;
    overflow: hidden;
}

