@charset "UTF-8";
* {
  box-sizing: border-box;
}

html {
  font-size: 10px;
  -webkit-tap-highlight-color: transparent;
  font-family: sans-serif;
  line-height: 1.15;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  font-size: 1.6rem;
  color: #182644;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  height: 100%;
  margin: 0;
  padding: 0;
  line-height: 1.5;
  width: 100%;
}

a {
  color: #182644;
  text-decoration: none;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
  transition: 0.3s;
  -moz-transition: 0.3s;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  -ms-transition: 0.3s;
}

a:hover {
  text-decoration: none;
  opacity: 0.65;
}

a:active, a:hover {
  outline-width: 0;
}

li {
  margin: 0;
  list-style: none;
}

ul, ol {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6, p, figure, dd, dt, dl {
  margin: 0;
}

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

b, strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

img {
  border-style: none;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  height: auto;
  max-width: 100%;
  vertical-align: middle;
}

button, input, optgroup, select, textarea {
  font-family: sans-serif;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button {
  border: none;
}

button, input {
  overflow: visible;
}

button, select {
  text-transform: none;
}

button, html [type=button], [type=reset], [type=submit] {
  appearance: none;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

textarea {
  overflow: auto;
}

[type=checkbox], [type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  appearance: none;
  outline-offset: -2px;
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  appearance: none;
}

/* Grid System width Flex */
.flexbox {
  display: flex;
}

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

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

.flex-col {
  flex-direction: col;
}

.flex-col-rev {
  flex-direction: col-reverse;
}

.flex-nowrap {
  flex-wrap: nowrap;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse;
}

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

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

.flex-justify-center {
  justify-content: center;
}

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

.flex-justify-around {
  justify-content: space-around;
}

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

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

.flex-align-center {
  align-items: center;
}

.flex-align-baseline {
  align-items: baseline;
}

/*margin*/
.mt0 {
  margin-top: 0px;
}

.mt5 {
  margin-top: 5px;
}

.mt10 {
  margin-top: 10px;
}

.mt15 {
  margin-top: 15px;
}

.mt20 {
  margin-top: 20px;
}

.mt25 {
  margin-top: 25px;
}

.mt30 {
  margin-top: 30px;
}

.mt35 {
  margin-top: 35px;
}

.mt40 {
  margin-top: 40px;
}

.mt45 {
  margin-top: 45px;
}

.mt50 {
  margin-top: 50px;
}

.mt55 {
  margin-top: 55px;
}

.mt60 {
  margin-top: 60px;
}

.mt65 {
  margin-top: 65px;
}

.mt70 {
  margin-top: 70px;
}

.mt75 {
  margin-top: 75px;
}

.mt80 {
  margin-top: 80px;
}

.mt85 {
  margin-top: 85px;
}

.mt90 {
  margin-top: 90px;
}

.mt95 {
  margin-top: 95px;
}

.mt100 {
  margin-top: 100px;
}

.mb0 {
  margin-bottom: 0px;
}

.mb5 {
  margin-bottom: 5px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb15 {
  margin-bottom: 15px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb25 {
  margin-bottom: 25px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb35 {
  margin-bottom: 35px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb45 {
  margin-bottom: 45px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb55 {
  margin-bottom: 55px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb65 {
  margin-bottom: 65px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb75 {
  margin-bottom: 75px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb85 {
  margin-bottom: 85px;
}

.mb90 {
  margin-bottom: 90px;
}

.mb95 {
  margin-bottom: 95px;
}

.mb100 {
  margin-bottom: 100px;
}

@media screen and (max-width: 768px) {
  .mt0 {
    margin-top: 0px;
  }
  .mt5 {
    margin-top: 2.5px;
  }
  .mt10 {
    margin-top: 5px;
  }
  .mt15 {
    margin-top: 7.5px;
  }
  .mt20 {
    margin-top: 10px;
  }
  .mt25 {
    margin-top: 12.5px;
  }
  .mt30 {
    margin-top: 15px;
  }
  .mt35 {
    margin-top: 17.5px;
  }
  .mt40 {
    margin-top: 20px;
  }
  .mt45 {
    margin-top: 22.5px;
  }
  .mt50 {
    margin-top: 25px;
  }
  .mt55 {
    margin-top: 27.5px;
  }
  .mt60 {
    margin-top: 30px;
  }
  .mt65 {
    margin-top: 32.5px;
  }
  .mt70 {
    margin-top: 35px;
  }
  .mt75 {
    margin-top: 37.5px;
  }
  .mt80 {
    margin-top: 40px;
  }
  .mt85 {
    margin-top: 42.5px;
  }
  .mt90 {
    margin-top: 45px;
  }
  .mt95 {
    margin-top: 47.5px;
  }
  .mt100 {
    margin-top: 50px;
  }
  .mb0 {
    margin-bottom: 0px;
  }
  .mb5 {
    margin-bottom: 2.5px;
  }
  .mb10 {
    margin-bottom: 5px;
  }
  .mb15 {
    margin-bottom: 7.5px;
  }
  .mb20 {
    margin-bottom: 10px;
  }
  .mb25 {
    margin-bottom: 12.5px;
  }
  .mb30 {
    margin-bottom: 15px;
  }
  .mb35 {
    margin-bottom: 17.5px;
  }
  .mb40 {
    margin-bottom: 20px;
  }
  .mb45 {
    margin-bottom: 22.5px;
  }
  .mb50 {
    margin-bottom: 25px;
  }
  .mb55 {
    margin-bottom: 27.5px;
  }
  .mb60 {
    margin-bottom: 30px;
  }
  .mb65 {
    margin-bottom: 32.5px;
  }
  .mb70 {
    margin-bottom: 35px;
  }
  .mb75 {
    margin-bottom: 37.5px;
  }
  .mb80 {
    margin-bottom: 40px;
  }
  .mb85 {
    margin-bottom: 42.5px;
  }
  .mb90 {
    margin-bottom: 45px;
  }
  .mb95 {
    margin-bottom: 47.5px;
  }
  .mb100 {
    margin-bottom: 50px;
  }
}
/*padding*/
.pt0 {
  padding-top: 0px;
}

.pt5 {
  padding-top: 5px;
}

.pt10 {
  padding-top: 10px;
}

.pt15 {
  padding-top: 15px;
}

.pt20 {
  padding-top: 20px;
}

.pt25 {
  padding-top: 25px;
}

.pt30 {
  padding-top: 30px;
}

.pt35 {
  padding-top: 35px;
}

.pt40 {
  padding-top: 40px;
}

.pt45 {
  padding-top: 45px;
}

.pt50 {
  padding-top: 50px;
}

.pt55 {
  padding-top: 55px;
}

.pt60 {
  padding-top: 60px;
}

.pt65 {
  padding-top: 65px;
}

.pt70 {
  padding-top: 70px;
}

.pt75 {
  padding-top: 75px;
}

.pt80 {
  padding-top: 80px;
}

.pt85 {
  padding-top: 85px;
}

.pt90 {
  padding-top: 90px;
}

.pt95 {
  padding-top: 95px;
}

.pt100 {
  padding-top: 100px;
}

.pb0 {
  padding-bottom: 0px;
}

.pb5 {
  padding-bottom: 5px;
}

.pb10 {
  padding-bottom: 10px;
}

.pb15 {
  padding-bottom: 15px;
}

.pb20 {
  padding-bottom: 20px;
}

.pb25 {
  padding-bottom: 25px;
}

.pb30 {
  padding-bottom: 30px;
}

.pb35 {
  padding-bottom: 35px;
}

.pb40 {
  padding-bottom: 40px;
}

.pb45 {
  padding-bottom: 45px;
}

.pb50 {
  padding-bottom: 50px;
}

.pb55 {
  padding-bottom: 55px;
}

.pb60 {
  padding-bottom: 60px;
}

.pb65 {
  padding-bottom: 65px;
}

.pb70 {
  padding-bottom: 70px;
}

.pb75 {
  padding-bottom: 75px;
}

.pb80 {
  padding-bottom: 80px;
}

.pb85 {
  padding-bottom: 85px;
}

.pb90 {
  padding-bottom: 90px;
}

.pb95 {
  padding-bottom: 95px;
}

.pb100 {
  padding-bottom: 100px;
}

.pl0 {
  padding-left: 0px;
}

.pl5 {
  padding-left: 5px;
}

.pl10 {
  padding-left: 10px;
}

.pl15 {
  padding-left: 15px;
}

.pl20 {
  padding-left: 20px;
}

.pl25 {
  padding-left: 25px;
}

.pl30 {
  padding-left: 30px;
}

.pl35 {
  padding-left: 35px;
}

.pl40 {
  padding-left: 40px;
}

.pl45 {
  padding-left: 45px;
}

.pl50 {
  padding-left: 50px;
}

.pl55 {
  padding-left: 55px;
}

.pl60 {
  padding-left: 60px;
}

.pl65 {
  padding-left: 65px;
}

.pl70 {
  padding-left: 70px;
}

.pl75 {
  padding-left: 75px;
}

.pl80 {
  padding-left: 80px;
}

.pl85 {
  padding-left: 85px;
}

.pl90 {
  padding-left: 90px;
}

.pl95 {
  padding-left: 95px;
}

.pl100 {
  padding-left: 100px;
}

.pr0 {
  padding-right: 0px;
}

.pr5 {
  padding-right: 5px;
}

.pr10 {
  padding-right: 10px;
}

.pr15 {
  padding-right: 15px;
}

.pr20 {
  padding-right: 20px;
}

.pr25 {
  padding-right: 25px;
}

.pr30 {
  padding-right: 30px;
}

.pr35 {
  padding-right: 35px;
}

.pr40 {
  padding-right: 40px;
}

.pr45 {
  padding-right: 45px;
}

.pr50 {
  padding-right: 50px;
}

.pr55 {
  padding-right: 55px;
}

.pr60 {
  padding-right: 60px;
}

.pr65 {
  padding-right: 65px;
}

.pr70 {
  padding-right: 70px;
}

.pr75 {
  padding-right: 75px;
}

.pr80 {
  padding-right: 80px;
}

.pr85 {
  padding-right: 85px;
}

.pr90 {
  padding-right: 90px;
}

.pr95 {
  padding-right: 95px;
}

.pr100 {
  padding-right: 100px;
}

@media screen and (max-width: 768px) {
  .pt0 {
    padding-top: 0px;
  }
  .pt5 {
    padding-top: 2.5px;
  }
  .pt10 {
    padding-top: 5px;
  }
  .pt15 {
    padding-top: 7.5px;
  }
  .pt20 {
    padding-top: 10px;
  }
  .pt25 {
    padding-top: 12.5px;
  }
  .pt30 {
    padding-top: 15px;
  }
  .pt35 {
    padding-top: 17.5px;
  }
  .pt40 {
    padding-top: 20px;
  }
  .pt45 {
    padding-top: 22.5px;
  }
  .pt50 {
    padding-top: 25px;
  }
  .pt55 {
    padding-top: 27.5px;
  }
  .pt60 {
    padding-top: 30px;
  }
  .pt65 {
    padding-top: 32.5px;
  }
  .pt70 {
    padding-top: 35px;
  }
  .pt75 {
    padding-top: 37.5px;
  }
  .pt80 {
    padding-top: 40px;
  }
  .pt85 {
    padding-top: 42.5px;
  }
  .pt90 {
    padding-top: 45px;
  }
  .pt95 {
    padding-top: 47.5px;
  }
  .pt100 {
    padding-top: 50px;
  }
  .pb0 {
    padding-bottom: 0px;
  }
  .pb5 {
    padding-bottom: 2.5px;
  }
  .pb10 {
    padding-bottom: 5px;
  }
  .pb15 {
    padding-bottom: 7.5px;
  }
  .pb20 {
    padding-bottom: 10px;
  }
  .pb25 {
    padding-bottom: 12.5px;
  }
  .pb30 {
    padding-bottom: 15px;
  }
  .pb35 {
    padding-bottom: 17.5px;
  }
  .pb40 {
    padding-bottom: 20px;
  }
  .pb45 {
    padding-bottom: 22.5px;
  }
  .pb50 {
    padding-bottom: 25px;
  }
  .pb55 {
    padding-bottom: 27.5px;
  }
  .pb60 {
    padding-bottom: 30px;
  }
  .pb65 {
    padding-bottom: 32.5px;
  }
  .pb70 {
    padding-bottom: 35px;
  }
  .pb75 {
    padding-bottom: 37.5px;
  }
  .pb80 {
    padding-bottom: 40px;
  }
  .pb85 {
    padding-bottom: 42.5px;
  }
  .pb90 {
    padding-bottom: 45px;
  }
  .pb95 {
    padding-bottom: 47.5px;
  }
  .pb100 {
    padding-bottom: 50px;
  }
  .pl0 {
    padding-left: 0px;
  }
  .pl5 {
    padding-left: 2.5px;
  }
  .pl10 {
    padding-left: 5px;
  }
  .pl15 {
    padding-left: 7.5px;
  }
  .pl20 {
    padding-left: 10px;
  }
  .pl25 {
    padding-left: 12.5px;
  }
  .pl30 {
    padding-left: 15px;
  }
  .pl35 {
    padding-left: 17.5px;
  }
  .pl40 {
    padding-left: 20px;
  }
  .pl45 {
    padding-left: 22.5px;
  }
  .pl50 {
    padding-left: 25px;
  }
  .pl55 {
    padding-left: 27.5px;
  }
  .pl60 {
    padding-left: 30px;
  }
  .pl65 {
    padding-left: 32.5px;
  }
  .pl70 {
    padding-left: 35px;
  }
  .pl75 {
    padding-left: 37.5px;
  }
  .pl80 {
    padding-left: 40px;
  }
  .pl85 {
    padding-left: 42.5px;
  }
  .pl90 {
    padding-left: 45px;
  }
  .pl95 {
    padding-left: 47.5px;
  }
  .pl100 {
    padding-left: 50px;
  }
  .pr0 {
    padding-right: 0px;
  }
  .pr5 {
    padding-right: 2.5px;
  }
  .pr10 {
    padding-right: 5px;
  }
  .pr15 {
    padding-right: 7.5px;
  }
  .pr20 {
    padding-right: 10px;
  }
  .pr25 {
    padding-right: 12.5px;
  }
  .pr30 {
    padding-right: 15px;
  }
  .pr35 {
    padding-right: 17.5px;
  }
  .pr40 {
    padding-right: 20px;
  }
  .pr45 {
    padding-right: 22.5px;
  }
  .pr50 {
    padding-right: 25px;
  }
  .pr55 {
    padding-right: 27.5px;
  }
  .pr60 {
    padding-right: 30px;
  }
  .pr65 {
    padding-right: 32.5px;
  }
  .pr70 {
    padding-right: 35px;
  }
  .pr75 {
    padding-right: 37.5px;
  }
  .pr80 {
    padding-right: 40px;
  }
  .pr85 {
    padding-right: 42.5px;
  }
  .pr90 {
    padding-right: 45px;
  }
  .pr95 {
    padding-right: 47.5px;
  }
  .pr100 {
    padding-right: 50px;
  }
}
/* form input*/
table {
  border-collapse: collapse;
  border-spacing: 0;
  max-width: 100%;
  width: 100%;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=url],
input[type=password],
input[type=number],
select {
  font-size: 1.6rem;
  background: #fff;
  border: 1px solid #E8E8E8;
  margin: 2px;
  padding: 0 0.3em;
  width: 100%;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=number]:focus,
select:focus {
  outline: none;
  border-color: #000;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  appearance: none;
  margin: 0;
}

input[type=number] {
  appearance: textfield;
}

select {
  font-size: 1.3rem;
  height: 2.5em;
  padding: 0.5em;
  width: auto;
  min-width: 7em;
}

textarea {
  font-size: 1.6rem;
  background: #fff;
  border: 1px solid #E8E8E8;
  padding: 0 0.3em;
  resize: vertical;
  width: 100%;
}
textarea:focus {
  outline: none;
  border-color: #000;
}

input[type=checkbox],
input[type=radio] {
  background: #fff;
  cursor: pointer;
  margin-right: 0.5em;
}

textarea::placeholder,
input::placeholder {
  font-size: 1.4rem;
  color: #C5C5C5;
}

/* wordpress pager */
.pager {
  display: flex;
  height: 35px;
  margin-bottom: 60px;
  max-width: 100%;
  padding: 30px 0;
  position: relative;
}
.pager a {
  flex: 1;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  display: block;
  position: relative;
  line-height: 1.42857143;
  text-decoration: none;
  border-radius: 4px;
  border: 1px solid #E8E8E8;
  color: #000;
  font-weight: bold;
  margin: 5px;
  padding: 5px 10px;
}

.pc .pager a:active,
.pc .pager a:hover,
.pc .pager a:focus {
  border-color: #000;
  color: #000;
}

.pager .previous, .pager .next,
.pager .back {
  flex: 1;
}

.pager .previous a {
  padding-left: 1.5em;
}

.pager .previous a:before {
  content: "≪";
  content: "";
  position: absolute;
  left: 5px;
  top: 4px;
}

.pager .next a {
  padding-right: 1.5em;
}
.pager .next a:after {
  content: "≫";
  content: "";
  position: absolute;
  right: 5px;
  top: 4px;
}

.pager .back a {
  padding: 5px;
}

/* wordpress pagination */
.pagination {
  display: flex;
  justify-content: center;
  text-align: center;
}

.pagination > li {
  position: relative;
}

.pagination > li > span,
.pagination > li > a {
  border-radius: 4px;
  border: 1px solid #E8E8E8;
  color: #231815;
  margin: 3px;
  width: 2.4em;
  height: 2.4em;
  line-height: 2.4;
  display: block;
  text-decoration: none;
  padding: 0;
}

.pagination > li > span {
  border-color: #231815;
  cursor: default;
}

.pc .pagination > li > a:active,
.pc .pagination > li > a:hover,
.pc .pagination > li > a:focus {
  border-color: #000;
  color: #000;
}

.pagination > li span.dot {
  border: none;
  width: 1em;
}

/* wordpress wp-pagenavi */
.wp-pagenavi {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.wp-pagenavi a,
.wp-pagenavi span {
  font-size: 1.6rem;
  border-radius: 100%;
  border: 1px solid #000;
  color: #000;
  margin: 3px;
  width: 2.4em;
  height: 2.4em;
  line-height: 2.4;
  display: block;
  text-decoration: none;
  padding: 0;
}
.wp-pagenavi .current {
  border: 0;
  color: #fff;
  background: #000;
  font-weight: normal;
}
.wp-pagenavi a:hover {
  border: 1px solid #000;
}

/* wordpress breadcrumbs */
.txt_ellipsis .breadcrumbs span:last-of-type {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  width: 130px;
  display: inline-block;
  vertical-align: bottom;
}

.breadcrumbs {
  margin: 2% 0;
  font-size: 1.2rem;
}
.breadcrumbs .container {
  margin-left: 0;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}
.breadcrumbs a {
  color: #333;
  text-decoration: none;
}
.breadcrumbs a:hover {
  color: #000;
}
.breadcrumbs ul, .breadcrumbs ol {
  list-style: none;
  padding: 0;
}
.breadcrumbs li {
  display: inline;
}
.breadcrumbs li:before {
  content: ">";
  margin: 0 10px;
}
.breadcrumbs li:first-child:before {
  display: none;
}

@media screen and (max-width: 560px) {
  .breadcrumbs {
    font-size: 1rem;
  }
  .breadcrumbs li:before {
    margin: 0 5px;
  }
}
/***************************

style/header.scss

***************************/
/* toggle button */
.toggle {
  display: none;
}

@media screen and (max-width: 1024px) {
  .toggle {
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    background: none;
    border: none;
    outline: none;
    position: fixed;
    width: 60px;
    height: 60px;
    right: 0;
    top: 0;
    z-index: 105;
    background: #182644;
  }
}
@media screen and (max-width: 1024px) and (max-width: 450px) {
  .toggle {
    width: 55px;
    height: 55px;
  }
}
@media screen and (max-width: 1024px) {
  .toggle__bar {
    position: relative;
    margin: 8px auto;
    user-select: none;
  }
  .toggle__bar, .toggle__bar::before, .toggle__bar::after {
    display: block;
    width: 30px;
    height: 2px;
    background-color: #fff;
    outline: 1px solid transparent;
    transition-property: background-color, transform;
    transition-duration: 0.3s;
  }
  .toggle__bar::before, .toggle__bar::after {
    position: absolute;
    content: "";
  }
  .toggle__bar::before {
    top: -8px;
  }
  .toggle__bar::after {
    top: 8px;
  }
}
.toggle.active .toggle__bar {
  background-color: transparent;
}

.toggle.active .toggle__bar::before {
  transform: translateY(8px) rotate(45deg);
}

.toggle.active .toggle__bar::after {
  transform: translateY(-8px) rotate(-45deg);
}

.fade {
  opacity: 0;
  transition: opacity 0.15s linear;
}

.fade.in {
  opacity: 1;
}

/***************************

 header

***************************/
body.hidden {
  overflow: hidden;
}

.header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 100;
  padding: 40px;
  transition: all 0.6s;
}
@media screen and (max-width: 1250px) {
  .header {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 1024px) {
  .header {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
.header.fixedmenu {
  padding-top: 15px;
  padding-bottom: 15px;
}
.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header .logo {
  font-size: 1em;
  line-height: 1;
}
@media screen and (max-width: 450px) {
  .header .logo {
    width: 181px;
  }
}
.header-overlay {
  position: fixed;
  width: 100%;
  height: 100lvh;
  top: 0;
  left: 0;
  background: rgba(24, 38, 68, 0.6);
  z-index: 100;
  opacity: 0;
  visibility: hidden;
}
.header-overlay.show {
  opacity: 1;
  visibility: visible;
}

.main-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 5px 45px;
}
@media screen and (max-width: 1250px) {
  .main-nav {
    gap: 5px 25px;
  }
}
@media screen and (max-width: 1024px) {
  .main-nav {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 15px;
  }
}
@media screen and (max-width: 1024px) {
  .main-nav li {
    opacity: 0;
    translate: 10px 0;
  }
}
.main-nav li.--blank {
  display: flex;
  align-items: center;
  gap: 5px;
}
.main-nav li.--blank span {
  display: block;
  width: 18px;
  height: 18px;
  border: 1px solid #182644;
  border-radius: 100%;
  background: url("../img/common/arrow02@2x.png") no-repeat center center;
  background-size: 15px 15px;
}
.main-nav li a {
  font-weight: 700;
  background: linear-gradient(0deg, #182644 1px, transparent 1px);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 0 1px;
}
@media screen and (min-width: 1025px) {
  .main-nav li a {
    white-space: nowrap;
  }
}
.main-nav li a:hover {
  background-size: 100% 1px;
}

/* Hamburger menu */
@media screen and (max-width: 1024px) {
  .gnav {
    position: fixed;
    right: 0;
    top: 0;
    max-width: 375px;
    width: 100%;
    height: 100lvh;
    padding: 80px 20px 25px;
    background: #fff;
    z-index: 102;
    transition: all 0.6s;
    translate: 100% 0;
  }
  .gnav.active {
    translate: 0 0;
  }
}
/***************************

style/footer.scss

***************************/
.footer {
  width: calc(100% - 20px);
  background: #182644;
  margin-left: auto;
  margin-right: auto;
  border-radius: 100px 100px 0 0;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .footer {
    border-radius: 50px 50px 0 0;
  }
}
@media screen and (max-width: 450px) {
  .footer {
    border-radius: 25px 25px 0 0;
  }
}
.footer .add {
  width: 100%;
  padding: 130px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
@media screen and (max-width: 768px) {
  .footer .add {
    padding: 70px 0;
  }
}
.footer .add-flex {
  max-width: 1780px;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 80px;
  padding-left: 40px;
  padding-right: 40px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .footer .add-flex {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
}
@media screen and (max-width: 450px) {
  .footer .add-flex {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.footer .add-flex-block {
  max-width: 1030px;
  width: 100%;
}
.footer .add-flex-menu {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  row-gap: 40px;
  column-gap: clamp(30px, 4.1666666667vw, 80px);
  margin-bottom: 80px;
}
@media screen and (max-width: 1450px) {
  .footer .add-flex-menu {
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  .footer .add-flex-menu {
    align-items: center;
    gap: 25px;
    margin-bottom: 40px;
  }
}
.footer .add-flex-menu-inner {
  display: flex;
  row-gap: 20px;
  column-gap: clamp(20px, 3.125vw, 60px);
}
@media screen and (max-width: 768px) {
  .footer .add-flex-menu-inner {
    gap: 20px 60px;
  }
}
@media screen and (max-width: 450px) {
  .footer .add-flex-menu-inner {
    flex-direction: column;
    gap: 10px;
  }
}
@media screen and (max-width: 450px) {
  .footer .add-flex-menu-inner ul li {
    text-align: center;
  }
}
.footer .add-flex-menu-inner ul li:not(:last-child) {
  margin-bottom: 20px;
}
@media screen and (max-width: 450px) {
  .footer .add-flex-menu-inner ul li:not(:last-child) {
    margin-bottom: 10px;
  }
}
.footer .add-flex-menu-inner ul li.--blank {
  display: flex;
  align-items: center;
  gap: 5px;
}
@media screen and (max-width: 450px) {
  .footer .add-flex-menu-inner ul li.--blank {
    justify-content: center;
    padding-left: 1em;
  }
}
.footer .add-flex-menu-inner ul li.--blank span {
  display: block;
  width: 18px;
  height: 18px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 100%;
  background: url("../img/common/arrow01.png") no-repeat center center;
  background-size: 14px 14px;
}
.footer .add-flex-menu-inner ul li a {
  color: #fff;
  background: linear-gradient(0deg, #fff 1px, transparent 1px);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 0 1px;
}
.footer .add-flex-menu-inner ul li a:hover {
  background-size: 100% 1px;
}
.footer .add-flex-contact {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px 0;
}
@media screen and (max-width: 1350px) {
  .footer .add-flex-contact {
    flex-direction: column;
    align-items: flex-start;
    padding: 40px 25px;
  }
}
@media screen and (max-width: 768px) {
  .footer .add-flex-contact {
    padding: 25px;
  }
}
.footer .add-flex-contact:before {
  position: absolute;
  content: "";
  width: calc(100% + 20px);
  height: calc(100% + 20px);
  background: linear-gradient(225deg, #0380EE, #182644);
  mix-blend-mode: screen;
  opacity: 0.3;
  border-radius: 40px;
  top: -10px;
  left: -10px;
  z-index: 2;
}
@media screen and (max-width: 450px) {
  .footer .add-flex-contact:before {
    border-radius: 20px;
  }
}
.footer .add-flex-contact:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 3;
  background: #121E37;
  border-radius: 34px;
}
@media screen and (max-width: 450px) {
  .footer .add-flex-contact:after {
    border-radius: 17px;
  }
}
.footer .add-flex-contact h3 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 5px 20px;
  font-family: "Marcellus", serif;
  font-weight: 400;
  font-size: clamp(2.6rem, 4.1666666667vw, 3.2rem);
  letter-spacing: 0.02em;
  padding-right: clamp(20px, 3.125vw, 60px);
  z-index: 5;
}
@media screen and (max-width: 1350px) {
  .footer .add-flex-contact h3 {
    flex-wrap: wrap;
    padding-right: 0;
  }
}
@media screen and (max-width: 450px) {
  .footer .add-flex-contact h3 {
    justify-content: center;
    text-align: center;
  }
}
.footer .add-flex-contact h3 span {
  position: relative;
  padding-left: 32px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: clamp(1.4rem, 2.0833333333vw, 1.6rem);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 450px) {
  .footer .add-flex-contact h3 span {
    padding-left: 0;
  }
}
.footer .add-flex-contact h3 span:before {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  background: radial-gradient(at top right, #0380EE, #182644);
  border-radius: 100%;
  left: 0;
  top: calc(0.75em - 6px);
  z-index: 5;
}
@media screen and (max-width: 450px) {
  .footer .add-flex-contact h3 span:before {
    display: none;
  }
}
.footer .add-flex-contact .tel {
  position: relative;
  text-align: center;
  padding-left: clamp(20px, 3.125vw, 60px);
  border-left: 1px solid rgba(255, 255, 255, 0.25);
  z-index: 5;
}
@media screen and (max-width: 1350px) {
  .footer .add-flex-contact .tel {
    border-left: none;
    padding-left: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 20px;
  }
}
@media screen and (max-width: 450px) {
  .footer .add-flex-contact .tel {
    justify-content: center;
  }
}
.footer .add-flex-contact .tel a {
  font-family: "Jost", sans-serif;
  font-weight: 300;
  font-size: clamp(2.4rem, 3.515625vw, 2.7rem);
  color: #fff;
  text-align: center;
}
.footer .add-flex-contact .tel a span {
  font-size: clamp(2.8rem, 5.2083333333vw, 4rem);
  letter-spacing: 0.02em;
}
.footer .add-flex-contact .tel p {
  font-weight: 400;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 1350px) {
  .footer .add-flex-contact .tel p {
    text-align: left;
  }
}
.footer .add .logo p {
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 30px;
  text-align: center;
}
.footer .group {
  width: 100%;
  padding: 120px 0 100px;
}
@media screen and (max-width: 768px) {
  .footer .group {
    padding: 60px 0 30px;
  }
}
.footer .group-flex {
  max-width: 1780px;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 80px;
  padding-left: 40px;
  padding-right: 40px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1024px) {
  .footer .group-flex {
    flex-direction: column;
    gap: 40px;
  }
}
@media screen and (max-width: 450px) {
  .footer .group-flex {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.footer .group-flex-ttl {
  position: relative;
  white-space: nowrap;
  padding-left: 40px;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.footer .group-flex-ttl:before {
  position: absolute;
  content: "";
  width: 26px;
  height: 26px;
  background: radial-gradient(at top right, #0380EE, #182644);
  border-radius: 100%;
  left: 0;
  top: calc(0.75em - 13px);
  z-index: 2;
}
.footer .group-flex-ttl:after {
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  background: #182644;
  border-radius: 100%;
  left: 5px;
  top: calc(0.75em - 8px);
  z-index: 3;
}
.footer .group-company {
  display: flex;
  max-width: 1175px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .footer .group-company {
    flex-direction: column;
  }
}
.footer .group-company li {
  max-width: 590px;
  width: 100%;
  padding: 15px clamp(20px, 3.125vw, 60px);
  border-left: 1px solid rgba(255, 255, 255, 0.25);
}
@media screen and (max-width: 768px) {
  .footer .group-company li {
    max-width: 100%;
    padding: 30px 0;
    border-left: none;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
  }
}
.footer .group-company li a {
  position: relative;
  display: block;
  width: fit-content;
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.02em;
  padding-right: 52px;
  margin-left: auto;
}
.footer .group-company li a:before {
  position: absolute;
  content: "";
  width: 42px;
  height: 42px;
  background: url("../img/common/arrow01@2x.png") no-repeat center center;
  background-size: 25px 25px;
  border: 1px solid #A7ACB8;
  border-radius: 100%;
  right: 0;
  top: calc(0.75em - 21px);
  z-index: 3;
}
.footer .group-company li a span {
  background: linear-gradient(0deg, #fff 1px, transparent 1px);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 1px;
  transition: all 0.6s;
}
.footer .group-company li a:hover span {
  background-size: 0 1px;
}
.footer small {
  width: 100%;
  min-height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.3rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: rgba(255, 255, 255, 0.5);
  background: #121E37;
  border-radius: 40px 40px 0 0;
}

.pagetop {
  position: fixed;
  right: 15px;
  bottom: 10px;
  z-index: 100;
}
@media screen and (max-width: 768px) {
  .pagetop {
    right: 0;
    width: 91px;
  }
}
@media screen and (max-width: 450px) {
  .pagetop {
    width: 71px;
  }
}

/*////////////////////////

 user common css

////////////////////////*/
.wrap1700 {
  max-width: 1740px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-right: 20px;
  padding-left: 20px;
}

.wrap1620 {
  max-width: 1660px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-right: 20px;
  padding-left: 20px;
}

.tac {
  text-align: center;
}

.tar {
  text-align: right;
}

.vt_align_top {
  vertical-align: top;
}

.wd_100 {
  width: 100%;
}

@media screen and (min-width: 651px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
@media screen and (max-width: 650px) {
  a[href^="tel:"] {
    text-decoration: underline;
    display: inline-block;
  }
}
/*////////////////////////

fonts

////////////////////////*/
.ls8 {
  letter-spacing: 0.08em;
}

.ls5 {
  letter-spacing: 0.05em;
}

.ls2 {
  letter-spacing: 0.02em;
}

.lh2 {
  line-height: 2;
}

.lh18 {
  line-height: 1.8;
}

.lh1 {
  line-height: 1;
}

.thin {
  font-weight: 100;
}

.ex-light {
  font-weight: 200;
}

.light {
  font-weight: 300;
}

.regular {
  font-weight: 400;
}

.medium {
  font-weight: 500;
}

.sm-bold {
  font-weight: 600;
}

.bold {
  font-weight: 700;
}

.ex-bold {
  font-weight: 800;
}

.black {
  font-weight: 900;
}

.fz5 {
  font-size: 0.5rem;
}

.fz6 {
  font-size: 0.6rem;
}

.fz7 {
  font-size: 0.7rem;
}

.fz8 {
  font-size: 0.8rem;
}

.fz9 {
  font-size: 0.9rem;
}

.fz10 {
  font-size: 1rem;
}

.fz11 {
  font-size: 1.1rem;
}
@media screen and (max-width: 450px) {
  .fz11 {
    font-size: 0.9rem;
  }
}

.fz12 {
  font-size: 1.2rem;
}
@media screen and (max-width: 450px) {
  .fz12 {
    font-size: 1rem;
  }
}

.fz13 {
  font-size: 1.3rem;
}
@media screen and (max-width: 450px) {
  .fz13 {
    font-size: 1.1rem;
  }
}

.fz14 {
  font-size: 1.4rem;
}
@media screen and (max-width: 450px) {
  .fz14 {
    font-size: 1.2rem;
  }
}

.fz15 {
  font-size: 1.5rem;
}
@media screen and (max-width: 450px) {
  .fz15 {
    font-size: 1.3rem;
  }
}

.fz16 {
  font-size: 1.6rem;
}
@media screen and (max-width: 450px) {
  .fz16 {
    font-size: 1.4rem;
  }
}

.fz17 {
  font-size: 1.7rem;
}
@media screen and (max-width: 450px) {
  .fz17 {
    font-size: 1.5rem;
  }
}

.fz18 {
  font-size: 1.8rem;
}
@media screen and (max-width: 450px) {
  .fz18 {
    font-size: 1.6rem;
  }
}

.fz19 {
  font-size: 1.9rem;
}
@media screen and (max-width: 450px) {
  .fz19 {
    font-size: 1.7rem;
  }
}

.fz20 {
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .fz20 {
    font-size: clamp(1.6rem, 2.6041666667vw, 2rem);
  }
}

.fz21 {
  font-size: 2.1rem;
}
@media screen and (max-width: 768px) {
  .fz21 {
    font-size: clamp(1.7rem, 2.734375vw, 2.1rem);
  }
}

.fz22 {
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  .fz22 {
    font-size: clamp(1.8rem, 2.8645833333vw, 2.2rem);
  }
}

.fz23 {
  font-size: 2.3rem;
}
@media screen and (max-width: 768px) {
  .fz23 {
    font-size: clamp(1.9rem, 2.9947916667vw, 2.3rem);
  }
}

.fz24 {
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .fz24 {
    font-size: clamp(2rem, 3.125vw, 2.4rem);
  }
}

.fz25 {
  font-size: 2.5rem;
}
@media screen and (max-width: 768px) {
  .fz25 {
    font-size: clamp(2.1rem, 3.2552083333vw, 2.5rem);
  }
}

.fz26 {
  font-size: 2.6rem;
}
@media screen and (max-width: 768px) {
  .fz26 {
    font-size: clamp(2.2rem, 3.3854166667vw, 2.6rem);
  }
}

.fz27 {
  font-size: 2.7rem;
}
@media screen and (max-width: 768px) {
  .fz27 {
    font-size: clamp(2.3rem, 3.515625vw, 2.7rem);
  }
}

.fz28 {
  font-size: 2.8rem;
}
@media screen and (max-width: 768px) {
  .fz28 {
    font-size: clamp(2.4rem, 3.6458333333vw, 2.8rem);
  }
}

.fz29 {
  font-size: 2.9rem;
}
@media screen and (max-width: 768px) {
  .fz29 {
    font-size: clamp(2.5rem, 3.7760416667vw, 2.9rem);
  }
}

.fz30 {
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  .fz30 {
    font-size: clamp(2.4rem, 3.90625vw, 3rem);
  }
}

.fz31 {
  font-size: 3.1rem;
}
@media screen and (max-width: 768px) {
  .fz31 {
    font-size: clamp(2.5rem, 4.0364583333vw, 3.1rem);
  }
}

.fz32 {
  font-size: 3.2rem;
}
@media screen and (max-width: 768px) {
  .fz32 {
    font-size: clamp(2.6rem, 4.1666666667vw, 3.2rem);
  }
}

.fz33 {
  font-size: 3.3rem;
}
@media screen and (max-width: 768px) {
  .fz33 {
    font-size: clamp(2.7rem, 4.296875vw, 3.3rem);
  }
}

.fz34 {
  font-size: 3.4rem;
}
@media screen and (max-width: 768px) {
  .fz34 {
    font-size: clamp(2.8rem, 4.4270833333vw, 3.4rem);
  }
}

.fz35 {
  font-size: 3.5rem;
}
@media screen and (max-width: 768px) {
  .fz35 {
    font-size: clamp(2.9rem, 4.5572916667vw, 3.5rem);
  }
}

.fz36 {
  font-size: 3.6rem;
}
@media screen and (max-width: 768px) {
  .fz36 {
    font-size: clamp(3rem, 4.6875vw, 3.6rem);
  }
}

.fz37 {
  font-size: 3.7rem;
}
@media screen and (max-width: 768px) {
  .fz37 {
    font-size: clamp(3.1rem, 4.8177083333vw, 3.7rem);
  }
}

.fz38 {
  font-size: 3.8rem;
}
@media screen and (max-width: 768px) {
  .fz38 {
    font-size: clamp(3.2rem, 4.9479166667vw, 3.8rem);
  }
}

.fz39 {
  font-size: 3.9rem;
}
@media screen and (max-width: 768px) {
  .fz39 {
    font-size: clamp(3.3rem, 5.078125vw, 3.9rem);
  }
}

.fz40 {
  font-size: 4rem;
}
@media screen and (max-width: 768px) {
  .fz40 {
    font-size: clamp(3.2rem, 5.2083333333vw, 4rem);
  }
}

.fz41 {
  font-size: 4.1rem;
}
@media screen and (max-width: 768px) {
  .fz41 {
    font-size: clamp(3.3rem, 5.3385416667vw, 4.1rem);
  }
}

.fz42 {
  font-size: 4.2rem;
}
@media screen and (max-width: 768px) {
  .fz42 {
    font-size: clamp(3.4rem, 5.46875vw, 4.2rem);
  }
}

.fz43 {
  font-size: 4.3rem;
}
@media screen and (max-width: 768px) {
  .fz43 {
    font-size: clamp(3.5rem, 5.5989583333vw, 4.3rem);
  }
}

.fz44 {
  font-size: 4.4rem;
}
@media screen and (max-width: 768px) {
  .fz44 {
    font-size: clamp(3.6rem, 5.7291666667vw, 4.4rem);
  }
}

.fz45 {
  font-size: 4.5rem;
}
@media screen and (max-width: 768px) {
  .fz45 {
    font-size: clamp(3.7rem, 5.859375vw, 4.5rem);
  }
}

.fz46 {
  font-size: 4.6rem;
}
@media screen and (max-width: 768px) {
  .fz46 {
    font-size: clamp(3.8rem, 5.9895833333vw, 4.6rem);
  }
}

.fz47 {
  font-size: 4.7rem;
}
@media screen and (max-width: 768px) {
  .fz47 {
    font-size: clamp(3.9rem, 6.1197916667vw, 4.7rem);
  }
}

.fz48 {
  font-size: 4.8rem;
}
@media screen and (max-width: 768px) {
  .fz48 {
    font-size: clamp(4rem, 6.25vw, 4.8rem);
  }
}

.fz49 {
  font-size: 4.9rem;
}
@media screen and (max-width: 768px) {
  .fz49 {
    font-size: clamp(4.1rem, 6.3802083333vw, 4.9rem);
  }
}

.fz50 {
  font-size: 5rem;
}
@media screen and (max-width: 768px) {
  .fz50 {
    font-size: clamp(4rem, 6.5104166667vw, 5rem);
  }
}

.fz51 {
  font-size: 5.1rem;
}
@media screen and (max-width: 768px) {
  .fz51 {
    font-size: clamp(4.1rem, 6.640625vw, 5.1rem);
  }
}

.fz52 {
  font-size: 5.2rem;
}
@media screen and (max-width: 768px) {
  .fz52 {
    font-size: clamp(4.2rem, 6.7708333333vw, 5.2rem);
  }
}

.fz53 {
  font-size: 5.3rem;
}
@media screen and (max-width: 768px) {
  .fz53 {
    font-size: clamp(4.3rem, 6.9010416667vw, 5.3rem);
  }
}

.fz54 {
  font-size: 5.4rem;
}
@media screen and (max-width: 768px) {
  .fz54 {
    font-size: clamp(4.4rem, 7.03125vw, 5.4rem);
  }
}

.fz55 {
  font-size: 5.5rem;
}
@media screen and (max-width: 768px) {
  .fz55 {
    font-size: clamp(4.5rem, 7.1614583333vw, 5.5rem);
  }
}

.fz56 {
  font-size: 5.6rem;
}
@media screen and (max-width: 768px) {
  .fz56 {
    font-size: clamp(4.6rem, 7.2916666667vw, 5.6rem);
  }
}

.fz57 {
  font-size: 5.7rem;
}
@media screen and (max-width: 768px) {
  .fz57 {
    font-size: clamp(4.7rem, 7.421875vw, 5.7rem);
  }
}

.fz58 {
  font-size: 5.8rem;
}
@media screen and (max-width: 768px) {
  .fz58 {
    font-size: clamp(4.8rem, 7.5520833333vw, 5.8rem);
  }
}

.fz59 {
  font-size: 5.9rem;
}
@media screen and (max-width: 768px) {
  .fz59 {
    font-size: clamp(4.9rem, 7.6822916667vw, 5.9rem);
  }
}

.fz60 {
  font-size: 6rem;
}
@media screen and (max-width: 768px) {
  .fz60 {
    font-size: clamp(4.8rem, 7.8125vw, 6rem);
  }
}

.fz61 {
  font-size: 6.1rem;
}
@media screen and (max-width: 768px) {
  .fz61 {
    font-size: clamp(4.9rem, 7.9427083333vw, 6.1rem);
  }
}

.fz62 {
  font-size: 6.2rem;
}
@media screen and (max-width: 768px) {
  .fz62 {
    font-size: clamp(5rem, 8.0729166667vw, 6.2rem);
  }
}

.fz63 {
  font-size: 6.3rem;
}
@media screen and (max-width: 768px) {
  .fz63 {
    font-size: clamp(5.1rem, 8.203125vw, 6.3rem);
  }
}

.fz64 {
  font-size: 6.4rem;
}
@media screen and (max-width: 768px) {
  .fz64 {
    font-size: clamp(5.2rem, 8.3333333333vw, 6.4rem);
  }
}

.fz65 {
  font-size: 6.5rem;
}
@media screen and (max-width: 768px) {
  .fz65 {
    font-size: clamp(5.3rem, 8.4635416667vw, 6.5rem);
  }
}

.fz66 {
  font-size: 6.6rem;
}
@media screen and (max-width: 768px) {
  .fz66 {
    font-size: clamp(5.4rem, 8.59375vw, 6.6rem);
  }
}

.fz67 {
  font-size: 6.7rem;
}
@media screen and (max-width: 768px) {
  .fz67 {
    font-size: clamp(5.5rem, 8.7239583333vw, 6.7rem);
  }
}

.fz68 {
  font-size: 6.8rem;
}
@media screen and (max-width: 768px) {
  .fz68 {
    font-size: clamp(5.6rem, 8.8541666667vw, 6.8rem);
  }
}

.fz69 {
  font-size: 6.9rem;
}
@media screen and (max-width: 768px) {
  .fz69 {
    font-size: clamp(5.7rem, 8.984375vw, 6.9rem);
  }
}

.fz70 {
  font-size: 7rem;
}
@media screen and (max-width: 768px) {
  .fz70 {
    font-size: clamp(5.6rem, 9.1145833333vw, 7rem);
  }
}

.fz71 {
  font-size: 7.1rem;
}
@media screen and (max-width: 768px) {
  .fz71 {
    font-size: clamp(5.7rem, 9.2447916667vw, 7.1rem);
  }
}

.fz72 {
  font-size: 7.2rem;
}
@media screen and (max-width: 768px) {
  .fz72 {
    font-size: clamp(5.8rem, 9.375vw, 7.2rem);
  }
}

.fz73 {
  font-size: 7.3rem;
}
@media screen and (max-width: 768px) {
  .fz73 {
    font-size: clamp(5.9rem, 9.5052083333vw, 7.3rem);
  }
}

.fz74 {
  font-size: 7.4rem;
}
@media screen and (max-width: 768px) {
  .fz74 {
    font-size: clamp(6rem, 9.6354166667vw, 7.4rem);
  }
}

.fz75 {
  font-size: 7.5rem;
}
@media screen and (max-width: 768px) {
  .fz75 {
    font-size: clamp(6.1rem, 9.765625vw, 7.5rem);
  }
}

.fz76 {
  font-size: 7.6rem;
}
@media screen and (max-width: 768px) {
  .fz76 {
    font-size: clamp(6.2rem, 9.8958333333vw, 7.6rem);
  }
}

.fz77 {
  font-size: 7.7rem;
}
@media screen and (max-width: 768px) {
  .fz77 {
    font-size: clamp(6.3rem, 10.0260416667vw, 7.7rem);
  }
}

.fz78 {
  font-size: 7.8rem;
}
@media screen and (max-width: 768px) {
  .fz78 {
    font-size: clamp(6.4rem, 10.15625vw, 7.8rem);
  }
}

.fz79 {
  font-size: 7.9rem;
}
@media screen and (max-width: 768px) {
  .fz79 {
    font-size: clamp(6.5rem, 10.2864583333vw, 7.9rem);
  }
}

.fz80 {
  font-size: 8rem;
}
@media screen and (max-width: 768px) {
  .fz80 {
    font-size: clamp(6.4rem, 10.4166666667vw, 8rem);
  }
}

.fz81 {
  font-size: 8.1rem;
}
@media screen and (max-width: 768px) {
  .fz81 {
    font-size: clamp(6.5rem, 10.546875vw, 8.1rem);
  }
}

.fz82 {
  font-size: 8.2rem;
}
@media screen and (max-width: 768px) {
  .fz82 {
    font-size: clamp(6.6rem, 10.6770833333vw, 8.2rem);
  }
}

.fz83 {
  font-size: 8.3rem;
}
@media screen and (max-width: 768px) {
  .fz83 {
    font-size: clamp(6.7rem, 10.8072916667vw, 8.3rem);
  }
}

.fz84 {
  font-size: 8.4rem;
}
@media screen and (max-width: 768px) {
  .fz84 {
    font-size: clamp(6.8rem, 10.9375vw, 8.4rem);
  }
}

.fz85 {
  font-size: 8.5rem;
}
@media screen and (max-width: 768px) {
  .fz85 {
    font-size: clamp(6.9rem, 11.0677083333vw, 8.5rem);
  }
}

.fz86 {
  font-size: 8.6rem;
}
@media screen and (max-width: 768px) {
  .fz86 {
    font-size: clamp(7rem, 11.1979166667vw, 8.6rem);
  }
}

.fz87 {
  font-size: 8.7rem;
}
@media screen and (max-width: 768px) {
  .fz87 {
    font-size: clamp(7.1rem, 11.328125vw, 8.7rem);
  }
}

.fz88 {
  font-size: 8.8rem;
}
@media screen and (max-width: 768px) {
  .fz88 {
    font-size: clamp(7.2rem, 11.4583333333vw, 8.8rem);
  }
}

.fz89 {
  font-size: 8.9rem;
}
@media screen and (max-width: 768px) {
  .fz89 {
    font-size: clamp(7.3rem, 11.5885416667vw, 8.9rem);
  }
}

.fz90 {
  font-size: 9rem;
}
@media screen and (max-width: 768px) {
  .fz90 {
    font-size: clamp(7.2rem, 11.71875vw, 9rem);
  }
}

.fz91 {
  font-size: 9.1rem;
}
@media screen and (max-width: 768px) {
  .fz91 {
    font-size: clamp(7.3rem, 11.8489583333vw, 9.1rem);
  }
}

.fz92 {
  font-size: 9.2rem;
}
@media screen and (max-width: 768px) {
  .fz92 {
    font-size: clamp(7.4rem, 11.9791666667vw, 9.2rem);
  }
}

.fz93 {
  font-size: 9.3rem;
}
@media screen and (max-width: 768px) {
  .fz93 {
    font-size: clamp(7.5rem, 12.109375vw, 9.3rem);
  }
}

.fz94 {
  font-size: 9.4rem;
}
@media screen and (max-width: 768px) {
  .fz94 {
    font-size: clamp(7.6rem, 12.2395833333vw, 9.4rem);
  }
}

.fz95 {
  font-size: 9.5rem;
}
@media screen and (max-width: 768px) {
  .fz95 {
    font-size: clamp(7.7rem, 12.3697916667vw, 9.5rem);
  }
}

.fz96 {
  font-size: 9.6rem;
}
@media screen and (max-width: 768px) {
  .fz96 {
    font-size: clamp(7.8rem, 12.5vw, 9.6rem);
  }
}

.fz97 {
  font-size: 9.7rem;
}
@media screen and (max-width: 768px) {
  .fz97 {
    font-size: clamp(7.9rem, 12.6302083333vw, 9.7rem);
  }
}

.fz98 {
  font-size: 9.8rem;
}
@media screen and (max-width: 768px) {
  .fz98 {
    font-size: clamp(8rem, 12.7604166667vw, 9.8rem);
  }
}

.fz99 {
  font-size: 9.9rem;
}
@media screen and (max-width: 768px) {
  .fz99 {
    font-size: clamp(8.1rem, 12.890625vw, 9.9rem);
  }
}

.fz100 {
  font-size: 10rem;
}
@media screen and (max-width: 768px) {
  .fz100 {
    font-size: clamp(8rem, 13.0208333333vw, 10rem);
  }
}

.marcellus {
  font-family: "Marcellus", serif;
  font-weight: 400;
}

.jost {
  font-family: "Jost", sans-serif;
}

.col_white {
  color: #fff;
}

.g0 {
  gap: 0px;
}

.g5 {
  gap: 5px;
}

.g10 {
  gap: 10px;
}

.g15 {
  gap: 15px;
}

.g20 {
  gap: 20px;
}

.g25 {
  gap: 25px;
}

.g30 {
  gap: 30px;
}

.g35 {
  gap: 35px;
}

.g40 {
  gap: 40px;
}

.g45 {
  gap: 45px;
}

.g50 {
  gap: 50px;
}

.g55 {
  gap: 55px;
}

.g60 {
  gap: 60px;
}

.g65 {
  gap: 65px;
}

.g70 {
  gap: 70px;
}

.g75 {
  gap: 75px;
}

.g80 {
  gap: 80px;
}

.g85 {
  gap: 85px;
}

.g90 {
  gap: 90px;
}

.g95 {
  gap: 95px;
}

.g100 {
  gap: 100px;
}

.rg0 {
  row-gap: 0px;
}

.rg5 {
  row-gap: 5px;
}

.rg10 {
  row-gap: 10px;
}

.rg15 {
  row-gap: 15px;
}

.rg20 {
  row-gap: 20px;
}

.rg25 {
  row-gap: 25px;
}

.rg30 {
  row-gap: 30px;
}

.rg35 {
  row-gap: 35px;
}

.rg40 {
  row-gap: 40px;
}

.rg45 {
  row-gap: 45px;
}

.rg50 {
  row-gap: 50px;
}

.rg55 {
  row-gap: 55px;
}

.rg60 {
  row-gap: 60px;
}

.rg65 {
  row-gap: 65px;
}

.rg70 {
  row-gap: 70px;
}

.rg75 {
  row-gap: 75px;
}

.rg80 {
  row-gap: 80px;
}

.rg85 {
  row-gap: 85px;
}

.rg90 {
  row-gap: 90px;
}

.rg95 {
  row-gap: 95px;
}

.rg100 {
  row-gap: 100px;
}

.cg0 {
  column-gap: 0px;
}

.cg5 {
  column-gap: 5px;
}

.cg10 {
  column-gap: 10px;
}

.cg15 {
  column-gap: 15px;
}

.cg20 {
  column-gap: 20px;
}

.cg25 {
  column-gap: 25px;
}

.cg30 {
  column-gap: 30px;
}

.cg35 {
  column-gap: 35px;
}

.cg40 {
  column-gap: 40px;
}

.cg45 {
  column-gap: 45px;
}

.cg50 {
  column-gap: 50px;
}

.cg55 {
  column-gap: 55px;
}

.cg60 {
  column-gap: 60px;
}

.cg65 {
  column-gap: 65px;
}

.cg70 {
  column-gap: 70px;
}

.cg75 {
  column-gap: 75px;
}

.cg80 {
  column-gap: 80px;
}

.cg85 {
  column-gap: 85px;
}

.cg90 {
  column-gap: 90px;
}

.cg95 {
  column-gap: 95px;
}

.cg100 {
  column-gap: 100px;
}

/***************************

object/project/effects.scss

***************************/
/*ロード時にフェードイン*/
.fadein {
  animation: fadeIn 2s ease 0s 1 normal;
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*スクロールフェードイン*/
.fadeInTop {
  animation-fill-mode: both;
  animation-duration: 1s;
  animation-name: fadeInTop;
  visibility: visible !important;
}
@keyframes fadeInTop {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInBottom {
  animation-fill-mode: both;
  animation-duration: 1s;
  animation-name: fadeInBottom;
  visibility: visible !important;
}
@keyframes fadeInBottom {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInLeft {
  animation-fill-mode: both;
  animation-duration: 1s;
  animation-name: fadeInLeft;
  visibility: visible !important;
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-30px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInRight {
  animation-fill-mode: both;
  animation-duration: 1s;
  animation-name: fadeInRight;
  visibility: visible !important;
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes mvScroll {
  0%, 100% {
    translate: 0 -50%;
  }
  50% {
    translate: 0 -30%;
  }
}
/*////////////////////////

btn

////////////////////////*/
.btn-center {
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  .tab-center {
    margin-left: auto;
    margin-right: auto;
  }
}
/*////////////////////////

hdg__

////////////////////////*/
.hdg_01 {
  display: flex;
  align-items: center;
  gap: 10px 20px;
  margin-bottom: 15px;
  border-bottom: 1px solid #182644;
}
@media screen and (max-width: 450px) {
  .hdg_01 {
    flex-wrap: wrap;
    gap: 0 20px;
  }
}
.hdg_01_en {
  font-family: "Marcellus", serif;
  font-weight: 400;
  font-size: clamp(2.5rem, 4.1666666667vw, 3.2rem);
  letter-spacing: 0.02em;
}
.hdg_01_ja {
  position: relative;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding-left: 32px;
}
@media screen and (max-width: 450px) {
  .hdg_01_ja {
    font-size: 1rem;
  }
}
.hdg_01_ja:before {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  background: radial-gradient(at top right, #0380EE, #182644);
  border-radius: 100%;
  left: 0;
  top: calc(0.75em - 6px);
  z-index: 2;
}
.hdg_01.--white {
  color: #fff;
  border-color: #fff;
}

.hdg_02 {
  position: relative;
  padding-left: 40px;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.hdg_02:before {
  position: absolute;
  content: "";
  width: 26px;
  height: 26px;
  background: radial-gradient(at top right, #0380EE, #182644);
  border-radius: 100%;
  left: 0;
  top: calc(0.75em - 13px);
  z-index: 2;
}
.hdg_02:after {
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  background: #fff;
  border-radius: 100%;
  left: 5px;
  top: calc(0.75em - 8px);
  z-index: 3;
}

/***************************

object/top.scss

***************************/
.fix-back-box {
  position: fixed;
  width: 100%;
  height: 100lvh;
  overflow: hidden;
  top: 0;
  left: 0;
  z-index: -5;
  background: #F8FAFB;
}
.fix-back-box span {
  display: block;
  width: 100%;
  height: 100%;
  background: repeating-linear-gradient(25deg, #C0CED8, #C0CED8 1px, transparent 1px, transparent 65px), repeating-linear-gradient(155deg, #C0CED8, #C0CED8 1px, transparent 1px, transparent 65px);
  opacity: 0.25;
  mix-blend-mode: multiply;
}

.fix-back-image {
  position: fixed;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 100px;
  top: 0;
  left: 0;
  z-index: -3;
}
@media screen and (max-width: 768px) {
  .fix-back-image {
    padding-top: 25px;
    overflow: hidden;
  }
}
.fix-back-image img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .fix-back-image img {
    width: auto;
    min-height: 620px;
    object-fit: cover;
  }
}
@media screen and (max-width: 320px) {
  .fix-back-image img {
    object-position: -260px center;
  }
}

.mv {
  width: 100%;
  height: auto;
  aspect-ratio: 1920/932;
  padding-left: 30px;
  padding-right: 30px;
  margin-top: 100px;
  margin-bottom: 150px;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .mv {
    display: flex;
    align-items: flex-end;
  }
}
@media screen and (max-width: 768px) {
  .mv {
    margin-top: 50px;
    margin-bottom: 20px;
    padding-left: 15px;
    padding-right: 15px;
    min-height: 600px;
  }
}
@media screen and (max-width: 650px) {
  .mv {
    height: 315px;
  }
}
@media screen and (max-width: 450px) {
  .mv {
    padding-bottom: 20px;
  }
}

.main-visual {
  width: 100%;
  padding-top: clamp(10px, 28.6458333333vw, 550px);
}
@media screen and (max-width: 1024px) {
  .main-visual {
    padding-top: 0;
  }
}
.main-visual-ttl {
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .main-visual-ttl {
    width: 90vw;
  }
}
@media screen and (max-width: 768px) {
  .main-visual-ttl {
    margin-bottom: 20px;
  }
}
.main-visual-scroll {
  position: relative;
  width: 140px;
  min-height: 26px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Marcellus", serif;
  font-weight: 400;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  color: #fff;
  background: rgba(24, 38, 68, 0.85);
  border-radius: 18px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 769px) {
  .main-visual-scroll {
    display: none;
  }
}
.main-visual-scroll:after {
  position: absolute;
  content: "";
  width: 11px;
  height: 12px;
  background: url("../img/common/arrow03@2x.png") no-repeat center center;
  background-size: cover;
  top: 50%;
  right: 10px;
  translate: 0 -50%;
  z-index: 3;
  animation: mvScroll 1.5s ease-in-out infinite;
}

.t-about {
  position: relative;
  width: 100%;
  padding: 180px 0;
}
@media screen and (max-width: 768px) {
  .t-about {
    padding: 90px 0;
  }
}
.t-about:before {
  position: absolute;
  content: "";
  width: 100%;
  height: calc(100% + 180px);
  backdrop-filter: blur(30px) brightness(1.15);
  border-radius: 100px 100px 0 0;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .t-about:before {
    border-radius: 50px 50px 0 0;
  }
}
@media screen and (max-width: 450px) {
  .t-about:before {
    border-radius: 25px 25px 0 0;
  }
}
.t-about-flex {
  display: flex;
  justify-content: space-between;
  gap: 40px 80px;
  margin-top: 130px;
}
@media screen and (max-width: 1024px) {
  .t-about-flex {
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  .t-about-flex {
    margin-top: 70px;
  }
}
@media screen and (max-width: 1200px) {
  .t-about-copy {
    width: 460px;
  }
}
@media screen and (max-width: 1024px) {
  .t-about-copy {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .t-about-copy {
    width: 80vw;
  }
}
@media screen and (max-width: 450px) {
  .t-about-copy {
    width: 100%;
  }
}
.t-about-txt {
  max-width: 620px;
  width: 100%;
  margin-top: 100px;
}
@media screen and (max-width: 1200px) {
  .t-about-txt {
    width: calc(100% - 540px);
  }
}
@media screen and (max-width: 1024px) {
  .t-about-txt {
    max-width: 100%;
    width: 100%;
    margin-top: 0;
  }
}
.t-about-txt p {
  font-size: clamp(2rem, 3.6458333333vw, 2.8rem);
  letter-spacing: 0.02em;
  line-height: 1.8;
}
@media screen and (max-width: 1024px) {
  .t-about-txt p .pc {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .t-about-txt p {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 450px) {
  .t-about-txt p {
    font-size: 1.5rem;
  }
}
.t-about-image {
  margin-top: -320px;
  width: calc(100% - 700px);
}
@media screen and (max-width: 1200px) {
  .t-about-image {
    width: 460px;
  }
}
@media screen and (max-width: 1024px) {
  .t-about-image {
    width: 100%;
    text-align: center;
    margin-top: 50px;
  }
}

.t-business {
  position: relative;
  width: 100%;
  background: #182644;
  border-radius: 100px;
  padding: 200px 0;
  overflow: clip;
}
@media screen and (max-width: 768px) {
  .t-business {
    border-radius: 50px;
    padding: 100px 0;
  }
}
.t-business-back {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 100px;
  top: 0;
  left: 0;
  z-index: 1;
  padding-top: 180px;
}
@media screen and (max-width: 768px) {
  .t-business-back {
    border-radius: 50px;
    padding-top: 90px;
  }
}
.t-business-back span {
  position: sticky;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1920/1208;
  top: 0;
  left: 0;
  background: url("../img/top/business-back.png") no-repeat center bottom;
  background-size: cover;
}
@media screen and (max-width: 1500px) {
  .t-business-back span {
    min-height: 100lvh;
  }
}
.t-business-wrap {
  position: relative;
  width: 100%;
  margin-top: 130px;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .t-business-wrap {
    margin-top: 70px;
  }
}
.t-business-content {
  position: relative;
  height: 250lvh;
}
.t-business-slide {
  position: sticky;
  top: 100px;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 50px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s;
}
@media screen and (max-width: 1024px) {
  .t-business-slide {
    top: 80px;
    flex-direction: column-reverse;
    padding-right: 10px;
  }
}
@media screen and (max-width: 450px) {
  .t-business-slide {
    top: 50px;
    gap: 35px;
  }
}
.t-business-slide.is-active {
  opacity: 1;
  visibility: visible;
}
.t-business-slide:nth-child(2) .txt {
  row-gap: clamp(50px, 5.2083333333vw, 100px);
}
.t-business-slide .txt {
  max-width: 480px;
  width: 100%;
  display: flex;
  flex-direction: column;
  row-gap: clamp(50px, 11.9791666667vw, 230px);
}
@media screen and (max-width: 1024px) {
  .t-business-slide .txt {
    max-width: 100%;
    row-gap: 50px;
  }
}
@media screen and (max-width: 1024px) {
  .t-business-slide .txt .ttl {
    display: none;
  }
}
.t-business-slide .txt .inner {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: flex-end;
}
.t-business-slide .txt .inner .blue {
  color: #689BFF;
}
.t-business-slide .txt .inner .green {
  color: #93E3CB;
}
.t-business-slide .txt .inner .yellow {
  color: #CDD19A;
}
.t-business-slide .txt .inner a {
  position: relative;
  display: block;
  width: fit-content;
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.02em;
  padding-right: 52px;
  margin-left: auto;
}
.t-business-slide .txt .inner a:before {
  position: absolute;
  content: "";
  width: 42px;
  height: 42px;
  background: url("../img/common/arrow01@2x.png") no-repeat center center;
  background-size: 25px 25px;
  border: 1px solid #A7ACB8;
  border-radius: 100%;
  right: 0;
  top: calc(0.75em - 21px);
  z-index: 3;
}
.t-business-slide .txt .inner a span {
  background: linear-gradient(0deg, #fff 1px, transparent 1px);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 1px;
  transition: all 0.6s;
}
.t-business-slide .txt .inner a:hover span {
  background-size: 0 1px;
}
.t-business-slide .image {
  position: relative;
  max-width: 915px;
  width: 100%;
}
@media screen and (max-width: 1670px) {
  .t-business-slide .image {
    padding-right: 30px;
  }
}
@media screen and (max-width: 1024px) {
  .t-business-slide .image {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    padding-right: 0;
  }
}
.t-business-slide .image:before {
  position: absolute;
  content: "";
  width: calc(100% + 10px);
  height: calc(100% + 10px);
  background: linear-gradient(45deg, #0380EE, #182644);
  border-radius: 40px;
  mix-blend-mode: screen;
  opacity: 0.3;
  top: -5px;
  left: -5px;
  z-index: 1;
}
@media screen and (max-width: 1670px) {
  .t-business-slide .image:before {
    width: calc(100% - 20px);
  }
}
.t-business-slide .image img {
  position: relative;
  border-radius: 34px;
  z-index: 2;
}
@media screen and (min-width: 1025px) {
  .t-business-slide .ttl.--pc {
    display: none;
  }
}
@media screen and (max-width: 450px) {
  .t-business-slide .ttl.--pc {
    font-size: 2rem;
  }
}
@media screen and (max-width: 450px) {
  .t-business-slide .inner .fz20 {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 450px) {
  .t-business-slide .inner .fz50 {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 450px) {
  .t-business-slide .inner .fz45 {
    font-size: 2.3rem;
  }
}
.t-business-slide .pagenation {
  position: absolute;
  width: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
  right: -2.6041666667vw;
  top: 50%;
  translate: 0 -50%;
  z-index: 5;
}
@media screen and (min-width: 1921px) {
  .t-business-slide .pagenation {
    right: -50px;
  }
}
@media screen and (max-width: 1750px) {
  .t-business-slide .pagenation {
    right: 10px;
  }
}
@media screen and (max-width: 1670px) {
  .t-business-slide .pagenation {
    right: 0;
  }
}
@media screen and (max-width: 768px) {
  .t-business-slide .pagenation {
    right: -5px;
  }
}
.t-business-slide .pagenation span {
  display: block;
  width: 5px;
  height: 5px;
  background: #A7ACB8;
  border-radius: 100%;
}
.t-business-slide .pagenation span.is-active {
  width: 10px;
  height: 10px;
}
.t-business-slide.--one .pagenation span.is-active {
  background: #689BFF;
}
.t-business-slide.--one .image {
  position: relative;
}
.t-business-slide.--one .image:after {
  position: absolute;
  content: "";
  width: 167px;
  height: auto;
  aspect-ratio: 167/158;
  background: url("../img/top/business-deco01@2x.png") no-repeat center center;
  background-size: cover;
  bottom: -40px;
  right: -20px;
  z-index: 3;
}
@media screen and (max-width: 450px) {
  .t-business-slide.--one .image:after {
    width: 107px;
    bottom: -20px;
    right: -10px;
  }
}
.t-business-slide.--two .pagenation span.is-active {
  background: #CDD19A;
}
.t-business-slide.--two .image {
  position: relative;
}
.t-business-slide.--two .image:after {
  position: absolute;
  content: "";
  width: 204px;
  height: auto;
  aspect-ratio: 204/149;
  background: url("../img/top/business-deco03@2x.png") no-repeat center center;
  background-size: cover;
  bottom: -30px;
  right: -10px;
  z-index: 3;
}
@media screen and (max-width: 450px) {
  .t-business-slide.--two .image:after {
    width: 124px;
    bottom: -20px;
    right: -10px;
  }
}

.t-data {
  position: relative;
  width: 100%;
  padding: 180px 0;
}
@media screen and (max-width: 768px) {
  .t-data {
    padding: 90px 0;
  }
}
.t-data:before {
  position: absolute;
  content: "";
  width: 100%;
  height: calc(100% + 360px);
  backdrop-filter: blur(5px) brightness(0.97);
  border-radius: 100px 100px 0 0;
  top: 50%;
  translate: 0 -50%;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .t-data:before {
    border-radius: 50px 50px 0 0;
  }
}
@media screen and (max-width: 450px) {
  .t-data:before {
    border-radius: 25px 25px 0 0;
  }
}
.t-data-flex {
  display: grid;
  gap: 30px;
}
.t-data-flex.TwoCol {
  grid-template-columns: 1fr 2fr;
  margin-top: 130px;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .t-data-flex.TwoCol {
    grid-template-columns: 100%;
  }
}
.t-data-flex.TwoCol .num {
  position: relative;
  font-size: clamp(60px, 8.3333333333vw, 160px);
  line-height: 0.9;
}
.t-data-flex.TwoCol .num:before {
  position: absolute;
  content: "";
  width: clamp(64px, 7.5vw, 144px);
  height: auto;
  aspect-ratio: 1/1;
  background: radial-gradient(at center, #0380EE, transparent);
  border-radius: 100%;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  z-index: 2;
  mix-blend-mode: screen;
  filter: blur(13px);
}
.t-data-flex.TwoCol .txt {
  font-size: clamp(24px, 2.7604166667vw, 53px);
}
.t-data-flex.ThreeCol {
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 768px) {
  .t-data-flex.ThreeCol {
    grid-template-columns: 100%;
  }
}
.t-data-flex.ThreeCol .num {
  position: relative;
  font-size: clamp(40px, 6.25vw, 120px);
  line-height: 0.9;
}
@media screen and (max-width: 768px) {
  .t-data-flex.ThreeCol .num {
    font-size: 6rem;
  }
}
.t-data-flex.ThreeCol .num:before {
  position: absolute;
  content: "";
  width: clamp(64px, 7.5vw, 144px);
  height: auto;
  aspect-ratio: 1/1;
  background: radial-gradient(at center, #0380EE, transparent);
  border-radius: 100%;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  z-index: 2;
  mix-blend-mode: screen;
  filter: blur(13px);
}
.t-data-flex.ThreeCol .txt {
  font-size: clamp(22px, 2.0833333333vw, 40px);
}
.t-data-flex-box {
  position: relative;
  width: 100%;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 54px;
  padding: 40px;
}
@media screen and (max-width: 1024px) {
  .t-data-flex-box {
    padding: 30px 25px;
  }
}
@media screen and (max-width: 768px) {
  .t-data-flex-box {
    border-radius: 27px;
  }
}
.t-data-flex-box:before {
  position: absolute;
  content: "";
  width: calc(100% + 16px);
  height: calc(100% + 16px);
  mix-blend-mode: multiply;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  border-radius: 60px;
  z-index: -1;
  backdrop-filter: blur(15px) brightness(1.05);
}
@media screen and (max-width: 768px) {
  .t-data-flex-box:before {
    border-radius: 30px;
  }
}
.t-data-flex-box .ttl-en {
  font-family: "Marcellus", serif;
  font-weight: 400;
  font-size: 1.3rem;
  letter-spacing: 0.08em;
  margin-bottom: 12px;
}
.t-data-flex-box .ttl {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.t-data-flex-box .data-num-flex {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin-top: 60px;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .t-data-flex-box .data-num-flex {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}
.t-data-flex-box .num {
  font-family: "Jost", sans-serif;
  font-weight: 300;
  font-style: italic;
}
.t-data-flex-box .txt {
  font-weight: 700;
}
.t-data-flex-box .last {
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: right;
}

.t-company {
  width: 100%;
  background: #fff;
  padding: 180px 0;
  border-radius: 100px;
  margin-bottom: 100lvh;
}
@media screen and (max-width: 768px) {
  .t-company {
    padding: 90px 0;
    border-radius: 50px;
    margin-bottom: 50vh;
  }
}
@media screen and (max-width: 450px) {
  .t-company {
    border-radius: 25px;
  }
}
.t-company-info {
  width: 100%;
  margin-top: 130px;
}
@media screen and (max-width: 768px) {
  .t-company-info {
    margin-top: 70px;
  }
}
.t-company-info-list {
  width: 100%;
}
.t-company-info-list-block {
  width: 100%;
  display: flex;
  padding-bottom: 30px;
  background: linear-gradient(90deg, #182644 20px, #E1E3E7 20px);
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: center bottom;
}
@media screen and (max-width: 768px) {
  .t-company-info-list-block {
    flex-direction: column;
    padding-bottom: 15px;
  }
}
.t-company-info-list-block:not(:last-child) {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .t-company-info-list-block:not(:last-child) {
    margin-bottom: 20px;
  }
}
.t-company-info-list-block dt {
  width: 200px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 768px) {
  .t-company-info-list-block dt {
    width: 100%;
  }
}
.t-company-info-list-block dd {
  width: calc(100% - 200px);
  letter-spacing: 0.02em;
}
@media screen and (max-width: 768px) {
  .t-company-info-list-block dd {
    width: 100%;
  }
}
.t-company-chart {
  width: 100%;
  margin-top: 120px;
}
@media screen and (max-width: 768px) {
  .t-company-chart {
    margin-top: 60px;
  }
}
.t-company-chart-box {
  width: 100%;
  min-width: 728px;
  background: #F6F8FC;
  border-radius: 60px;
  padding: 70px 50px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .t-company-chart-box {
    border-radius: 30px;
    padding: 40px 30px;
  }
}
@media screen and (max-width: 450px) {
  .t-company-chart-box {
    border-radius: 15px;
  }
}
.t-company-other {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px 80px;
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .t-company-other {
    grid-template-columns: 100%;
    margin-top: 30px;
  }
}
.t-company-other-box {
  width: 100%;
}
.t-company-other-box .ttl {
  font-size: 1.8rem;
  letter-spacing: 0.02em;
  padding-bottom: 20px;
  border-bottom: 1px solid #E1E3E7;
  margin-bottom: 35px;
}
.t-company-other-box h4 {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.t-company-other-box p {
  letter-spacing: 0.02em;
  line-height: 2;
}
.t-company-other-box .ls5 {
  letter-spacing: 0.05em;
}

.t-recruit {
  width: 100%;
  overflow: hidden;
  margin-top: 180px;
}
@media screen and (max-width: 768px) {
  .t-recruit {
    margin-top: 90px;
  }
}
.t-recruit-head {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  margin-top: 130px;
}
@media screen and (max-width: 768px) {
  .t-recruit-head {
    margin-top: 70px;
  }
}
.t-recruit-head .ttl {
  font-size: clamp(2.8rem, 5.2083333333vw, 4rem);
  font-weight: 700;
  letter-spacing: 0.02em;
}
.t-recruit-foot {
  width: 100%;
}
.t-recruit-foot .txt {
  max-width: 535px;
  width: 100%;
  margin-left: auto;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .t-recruit-foot .txt {
    margin-bottom: 30px;
  }
}
.t-recruit-foot .txt p {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.8;
}
.t-recruit-foot a {
  position: relative;
  display: block;
  width: fit-content;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding-right: 52px;
  padding-top: 12px;
  padding-bottom: 12px;
  margin-left: auto;
}
.t-recruit-foot a:before {
  position: absolute;
  content: "";
  width: 42px;
  height: 42px;
  background: url("../img/common/arrow02@2x.png") no-repeat center center;
  background-size: 25px 25px;
  border: 1px solid #A7ACB8;
  border-radius: 100%;
  right: 0;
  top: calc((0.5em + 6px) * 1.5 - 21px);
  z-index: 3;
}
.t-recruit-foot a span {
  background: linear-gradient(0deg, #182644 1px, transparent 1px);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 1px;
  transition: all 0.6s;
}
.t-recruit-foot a:hover span {
  background-size: 0 1px;
}

.recruitSwiper {
  margin-top: 110px;
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .recruitSwiper {
    margin-top: 60px;
    margin-bottom: 40px;
  }
}
.recruitSwiper .swiper-wrapper {
  transition-timing-function: linear !important;
}
@media screen and (max-width: 1024px) {
  .recruitSwiper .swiper-slide {
    width: 1024px !important;
    min-width: 1024px !important;
  }
}
.recruitSwiper .swiper-slide img {
  width: 100%;
}/*# sourceMappingURL=style.css.map */