@charset "UTF-8";
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, 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;
}

body {
  line-height: 1;
}

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

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: 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;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

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

	variable

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

	mixin

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

	function

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

	reset

*************************************************/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
input,
select,
textarea,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

button:focus-visible,
a:focus-visible {
  outline: none;
  box-shadow: 0px 0px 0px 2px #000, 0px 0px 0px 3px #fff;
}

input,
textarea {
  font-family: var(--gothic);
  font-size: 1.6rem;
}
input:focus-visible,
textarea:focus-visible {
  box-shadow: 0px 0px 0px 1px #fff inset, 0px 0px 0px 3px #333 inset;
}

select {
  font-family: var(--gothic);
  font-size: 1.6rem;
}
select:focus-visible {
  outline: none;
  box-shadow: 0px 0px 0px 2px #000, 0px 0px 0px 3px #fff;
}

ul {
  list-style: none;
}

a {
  text-decoration: none;
  color: inherit;
}

button {
  border: none;
  border-radius: 0;
  background: none;
  font: inherit;
  padding: 0;
  cursor: pointer;
  text-transform: inherit;
  color: inherit;
}

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

sup {
  font-size: 0.8em;
  transform: translateY(-0.5em);
  display: inline-block;
}

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

	utility

*************************************************/
.b-m0 {
  margin: minvwcalc(0) !important;
}

.b-mt0 {
  margin-top: minvwcalc(0) !important;
}

.b-mb0 {
  margin-bottom: minvwcalc(0) !important;
}

.b-ml0 {
  margin-left: minvwcalc(0) !important;
}

.b-mr0 {
  margin-right: minvwcalc(0) !important;
}

.b-p0 {
  padding: minvwcalc(0) !important;
}

.b-pt0 {
  padding-top: minvwcalc(0) !important;
}

.b-pb0 {
  padding-bottom: minvwcalc(0) !important;
}

.b-pl0 {
  padding-left: minvwcalc(0) !important;
}

.b-pr0 {
  padding-right: minvwcalc(0) !important;
}

.b-m5 {
  margin: minvwcalc(5) !important;
}

.b-mt5 {
  margin-top: minvwcalc(5) !important;
}

.b-mb5 {
  margin-bottom: minvwcalc(5) !important;
}

.b-ml5 {
  margin-left: minvwcalc(5) !important;
}

.b-mr5 {
  margin-right: minvwcalc(5) !important;
}

.b-p5 {
  padding: minvwcalc(5) !important;
}

.b-pt5 {
  padding-top: minvwcalc(5) !important;
}

.b-pb5 {
  padding-bottom: minvwcalc(5) !important;
}

.b-pl5 {
  padding-left: minvwcalc(5) !important;
}

.b-pr5 {
  padding-right: minvwcalc(5) !important;
}

.b-m10 {
  margin: minvwcalc(10) !important;
}

.b-mt10 {
  margin-top: minvwcalc(10) !important;
}

.b-mb10 {
  margin-bottom: minvwcalc(10) !important;
}

.b-ml10 {
  margin-left: minvwcalc(10) !important;
}

.b-mr10 {
  margin-right: minvwcalc(10) !important;
}

.b-p10 {
  padding: minvwcalc(10) !important;
}

.b-pt10 {
  padding-top: minvwcalc(10) !important;
}

.b-pb10 {
  padding-bottom: minvwcalc(10) !important;
}

.b-pl10 {
  padding-left: minvwcalc(10) !important;
}

.b-pr10 {
  padding-right: minvwcalc(10) !important;
}

.b-m15 {
  margin: minvwcalc(15) !important;
}

.b-mt15 {
  margin-top: minvwcalc(15) !important;
}

.b-mb15 {
  margin-bottom: minvwcalc(15) !important;
}

.b-ml15 {
  margin-left: minvwcalc(15) !important;
}

.b-mr15 {
  margin-right: minvwcalc(15) !important;
}

.b-p15 {
  padding: minvwcalc(15) !important;
}

.b-pt15 {
  padding-top: minvwcalc(15) !important;
}

.b-pb15 {
  padding-bottom: minvwcalc(15) !important;
}

.b-pl15 {
  padding-left: minvwcalc(15) !important;
}

.b-pr15 {
  padding-right: minvwcalc(15) !important;
}

.b-m20 {
  margin: minvwcalc(20) !important;
}

.b-mt20 {
  margin-top: minvwcalc(20) !important;
}

.b-mb20 {
  margin-bottom: minvwcalc(20) !important;
}

.b-ml20 {
  margin-left: minvwcalc(20) !important;
}

.b-mr20 {
  margin-right: minvwcalc(20) !important;
}

.b-p20 {
  padding: minvwcalc(20) !important;
}

.b-pt20 {
  padding-top: minvwcalc(20) !important;
}

.b-pb20 {
  padding-bottom: minvwcalc(20) !important;
}

.b-pl20 {
  padding-left: minvwcalc(20) !important;
}

.b-pr20 {
  padding-right: minvwcalc(20) !important;
}

.b-m25 {
  margin: minvwcalc(25) !important;
}

.b-mt25 {
  margin-top: minvwcalc(25) !important;
}

.b-mb25 {
  margin-bottom: minvwcalc(25) !important;
}

.b-ml25 {
  margin-left: minvwcalc(25) !important;
}

.b-mr25 {
  margin-right: minvwcalc(25) !important;
}

.b-p25 {
  padding: minvwcalc(25) !important;
}

.b-pt25 {
  padding-top: minvwcalc(25) !important;
}

.b-pb25 {
  padding-bottom: minvwcalc(25) !important;
}

.b-pl25 {
  padding-left: minvwcalc(25) !important;
}

.b-pr25 {
  padding-right: minvwcalc(25) !important;
}

.b-m30 {
  margin: minvwcalc(30) !important;
}

.b-mt30 {
  margin-top: minvwcalc(30) !important;
}

.b-mb30 {
  margin-bottom: minvwcalc(30) !important;
}

.b-ml30 {
  margin-left: minvwcalc(30) !important;
}

.b-mr30 {
  margin-right: minvwcalc(30) !important;
}

.b-p30 {
  padding: minvwcalc(30) !important;
}

.b-pt30 {
  padding-top: minvwcalc(30) !important;
}

.b-pb30 {
  padding-bottom: minvwcalc(30) !important;
}

.b-pl30 {
  padding-left: minvwcalc(30) !important;
}

.b-pr30 {
  padding-right: minvwcalc(30) !important;
}

.b-m35 {
  margin: minvwcalc(35) !important;
}

.b-mt35 {
  margin-top: minvwcalc(35) !important;
}

.b-mb35 {
  margin-bottom: minvwcalc(35) !important;
}

.b-ml35 {
  margin-left: minvwcalc(35) !important;
}

.b-mr35 {
  margin-right: minvwcalc(35) !important;
}

.b-p35 {
  padding: minvwcalc(35) !important;
}

.b-pt35 {
  padding-top: minvwcalc(35) !important;
}

.b-pb35 {
  padding-bottom: minvwcalc(35) !important;
}

.b-pl35 {
  padding-left: minvwcalc(35) !important;
}

.b-pr35 {
  padding-right: minvwcalc(35) !important;
}

.b-m40 {
  margin: minvwcalc(40) !important;
}

.b-mt40 {
  margin-top: minvwcalc(40) !important;
}

.b-mb40 {
  margin-bottom: minvwcalc(40) !important;
}

.b-ml40 {
  margin-left: minvwcalc(40) !important;
}

.b-mr40 {
  margin-right: minvwcalc(40) !important;
}

.b-p40 {
  padding: minvwcalc(40) !important;
}

.b-pt40 {
  padding-top: minvwcalc(40) !important;
}

.b-pb40 {
  padding-bottom: minvwcalc(40) !important;
}

.b-pl40 {
  padding-left: minvwcalc(40) !important;
}

.b-pr40 {
  padding-right: minvwcalc(40) !important;
}

.b-m45 {
  margin: minvwcalc(45) !important;
}

.b-mt45 {
  margin-top: minvwcalc(45) !important;
}

.b-mb45 {
  margin-bottom: minvwcalc(45) !important;
}

.b-ml45 {
  margin-left: minvwcalc(45) !important;
}

.b-mr45 {
  margin-right: minvwcalc(45) !important;
}

.b-p45 {
  padding: minvwcalc(45) !important;
}

.b-pt45 {
  padding-top: minvwcalc(45) !important;
}

.b-pb45 {
  padding-bottom: minvwcalc(45) !important;
}

.b-pl45 {
  padding-left: minvwcalc(45) !important;
}

.b-pr45 {
  padding-right: minvwcalc(45) !important;
}

.b-m50 {
  margin: minvwcalc(50) !important;
}

.b-mt50 {
  margin-top: minvwcalc(50) !important;
}

.b-mb50 {
  margin-bottom: minvwcalc(50) !important;
}

.b-ml50 {
  margin-left: minvwcalc(50) !important;
}

.b-mr50 {
  margin-right: minvwcalc(50) !important;
}

.b-p50 {
  padding: minvwcalc(50) !important;
}

.b-pt50 {
  padding-top: minvwcalc(50) !important;
}

.b-pb50 {
  padding-bottom: minvwcalc(50) !important;
}

.b-pl50 {
  padding-left: minvwcalc(50) !important;
}

.b-pr50 {
  padding-right: minvwcalc(50) !important;
}

.b-m55 {
  margin: minvwcalc(55) !important;
}

.b-mt55 {
  margin-top: minvwcalc(55) !important;
}

.b-mb55 {
  margin-bottom: minvwcalc(55) !important;
}

.b-ml55 {
  margin-left: minvwcalc(55) !important;
}

.b-mr55 {
  margin-right: minvwcalc(55) !important;
}

.b-p55 {
  padding: minvwcalc(55) !important;
}

.b-pt55 {
  padding-top: minvwcalc(55) !important;
}

.b-pb55 {
  padding-bottom: minvwcalc(55) !important;
}

.b-pl55 {
  padding-left: minvwcalc(55) !important;
}

.b-pr55 {
  padding-right: minvwcalc(55) !important;
}

.b-m60 {
  margin: minvwcalc(60) !important;
}

.b-mt60 {
  margin-top: minvwcalc(60) !important;
}

.b-mb60 {
  margin-bottom: minvwcalc(60) !important;
}

.b-ml60 {
  margin-left: minvwcalc(60) !important;
}

.b-mr60 {
  margin-right: minvwcalc(60) !important;
}

.b-p60 {
  padding: minvwcalc(60) !important;
}

.b-pt60 {
  padding-top: minvwcalc(60) !important;
}

.b-pb60 {
  padding-bottom: minvwcalc(60) !important;
}

.b-pl60 {
  padding-left: minvwcalc(60) !important;
}

.b-pr60 {
  padding-right: minvwcalc(60) !important;
}

.b-m65 {
  margin: minvwcalc(65) !important;
}

.b-mt65 {
  margin-top: minvwcalc(65) !important;
}

.b-mb65 {
  margin-bottom: minvwcalc(65) !important;
}

.b-ml65 {
  margin-left: minvwcalc(65) !important;
}

.b-mr65 {
  margin-right: minvwcalc(65) !important;
}

.b-p65 {
  padding: minvwcalc(65) !important;
}

.b-pt65 {
  padding-top: minvwcalc(65) !important;
}

.b-pb65 {
  padding-bottom: minvwcalc(65) !important;
}

.b-pl65 {
  padding-left: minvwcalc(65) !important;
}

.b-pr65 {
  padding-right: minvwcalc(65) !important;
}

.b-m70 {
  margin: minvwcalc(70) !important;
}

.b-mt70 {
  margin-top: minvwcalc(70) !important;
}

.b-mb70 {
  margin-bottom: minvwcalc(70) !important;
}

.b-ml70 {
  margin-left: minvwcalc(70) !important;
}

.b-mr70 {
  margin-right: minvwcalc(70) !important;
}

.b-p70 {
  padding: minvwcalc(70) !important;
}

.b-pt70 {
  padding-top: minvwcalc(70) !important;
}

.b-pb70 {
  padding-bottom: minvwcalc(70) !important;
}

.b-pl70 {
  padding-left: minvwcalc(70) !important;
}

.b-pr70 {
  padding-right: minvwcalc(70) !important;
}

.b-m75 {
  margin: minvwcalc(75) !important;
}

.b-mt75 {
  margin-top: minvwcalc(75) !important;
}

.b-mb75 {
  margin-bottom: minvwcalc(75) !important;
}

.b-ml75 {
  margin-left: minvwcalc(75) !important;
}

.b-mr75 {
  margin-right: minvwcalc(75) !important;
}

.b-p75 {
  padding: minvwcalc(75) !important;
}

.b-pt75 {
  padding-top: minvwcalc(75) !important;
}

.b-pb75 {
  padding-bottom: minvwcalc(75) !important;
}

.b-pl75 {
  padding-left: minvwcalc(75) !important;
}

.b-pr75 {
  padding-right: minvwcalc(75) !important;
}

.b-m80 {
  margin: minvwcalc(80) !important;
}

.b-mt80 {
  margin-top: minvwcalc(80) !important;
}

.b-mb80 {
  margin-bottom: minvwcalc(80) !important;
}

.b-ml80 {
  margin-left: minvwcalc(80) !important;
}

.b-mr80 {
  margin-right: minvwcalc(80) !important;
}

.b-p80 {
  padding: minvwcalc(80) !important;
}

.b-pt80 {
  padding-top: minvwcalc(80) !important;
}

.b-pb80 {
  padding-bottom: minvwcalc(80) !important;
}

.b-pl80 {
  padding-left: minvwcalc(80) !important;
}

.b-pr80 {
  padding-right: minvwcalc(80) !important;
}

.b-m85 {
  margin: minvwcalc(85) !important;
}

.b-mt85 {
  margin-top: minvwcalc(85) !important;
}

.b-mb85 {
  margin-bottom: minvwcalc(85) !important;
}

.b-ml85 {
  margin-left: minvwcalc(85) !important;
}

.b-mr85 {
  margin-right: minvwcalc(85) !important;
}

.b-p85 {
  padding: minvwcalc(85) !important;
}

.b-pt85 {
  padding-top: minvwcalc(85) !important;
}

.b-pb85 {
  padding-bottom: minvwcalc(85) !important;
}

.b-pl85 {
  padding-left: minvwcalc(85) !important;
}

.b-pr85 {
  padding-right: minvwcalc(85) !important;
}

.b-m90 {
  margin: minvwcalc(90) !important;
}

.b-mt90 {
  margin-top: minvwcalc(90) !important;
}

.b-mb90 {
  margin-bottom: minvwcalc(90) !important;
}

.b-ml90 {
  margin-left: minvwcalc(90) !important;
}

.b-mr90 {
  margin-right: minvwcalc(90) !important;
}

.b-p90 {
  padding: minvwcalc(90) !important;
}

.b-pt90 {
  padding-top: minvwcalc(90) !important;
}

.b-pb90 {
  padding-bottom: minvwcalc(90) !important;
}

.b-pl90 {
  padding-left: minvwcalc(90) !important;
}

.b-pr90 {
  padding-right: minvwcalc(90) !important;
}

.b-m95 {
  margin: minvwcalc(95) !important;
}

.b-mt95 {
  margin-top: minvwcalc(95) !important;
}

.b-mb95 {
  margin-bottom: minvwcalc(95) !important;
}

.b-ml95 {
  margin-left: minvwcalc(95) !important;
}

.b-mr95 {
  margin-right: minvwcalc(95) !important;
}

.b-p95 {
  padding: minvwcalc(95) !important;
}

.b-pt95 {
  padding-top: minvwcalc(95) !important;
}

.b-pb95 {
  padding-bottom: minvwcalc(95) !important;
}

.b-pl95 {
  padding-left: minvwcalc(95) !important;
}

.b-pr95 {
  padding-right: minvwcalc(95) !important;
}

.b-m100 {
  margin: minvwcalc(100) !important;
}

.b-mt100 {
  margin-top: minvwcalc(100) !important;
}

.b-mb100 {
  margin-bottom: minvwcalc(100) !important;
}

.b-ml100 {
  margin-left: minvwcalc(100) !important;
}

.b-mr100 {
  margin-right: minvwcalc(100) !important;
}

.b-p100 {
  padding: minvwcalc(100) !important;
}

.b-pt100 {
  padding-top: minvwcalc(100) !important;
}

.b-pb100 {
  padding-bottom: minvwcalc(100) !important;
}

.b-pl100 {
  padding-left: minvwcalc(100) !important;
}

.b-pr100 {
  padding-right: minvwcalc(100) !important;
}

@media screen and (max-width: 640px) {
  .b-sp_m0 {
    margin: minvwcalc(0) !important;
  }
  .b-sp_mt0 {
    margin-top: minvwcalc(0) !important;
  }
  .b-sp_mb0 {
    margin-bottom: minvwcalc(0) !important;
  }
  .b-sp_ml0 {
    margin-left: minvwcalc(0) !important;
  }
  .b-sp_mr0 {
    margin-right: minvwcalc(0) !important;
  }
  .b-sp_p0 {
    padding: minvwcalc(0) !important;
  }
  .b-sp_pt0 {
    padding-top: minvwcalc(0) !important;
  }
  .b-sp_pb0 {
    padding-bottom: minvwcalc(0) !important;
  }
  .b-sp_pl0 {
    padding-left: minvwcalc(0) !important;
  }
  .b-sp_pr0 {
    padding-right: minvwcalc(0) !important;
  }
  .b-sp_m5 {
    margin: minvwcalc(5) !important;
  }
  .b-sp_mt5 {
    margin-top: minvwcalc(5) !important;
  }
  .b-sp_mb5 {
    margin-bottom: minvwcalc(5) !important;
  }
  .b-sp_ml5 {
    margin-left: minvwcalc(5) !important;
  }
  .b-sp_mr5 {
    margin-right: minvwcalc(5) !important;
  }
  .b-sp_p5 {
    padding: minvwcalc(5) !important;
  }
  .b-sp_pt5 {
    padding-top: minvwcalc(5) !important;
  }
  .b-sp_pb5 {
    padding-bottom: minvwcalc(5) !important;
  }
  .b-sp_pl5 {
    padding-left: minvwcalc(5) !important;
  }
  .b-sp_pr5 {
    padding-right: minvwcalc(5) !important;
  }
  .b-sp_m10 {
    margin: minvwcalc(10) !important;
  }
  .b-sp_mt10 {
    margin-top: minvwcalc(10) !important;
  }
  .b-sp_mb10 {
    margin-bottom: minvwcalc(10) !important;
  }
  .b-sp_ml10 {
    margin-left: minvwcalc(10) !important;
  }
  .b-sp_mr10 {
    margin-right: minvwcalc(10) !important;
  }
  .b-sp_p10 {
    padding: minvwcalc(10) !important;
  }
  .b-sp_pt10 {
    padding-top: minvwcalc(10) !important;
  }
  .b-sp_pb10 {
    padding-bottom: minvwcalc(10) !important;
  }
  .b-sp_pl10 {
    padding-left: minvwcalc(10) !important;
  }
  .b-sp_pr10 {
    padding-right: minvwcalc(10) !important;
  }
  .b-sp_m15 {
    margin: minvwcalc(15) !important;
  }
  .b-sp_mt15 {
    margin-top: minvwcalc(15) !important;
  }
  .b-sp_mb15 {
    margin-bottom: minvwcalc(15) !important;
  }
  .b-sp_ml15 {
    margin-left: minvwcalc(15) !important;
  }
  .b-sp_mr15 {
    margin-right: minvwcalc(15) !important;
  }
  .b-sp_p15 {
    padding: minvwcalc(15) !important;
  }
  .b-sp_pt15 {
    padding-top: minvwcalc(15) !important;
  }
  .b-sp_pb15 {
    padding-bottom: minvwcalc(15) !important;
  }
  .b-sp_pl15 {
    padding-left: minvwcalc(15) !important;
  }
  .b-sp_pr15 {
    padding-right: minvwcalc(15) !important;
  }
  .b-sp_m20 {
    margin: minvwcalc(20) !important;
  }
  .b-sp_mt20 {
    margin-top: minvwcalc(20) !important;
  }
  .b-sp_mb20 {
    margin-bottom: minvwcalc(20) !important;
  }
  .b-sp_ml20 {
    margin-left: minvwcalc(20) !important;
  }
  .b-sp_mr20 {
    margin-right: minvwcalc(20) !important;
  }
  .b-sp_p20 {
    padding: minvwcalc(20) !important;
  }
  .b-sp_pt20 {
    padding-top: minvwcalc(20) !important;
  }
  .b-sp_pb20 {
    padding-bottom: minvwcalc(20) !important;
  }
  .b-sp_pl20 {
    padding-left: minvwcalc(20) !important;
  }
  .b-sp_pr20 {
    padding-right: minvwcalc(20) !important;
  }
  .b-sp_m25 {
    margin: minvwcalc(25) !important;
  }
  .b-sp_mt25 {
    margin-top: minvwcalc(25) !important;
  }
  .b-sp_mb25 {
    margin-bottom: minvwcalc(25) !important;
  }
  .b-sp_ml25 {
    margin-left: minvwcalc(25) !important;
  }
  .b-sp_mr25 {
    margin-right: minvwcalc(25) !important;
  }
  .b-sp_p25 {
    padding: minvwcalc(25) !important;
  }
  .b-sp_pt25 {
    padding-top: minvwcalc(25) !important;
  }
  .b-sp_pb25 {
    padding-bottom: minvwcalc(25) !important;
  }
  .b-sp_pl25 {
    padding-left: minvwcalc(25) !important;
  }
  .b-sp_pr25 {
    padding-right: minvwcalc(25) !important;
  }
  .b-sp_m30 {
    margin: minvwcalc(30) !important;
  }
  .b-sp_mt30 {
    margin-top: minvwcalc(30) !important;
  }
  .b-sp_mb30 {
    margin-bottom: minvwcalc(30) !important;
  }
  .b-sp_ml30 {
    margin-left: minvwcalc(30) !important;
  }
  .b-sp_mr30 {
    margin-right: minvwcalc(30) !important;
  }
  .b-sp_p30 {
    padding: minvwcalc(30) !important;
  }
  .b-sp_pt30 {
    padding-top: minvwcalc(30) !important;
  }
  .b-sp_pb30 {
    padding-bottom: minvwcalc(30) !important;
  }
  .b-sp_pl30 {
    padding-left: minvwcalc(30) !important;
  }
  .b-sp_pr30 {
    padding-right: minvwcalc(30) !important;
  }
  .b-sp_m35 {
    margin: minvwcalc(35) !important;
  }
  .b-sp_mt35 {
    margin-top: minvwcalc(35) !important;
  }
  .b-sp_mb35 {
    margin-bottom: minvwcalc(35) !important;
  }
  .b-sp_ml35 {
    margin-left: minvwcalc(35) !important;
  }
  .b-sp_mr35 {
    margin-right: minvwcalc(35) !important;
  }
  .b-sp_p35 {
    padding: minvwcalc(35) !important;
  }
  .b-sp_pt35 {
    padding-top: minvwcalc(35) !important;
  }
  .b-sp_pb35 {
    padding-bottom: minvwcalc(35) !important;
  }
  .b-sp_pl35 {
    padding-left: minvwcalc(35) !important;
  }
  .b-sp_pr35 {
    padding-right: minvwcalc(35) !important;
  }
  .b-sp_m40 {
    margin: minvwcalc(40) !important;
  }
  .b-sp_mt40 {
    margin-top: minvwcalc(40) !important;
  }
  .b-sp_mb40 {
    margin-bottom: minvwcalc(40) !important;
  }
  .b-sp_ml40 {
    margin-left: minvwcalc(40) !important;
  }
  .b-sp_mr40 {
    margin-right: minvwcalc(40) !important;
  }
  .b-sp_p40 {
    padding: minvwcalc(40) !important;
  }
  .b-sp_pt40 {
    padding-top: minvwcalc(40) !important;
  }
  .b-sp_pb40 {
    padding-bottom: minvwcalc(40) !important;
  }
  .b-sp_pl40 {
    padding-left: minvwcalc(40) !important;
  }
  .b-sp_pr40 {
    padding-right: minvwcalc(40) !important;
  }
  .b-sp_m45 {
    margin: minvwcalc(45) !important;
  }
  .b-sp_mt45 {
    margin-top: minvwcalc(45) !important;
  }
  .b-sp_mb45 {
    margin-bottom: minvwcalc(45) !important;
  }
  .b-sp_ml45 {
    margin-left: minvwcalc(45) !important;
  }
  .b-sp_mr45 {
    margin-right: minvwcalc(45) !important;
  }
  .b-sp_p45 {
    padding: minvwcalc(45) !important;
  }
  .b-sp_pt45 {
    padding-top: minvwcalc(45) !important;
  }
  .b-sp_pb45 {
    padding-bottom: minvwcalc(45) !important;
  }
  .b-sp_pl45 {
    padding-left: minvwcalc(45) !important;
  }
  .b-sp_pr45 {
    padding-right: minvwcalc(45) !important;
  }
  .b-sp_m50 {
    margin: minvwcalc(50) !important;
  }
  .b-sp_mt50 {
    margin-top: minvwcalc(50) !important;
  }
  .b-sp_mb50 {
    margin-bottom: minvwcalc(50) !important;
  }
  .b-sp_ml50 {
    margin-left: minvwcalc(50) !important;
  }
  .b-sp_mr50 {
    margin-right: minvwcalc(50) !important;
  }
  .b-sp_p50 {
    padding: minvwcalc(50) !important;
  }
  .b-sp_pt50 {
    padding-top: minvwcalc(50) !important;
  }
  .b-sp_pb50 {
    padding-bottom: minvwcalc(50) !important;
  }
  .b-sp_pl50 {
    padding-left: minvwcalc(50) !important;
  }
  .b-sp_pr50 {
    padding-right: minvwcalc(50) !important;
  }
  .b-sp_m55 {
    margin: minvwcalc(55) !important;
  }
  .b-sp_mt55 {
    margin-top: minvwcalc(55) !important;
  }
  .b-sp_mb55 {
    margin-bottom: minvwcalc(55) !important;
  }
  .b-sp_ml55 {
    margin-left: minvwcalc(55) !important;
  }
  .b-sp_mr55 {
    margin-right: minvwcalc(55) !important;
  }
  .b-sp_p55 {
    padding: minvwcalc(55) !important;
  }
  .b-sp_pt55 {
    padding-top: minvwcalc(55) !important;
  }
  .b-sp_pb55 {
    padding-bottom: minvwcalc(55) !important;
  }
  .b-sp_pl55 {
    padding-left: minvwcalc(55) !important;
  }
  .b-sp_pr55 {
    padding-right: minvwcalc(55) !important;
  }
  .b-sp_m60 {
    margin: minvwcalc(60) !important;
  }
  .b-sp_mt60 {
    margin-top: minvwcalc(60) !important;
  }
  .b-sp_mb60 {
    margin-bottom: minvwcalc(60) !important;
  }
  .b-sp_ml60 {
    margin-left: minvwcalc(60) !important;
  }
  .b-sp_mr60 {
    margin-right: minvwcalc(60) !important;
  }
  .b-sp_p60 {
    padding: minvwcalc(60) !important;
  }
  .b-sp_pt60 {
    padding-top: minvwcalc(60) !important;
  }
  .b-sp_pb60 {
    padding-bottom: minvwcalc(60) !important;
  }
  .b-sp_pl60 {
    padding-left: minvwcalc(60) !important;
  }
  .b-sp_pr60 {
    padding-right: minvwcalc(60) !important;
  }
  .b-sp_m65 {
    margin: minvwcalc(65) !important;
  }
  .b-sp_mt65 {
    margin-top: minvwcalc(65) !important;
  }
  .b-sp_mb65 {
    margin-bottom: minvwcalc(65) !important;
  }
  .b-sp_ml65 {
    margin-left: minvwcalc(65) !important;
  }
  .b-sp_mr65 {
    margin-right: minvwcalc(65) !important;
  }
  .b-sp_p65 {
    padding: minvwcalc(65) !important;
  }
  .b-sp_pt65 {
    padding-top: minvwcalc(65) !important;
  }
  .b-sp_pb65 {
    padding-bottom: minvwcalc(65) !important;
  }
  .b-sp_pl65 {
    padding-left: minvwcalc(65) !important;
  }
  .b-sp_pr65 {
    padding-right: minvwcalc(65) !important;
  }
  .b-sp_m70 {
    margin: minvwcalc(70) !important;
  }
  .b-sp_mt70 {
    margin-top: minvwcalc(70) !important;
  }
  .b-sp_mb70 {
    margin-bottom: minvwcalc(70) !important;
  }
  .b-sp_ml70 {
    margin-left: minvwcalc(70) !important;
  }
  .b-sp_mr70 {
    margin-right: minvwcalc(70) !important;
  }
  .b-sp_p70 {
    padding: minvwcalc(70) !important;
  }
  .b-sp_pt70 {
    padding-top: minvwcalc(70) !important;
  }
  .b-sp_pb70 {
    padding-bottom: minvwcalc(70) !important;
  }
  .b-sp_pl70 {
    padding-left: minvwcalc(70) !important;
  }
  .b-sp_pr70 {
    padding-right: minvwcalc(70) !important;
  }
  .b-sp_m75 {
    margin: minvwcalc(75) !important;
  }
  .b-sp_mt75 {
    margin-top: minvwcalc(75) !important;
  }
  .b-sp_mb75 {
    margin-bottom: minvwcalc(75) !important;
  }
  .b-sp_ml75 {
    margin-left: minvwcalc(75) !important;
  }
  .b-sp_mr75 {
    margin-right: minvwcalc(75) !important;
  }
  .b-sp_p75 {
    padding: minvwcalc(75) !important;
  }
  .b-sp_pt75 {
    padding-top: minvwcalc(75) !important;
  }
  .b-sp_pb75 {
    padding-bottom: minvwcalc(75) !important;
  }
  .b-sp_pl75 {
    padding-left: minvwcalc(75) !important;
  }
  .b-sp_pr75 {
    padding-right: minvwcalc(75) !important;
  }
  .b-sp_m80 {
    margin: minvwcalc(80) !important;
  }
  .b-sp_mt80 {
    margin-top: minvwcalc(80) !important;
  }
  .b-sp_mb80 {
    margin-bottom: minvwcalc(80) !important;
  }
  .b-sp_ml80 {
    margin-left: minvwcalc(80) !important;
  }
  .b-sp_mr80 {
    margin-right: minvwcalc(80) !important;
  }
  .b-sp_p80 {
    padding: minvwcalc(80) !important;
  }
  .b-sp_pt80 {
    padding-top: minvwcalc(80) !important;
  }
  .b-sp_pb80 {
    padding-bottom: minvwcalc(80) !important;
  }
  .b-sp_pl80 {
    padding-left: minvwcalc(80) !important;
  }
  .b-sp_pr80 {
    padding-right: minvwcalc(80) !important;
  }
  .b-sp_m85 {
    margin: minvwcalc(85) !important;
  }
  .b-sp_mt85 {
    margin-top: minvwcalc(85) !important;
  }
  .b-sp_mb85 {
    margin-bottom: minvwcalc(85) !important;
  }
  .b-sp_ml85 {
    margin-left: minvwcalc(85) !important;
  }
  .b-sp_mr85 {
    margin-right: minvwcalc(85) !important;
  }
  .b-sp_p85 {
    padding: minvwcalc(85) !important;
  }
  .b-sp_pt85 {
    padding-top: minvwcalc(85) !important;
  }
  .b-sp_pb85 {
    padding-bottom: minvwcalc(85) !important;
  }
  .b-sp_pl85 {
    padding-left: minvwcalc(85) !important;
  }
  .b-sp_pr85 {
    padding-right: minvwcalc(85) !important;
  }
  .b-sp_m90 {
    margin: minvwcalc(90) !important;
  }
  .b-sp_mt90 {
    margin-top: minvwcalc(90) !important;
  }
  .b-sp_mb90 {
    margin-bottom: minvwcalc(90) !important;
  }
  .b-sp_ml90 {
    margin-left: minvwcalc(90) !important;
  }
  .b-sp_mr90 {
    margin-right: minvwcalc(90) !important;
  }
  .b-sp_p90 {
    padding: minvwcalc(90) !important;
  }
  .b-sp_pt90 {
    padding-top: minvwcalc(90) !important;
  }
  .b-sp_pb90 {
    padding-bottom: minvwcalc(90) !important;
  }
  .b-sp_pl90 {
    padding-left: minvwcalc(90) !important;
  }
  .b-sp_pr90 {
    padding-right: minvwcalc(90) !important;
  }
  .b-sp_m95 {
    margin: minvwcalc(95) !important;
  }
  .b-sp_mt95 {
    margin-top: minvwcalc(95) !important;
  }
  .b-sp_mb95 {
    margin-bottom: minvwcalc(95) !important;
  }
  .b-sp_ml95 {
    margin-left: minvwcalc(95) !important;
  }
  .b-sp_mr95 {
    margin-right: minvwcalc(95) !important;
  }
  .b-sp_p95 {
    padding: minvwcalc(95) !important;
  }
  .b-sp_pt95 {
    padding-top: minvwcalc(95) !important;
  }
  .b-sp_pb95 {
    padding-bottom: minvwcalc(95) !important;
  }
  .b-sp_pl95 {
    padding-left: minvwcalc(95) !important;
  }
  .b-sp_pr95 {
    padding-right: minvwcalc(95) !important;
  }
  .b-sp_m100 {
    margin: minvwcalc(100) !important;
  }
  .b-sp_mt100 {
    margin-top: minvwcalc(100) !important;
  }
  .b-sp_mb100 {
    margin-bottom: minvwcalc(100) !important;
  }
  .b-sp_ml100 {
    margin-left: minvwcalc(100) !important;
  }
  .b-sp_mr100 {
    margin-right: minvwcalc(100) !important;
  }
  .b-sp_p100 {
    padding: minvwcalc(100) !important;
  }
  .b-sp_pt100 {
    padding-top: minvwcalc(100) !important;
  }
  .b-sp_pb100 {
    padding-bottom: minvwcalc(100) !important;
  }
  .b-sp_pl100 {
    padding-left: minvwcalc(100) !important;
  }
  .b-sp_pr100 {
    padding-right: minvwcalc(100) !important;
  }
}
.b-d_ib {
  display: inline-block;
}

.b-pc_br {
  display: inline;
}
@media screen and (max-width: 640px) {
  .b-pc_br {
    display: none;
  }
}

.b-sp_br {
  display: none;
}
@media screen and (max-width: 640px) {
  .b-sp_br {
    display: inline;
  }
}

.b-display_pc {
  display: block;
}
@media screen and (max-width: 640px) {
  .b-display_pc {
    display: none;
  }
}

.b-display_sp {
  display: none;
}
@media screen and (max-width: 640px) {
  .b-display_sp {
    display: block;
  }
}

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

	text

*************************************************/
.b-center {
  text-align: center !important;
}

.b-left {
  text-align: left !important;
}

.b-right {
  text-align: right !important;
}

.b-bold {
  font-weight: bold;
}

.b-small {
  font-size: 0.8em;
}

.b-notes01 {
  margin-top: 1em;
  text-indent: -1em;
  padding-left: 1em;
  font-size: 1.3rem;
}

.b-link01 {
  text-decoration: underline;
  color: var(--main);
}
@media (any-hover: hover) and (pointer: fine) {
  .b-link01:hover {
    text-decoration: none;
  }
}

:root {
  --gothic: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "YuGothic", "Yu Gothic", "游ゴシック体", "Meiryo", "Arial", sans-serif;
  --noto: "Noto Sans JP", "Hiragino Sans", "BIZ UDPGothic", "YuGothic", "Yu Gothic", "游ゴシック体", "Meiryo", "Arial", sans-serif;
  --noto_min: "Noto Serif JP", "Hiragino Sans", "BIZ UDPGothic", "YuGothic", "Yu Gothic", "游ゴシック体", "Meiryo", "Arial", serif;
  --roboto: "Roboto", "Hiragino Sans", "BIZ UDPGothic", "YuGothic", "Yu Gothic", "游ゴシック体", "Meiryo", "Arial", sans-serif;
  --zen_kaku: "Zen Kaku Gothic New", "Hiragino Sans", "BIZ UDPGothic", "YuGothic", "Yu Gothic", "游ゴシック体", "Meiryo", "Arial", sans-serif;
  --black: #333;
  --red: #d00;
  --main: #009dda;
}

html {
  font-size: 0.6944444444vw;
}
@media screen and (max-width: 1024px) {
  html {
    min-width: 1024px;
    overflow-x: auto;
    font-size: 62.5%;
  }
}
@media screen and (max-width: 640px) {
  html {
    min-width: auto;
    overflow: inherit;
    font-size: 2.6666666667vw;
  }
}

body {
  font-family: var(--noto);
  line-height: 1.75;
  font-size: 1.6rem;
  color: var(--black);
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
}
/************************************************

	block

*************************************************/
.b-unit_2col01 {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
}
.b-unit_2col01 > .b-unit_2col01__unit {
  width: 49%;
}
.b-unit_2col01 > .b-unit_2col01__unit:nth-child(odd) {
  margin-right: 2%;
}
.b-unit_2col01 > .b-unit_2col01__unit:nth-child(n+3) {
  margin-top: 2%;
}

.b-unit_2col02 {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
}
.b-unit_2col02 > .b-unit_2col02__unit {
  width: 100%;
}
.b-unit_2col02 > .b-unit_2col02__unit:nth-child(odd) {
  margin-right: 2%;
}
@media screen and (max-width: 640px) {
  .b-unit_2col02 > .b-unit_2col02__unit:nth-child(odd) {
    margin-right: 0;
  }
}
.b-unit_2col02 > .b-unit_2col02__unit:nth-child(n+3) {
  margin-top: 2%;
}
@media screen and (max-width: 640px) {
  .b-unit_2col02 > .b-unit_2col02__unit:nth-child(n+2) {
    margin-top: 2%;
  }
}

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

	content

*************************************************/
.b-containter {
  overflow: hidden;
  position: relative;
  background: #fafafa;
  z-index: 0;
}
@media screen and (max-width: 640px) {
  .b-containter {
    background: #f6f6f6;
  }
}

.b-content01 {
  max-width: 1220px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 1;
}

.b-content02 {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 1;
}

.b-section01 {
  padding: 75px 0;
}
@media screen and (max-width: 640px) {
  .b-section01 {
    padding: 50px 0;
  }
}

.b-section02 {
  padding: 7.5rem 0 10.7rem;
}
@media screen and (max-width: 640px) {
  .b-section02 {
    padding: 19rem 0 7rem;
  }
}

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

	title

*************************************************/
.b-title01 {
  margin-bottom: 2rem;
}
@media screen and (max-width: 640px) {
  .b-title01 {
    margin-bottom: 2.5rem;
  }
}
.b-title01 .b-title01--main {
  font-family: var(--roboto);
  font-size: 8rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  opacity: 0;
  transform: translateX(-2rem);
  transition: opacity 0.3s, transform 0.3s;
}
@media screen and (max-width: 640px) {
  .b-title01 .b-title01--main {
    font-size: 4.8rem;
  }
}
.b-title01 .b-title01--main.is-active {
  opacity: 1;
  transform: translateX(0);
}
.b-title01 .b-title01--main.js-title span {
  opacity: 0;
}
.b-title01 .b-title01--main.js-title02 span {
  opacity: 0;
}
.b-title01 .b-title01--main.js-title03 span {
  opacity: 0;
}
.b-title01 .b-title01--sub {
  margin-top: 1rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.15em;
  opacity: 0;
  transform: translateX(-2rem);
  transition: opacity 0.4s, transform 0.4s;
}
@media screen and (max-width: 640px) {
  .b-title01 .b-title01--sub {
    margin-top: 1.5rem;
    font-size: 1.4rem;
  }
}
.b-title01 .b-title01--sub .b-title01--sub_arrow {
  position: relative;
  padding-left: 2.7rem;
}
.b-title01 .b-title01--sub .b-title01--sub_arrow::after {
  content: "";
  display: block;
  background: url("../images/ico_ttl01.svg") no-repeat center/contain;
  width: 2.4rem;
  height: 2.6rem;
  position: absolute;
  top: 52%;
  left: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 640px) {
  .b-title01 .b-title01--sub .b-title01--sub_arrow::after {
    left: 0;
    width: 2.4rem;
    height: 1.2rem;
  }
}
.b-title01 .b-title01--sub.is-active {
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0.5s;
}
.b-title01 .b-title01--sub.js-title span {
  opacity: 0;
}
.b-title01 .b-title01--sub.js-title02 span {
  opacity: 0;
}
.b-title01 .b-title01--sub.js-title03 span {
  opacity: 0;
}

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

	button

*************************************************/
.b-button01 {
  padding: 1.3rem 0;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: 0.15em;
  font-family: var(--roboto);
  transition: 0.3s all;
}
@media (any-hover: hover) and (pointer: fine) {
  .b-button01:hover .b-button01__arrow::before {
    background: url("../images/ico_arrow_white.svg") no-repeat left center/contain;
    right: 0.6em;
  }
  .b-button01:hover .b-button01__arrow::after {
    background: var(--main);
  }
}
.b-button01 .b-button01__arrow {
  position: relative;
  padding-right: 3.5em;
}
.b-button01 .b-button01__arrow::before, .b-button01 .b-button01__arrow::after {
  display: block;
  position: absolute;
  transition: 0.3s all;
}
.b-button01 .b-button01__arrow::before {
  content: "";
  background: url("../images/ico_arrow_blue.svg") no-repeat left center/contain;
  width: 1.1em;
  height: 1.1em;
  top: 50%;
  transform: translateY(-50%);
  right: 1.08em;
  z-index: 1;
}
.b-button01 .b-button01__arrow::after {
  content: "";
  background: #fff;
  border: 1px solid var(--main);
  width: 2.9em;
  height: 2.9em;
  border-radius: 100%;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.b-button02 {
  display: block;
  font-size: 2rem;
  line-height: 1.3;
  color: var(--main);
  background: #fff;
  border: 1px solid var(--main);
  border-radius: 5px;
  padding: 2.5rem;
  text-align: center;
  position: relative;
  z-index: 1;
  transition: 0.5s;
}
.b-button02::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--main);
  transform-origin: right top;
  transform: scaleX(0);
  transition: transform 0.5s ease;
  z-index: -1;
}
@media (any-hover: hover) and (pointer: fine) {
  .b-button02:hover {
    color: #fff;
  }
  .b-button02:hover::after {
    transform-origin: left top;
    transform: scaleX(1);
  }
  .b-button02:hover .b-button02__arrow::after {
    background: url("../images/ico_arrow_white.svg") no-repeat left center/contain;
  }
}
@media screen and (max-width: 640px) {
  .b-button02 {
    font-size: 1.8rem;
    padding: 15px;
  }
}
.b-button02 .b-button02__arrow {
  display: block;
  position: relative;
  padding-right: 1em;
}
.b-button02 .b-button02__arrow::after {
  content: "";
  display: block;
  background: url("../images/ico_arrow_blue.svg") no-repeat left center/contain;
  width: 0.9em;
  height: 0.9em;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.5s;
}

.b-button03 {
  display: block;
  border-radius: 10px;
  background: #fff;
  color: var(--main);
  padding: 5rem 2.5rem 4.5rem;
  font-size: 1.8rem;
  letter-spacing: 0.15em;
  line-height: 1.3;
  transition: color 0.3s, background 0.3s;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .b-button03 {
    font-size: 1.4rem;
    padding: 2.5rem 2rem;
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .b-button03:hover {
    background: var(--main);
    color: #fff;
  }
  .b-button03:hover .b-button03_arrow::before {
    left: 53%;
  }
}
@media screen and (any-hover: hover) and (pointer: fine) and (max-width: 640px) {
  .b-button03:hover .b-button03_arrow::before {
    left: auto;
    right: 0.4em;
  }
}
.b-button03 .b-button03_arrow {
  display: block;
  position: relative;
  padding-bottom: 3.5em;
}
@media screen and (max-width: 640px) {
  .b-button03 .b-button03_arrow {
    display: inline-block;
    padding-bottom: 0;
    padding-right: 2.7em;
  }
}
.b-button03 .b-button03_arrow::before, .b-button03 .b-button03_arrow::after {
  display: block;
  position: absolute;
  transition: 0.3s left;
  top: 4rem;
}
@media screen and (max-width: 640px) {
  .b-button03 .b-button03_arrow::before, .b-button03 .b-button03_arrow::after {
    top: 3rem;
    transition: 0.3s right;
  }
}
.b-button03 .b-button03_arrow::before {
  content: "";
  background: url("../images/ico_arrow_blue.svg") no-repeat left center/contain;
  width: 1.1em;
  height: 1.1em;
  top: 4.7rem;
  left: 50%;
  transform: translate(-50%, 50%);
  z-index: 1;
}
@media screen and (max-width: 640px) {
  .b-button03 .b-button03_arrow::before {
    width: 0.9em;
    height: 0.9em;
    top: 50%;
    left: auto;
    right: 0.65em;
    transform: translateY(-50%);
  }
}
.b-button03 .b-button03_arrow::after {
  content: "";
  background: #fff;
  border: 1px solid var(--main);
  width: 2.9em;
  height: 2.9em;
  border-radius: 100%;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 640px) {
  .b-button03 .b-button03_arrow::after {
    width: 2em;
    height: 2em;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    left: auto;
  }
}

.b-bnr01 {
  display: block;
  background: #fff;
  border-radius: 10px;
  padding: 4.5rem 4rem;
  text-align: center;
  line-height: 1;
  overflow: hidden;
  position: relative;
  transition-duration: 0.4s;
  z-index: 1;
}
.b-bnr01::after {
  background: var(--main);
  border-radius: 50%;
  content: "";
  display: block;
  margin: auto;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  width: 100%;
  padding-top: 100%;
  height: 0;
  z-index: -1;
  transform: translateY(-50%) scale(0.1);
  transition: opacity 0.5s, transform 0s;
  transition-delay: 0s, 0.4s;
}
.b-bnr01 img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 42.7rem;
  display: block;
  transition: 0.4s ease-in-out;
}
@media (any-hover: hover) and (pointer: fine) {
  .b-bnr01:hover img:nth-of-type(2) {
    opacity: 0;
  }
  .b-bnr01:hover::after {
    background: var(--main);
    opacity: 1;
    transform: translateY(-50%) scale(1.1);
    transition-delay: 0s;
    transition: opacity 0.8s, transform 0.6s ease-in-out;
  }
}
@media screen and (max-width: 640px) {
  .b-bnr01 {
    padding: 4rem 5rem;
  }
  .b-bnr01 img {
    width: 80%;
  }
}

.b-lead_text {
  font-size: 1.6rem;
  letter-spacing: 0.15em;
  line-height: 2.2;
}
@media screen and (max-width: 640px) {
  .b-lead_text {
    font-size: 1.6rem;
    letter-spacing: inherit;
    line-height: inherit;
  }
}

.b-btn_scroll {
  position: absolute;
  top: -6.2rem;
  right: 5.2rem;
}
@media screen and (max-width: 640px) {
  .b-btn_scroll {
    top: -6.5rem;
    right: 2rem;
  }
}
.b-btn_scroll a {
  letter-spacing: 0.1em;
  font-size: 1.5rem;
  line-height: 1.3;
}
@media screen and (max-width: 640px) {
  .b-btn_scroll a {
    font-size: 1.3rem;
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .b-btn_scroll a:hover .btn_scroll__arrow::after {
    right: 0;
    transform: translateY(-75%);
    transition: transform 0.4s ease;
  }
}
.b-btn_scroll .btn_scroll__arrow {
  position: relative;
  overflow: hidden;
  display: inline-block;
  padding-right: 1.5em;
  transition: 0.3s transform;
}
.b-btn_scroll .btn_scroll__arrow::after {
  content: "";
  display: block;
  background: url("../images/ico_arrow_black.svg") repeat-y;
  background-size: contain;
  width: 0.8em;
  height: 3em;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-25%);
  transition: 0.3s transform;
}

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

	under

*************************************************/
.p-under .b-wrapper {
  padding-bottom: 18rem;
  position: relative;
}
@media screen and (max-width: 640px) {
  .p-under .b-wrapper {
    padding-bottom: 10rem;
    margin-top: 5.2rem;
  }
}
.p-under .b-footer {
  margin-top: 0;
  position: relative;
}

.b-wrapper_bg {
  position: relative;
  z-index: 0;
}
.b-wrapper_bg::after {
  content: "";
  display: block;
  background: url("../images/img_con_bottom.png") no-repeat;
  background-size: contain;
  width: 209.2rem;
  height: 89.3rem;
  position: absolute;
  bottom: -4.5rem;
  left: -97rem;
  z-index: -1;
}

.b-under_head {
  position: relative;
}
.b-under_head::after {
  content: "";
  display: block;
  background: url("../images/img_con_head.png") no-repeat;
  background-size: contain;
  width: 161.4rem;
  height: 58.5rem;
  position: fixed;
  top: -3.7rem;
  left: 44.2rem;
  z-index: -1;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .b-under_head::after {
    left: 18rem;
  }
}
@media screen and (max-width: 768px) {
  .b-under_head::after {
    left: 17rem;
  }
}
@media screen and (max-width: 640px) {
  .b-under_head::after {
    top: 5.2rem;
    width: 65rem;
    height: 24.2rem;
    left: 9rem;
  }
}
@media screen and (orientation: landscape) and (max-width: 1000px) {
  .b-under_head::after {
    top: 0;
  }
}
.b-under_head .b-under_head_inner {
  max-width: 120rem;
  margin: 0 auto;
  padding: 17.2rem 4rem 14.3rem;
}
@media screen and (max-width: 640px) {
  .b-under_head .b-under_head_inner {
    padding: 6.3rem 2rem 1.8rem;
  }
}
.b-under_head .b-under_head__ttl01 {
  font-size: 1.8rem;
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 640px) {
  .b-under_head .b-under_head__ttl01 {
    font-size: 1.4rem;
    margin-left: 2rem;
  }
}
.b-under_head .b-under_head__ttl01 span {
  position: relative;
}
.b-under_head .b-under_head__ttl01 span::after {
  content: "";
  display: block;
  background: url("../images/ico_ttl01.svg") no-repeat center/contain;
  width: 2.4rem;
  height: 2.6rem;
  position: absolute;
  top: 52%;
  left: -2.5rem;
  transform: translateY(-50%);
}
@media screen and (max-width: 640px) {
  .b-under_head .b-under_head__ttl01 span::after {
    left: -2.5rem;
    width: 2.4rem;
    height: 1.2rem;
  }
}
.b-under_head .b-under_head__ttl02 {
  margin-top: 3.5rem;
  font-size: 3.6rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 640px) {
  .b-under_head .b-under_head__ttl02 {
    margin-top: 1.7rem;
    font-size: 2.1rem;
  }
}
.b-under_head.b-under_head--list .b-under_head_inner {
  max-width: 144rem;
  padding-top: 20.7rem;
  padding-bottom: 16.6rem;
}
@media screen and (max-width: 640px) {
  .b-under_head.b-under_head--list .b-under_head_inner {
    padding-top: 6.3rem;
    padding-bottom: 1.8rem;
  }
}
.b-under_head.b-under_head--list::after {
  background: url("../images/img_con_head02--pc.png") no-repeat;
  background-size: contain;
}
@media screen and (max-width: 640px) {
  .b-under_head.b-under_head--list::after {
    background-size: contain;
  }
}
.b-under_head.b-under_head--list .b-under_head__ttl01 {
  font-size: 3.6rem;
  letter-spacing: 0.1em;
}
.b-under_head.b-under_head--list .b-under_head__ttl01 span {
  padding-left: 8rem;
}
@media screen and (max-width: 640px) {
  .b-under_head.b-under_head--list .b-under_head__ttl01 span {
    padding-left: 3rem;
  }
}
.b-under_head.b-under_head--list .b-under_head__ttl01 span::after {
  width: 5.4rem;
  height: 3.3rem;
  top: 50%;
  left: 0.6em;
  transform: translateY(-45%);
}
@media screen and (max-width: 640px) {
  .b-under_head.b-under_head--list .b-under_head__ttl01 span::after {
    width: 2.7rem;
    height: 1.6rem;
    left: 0;
  }
}
@media screen and (max-width: 640px) {
  .b-under_head.b-under_head--list .b-under_head__ttl01 {
    font-size: 2.5rem;
    margin-left: 0;
  }
}
.b-under_head.b-under_head--list .b-breadcrumb {
  padding-left: 8.5rem;
  margin-top: 4rem;
}
@media screen and (max-width: 640px) {
  .b-under_head.b-under_head--list .b-breadcrumb {
    padding-left: 0;
  }
}

.b-breadcrumb {
  display: -webkit-flex;
  display: flex;
  margin-top: 4.2rem;
}
@media screen and (max-width: 640px) {
  .b-breadcrumb {
    margin-top: 3.2rem;
  }
}
.b-breadcrumb li {
  position: relative;
  font-size: 1.2rem;
  line-height: 1.3;
  margin-right: 1em;
  padding-right: 1em;
  letter-spacing: 0.16em;
}
@media screen and (max-width: 640px) {
  .b-breadcrumb li {
    font-size: 1.1rem;
  }
}
.b-breadcrumb li a {
  color: var(--main);
  transition: 0.3s opacity;
}
@media (any-hover: hover) and (pointer: fine) {
  .b-breadcrumb li a:hover {
    opacity: 0.7;
  }
}
.b-breadcrumb li::after {
  content: "";
  display: block;
  border-top: 0.1rem solid var(--main);
  border-right: 0.1rem solid var(--main);
  width: 0.5em;
  height: 0.5em;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) rotate(45deg);
}
.b-breadcrumb li:last-child {
  margin-right: 0;
  padding-right: 0;
}
.b-breadcrumb li:last-child::after {
  content: none;
}

.b-under_anc {
  margin-top: 3rem;
  margin-left: auto;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 640px) {
  .b-under_anc {
    margin-top: 6rem;
    justify-content: center;
  }
}
.b-under_anc .b-under_anc_list {
  display: -webkit-flex;
  display: flex;
}
.b-under_anc .b-under_anc_list li {
  margin-right: 1rem;
}
@media screen and (max-width: 640px) {
  .b-under_anc .b-under_anc_list li {
    margin-right: 0.7rem;
  }
}
.b-under_anc .b-under_anc_list li:last-child {
  margin-right: 0;
}
.b-under_anc .b-under_anc_list li a {
  display: block;
  padding: 1rem 5.5rem;
  position: relative;
  z-index: 0;
  color: var(--main);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.3;
  transition: color 0.3s;
}
@media screen and (max-width: 640px) {
  .b-under_anc .b-under_anc_list li a {
    font-size: 1.3rem;
    padding: 0.7rem 2rem;
    white-space: nowrap;
  }
}
.b-under_anc .b-under_anc_list li a::after {
  content: "";
  display: block;
  width: 100%;
  padding-bottom: 4rem;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: skew(-15deg);
  transform: translate(-50%, -50%) skew(-40deg);
  z-index: -1;
  transition: background 0.3s;
}
@media screen and (max-width: 640px) {
  .b-under_anc .b-under_anc_list li a::after {
    padding-bottom: 3rem;
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .b-under_anc .b-under_anc_list li a:hover {
    color: #fff;
  }
  .b-under_anc .b-under_anc_list li a:hover::after {
    background: var(--main);
  }
}
.b-under_anc .b-under_anc_list li a:focus-visible {
  box-shadow: none;
  color: #fff;
}
.b-under_anc .b-under_anc_list li a:focus-visible::after {
  background: var(--main);
}

.b-under_content01 {
  max-width: 120rem;
  margin: 0 auto;
  padding: 0 2rem;
  position: relative;
}
@media screen and (max-width: 640px) {
  .b-under_content01 {
    max-width: 120rem;
    padding: 0 2rem;
  }
}

.b-under_content02 {
  max-width: 144rem;
  margin: 0 auto;
  padding: 0 2rem;
  position: relative;
}

.b-under_content03 {
  max-width: 100rem;
  margin: 9.2rem auto 0;
}
@media screen and (max-width: 640px) {
  .b-under_content03 {
    margin: 5rem auto 0;
  }
}

.b-under_content04 {
  max-width: 121rem;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 640px) {
  .b-under_content04 {
    padding: 0 2rem;
  }
}

.b-under_box01 {
  position: relative;
  padding: 6.5rem 9rem 8.5rem;
  width: 100%;
  margin: 0rem auto 8.7rem;
}
@media screen and (max-width: 640px) {
  .b-under_box01 {
    margin: 0rem auto 4.5rem;
    padding: 3.5rem 2rem;
  }
}
.b-under_box01::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(50px);
  z-index: -1;
}
.b-under_box02 {
  position: relative;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(50px);
  padding: 3rem 13rem 10rem;
}
@media screen and (max-width: 640px) {
  .b-under_box02 {
    backdrop-filter: blur(30px);
    padding: 3rem 3rem 5rem;
  }
}

.b-under_inner01 {
  width: 100%;
  height: 100%;
  position: relative;
}

.b-side_title {
  position: absolute;
  position: static;
  top: 0;
  left: 0;
  width: fit-content;
  height: fit-content;
}
@media screen and (max-width: 640px) {
  .b-side_title {
    position: static;
  }
}

.b-under_ttl01 {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s, transform 0.5s;
}
.b-under_ttl01.is-active {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.2s;
}
.b-under_ttl01 .b-under_ttl01--main {
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.15em;
  white-space: nowrap;
}
@media screen and (max-width: 640px) {
  .b-under_ttl01 .b-under_ttl01--main {
    font-size: 2rem;
  }
}
.b-under_ttl01 .b-under_ttl01--sub {
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1.3;
  letter-spacing: 0.1em;
  color: var(--main);
  margin-top: 1rem;
  white-space: nowrap;
}
@media screen and (max-width: 640px) {
  .b-under_ttl01 .b-under_ttl01--sub {
    font-size: 1.4rem;
    margin-top: 1.3333333333vw;
  }
}

.b-under_ttl02 {
  font-size: 12.4rem;
  font-family: var(--roboto);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 640px) {
  .b-under_ttl02 {
    font-size: 4rem;
  }
}

.b-side_area {
  width: 80%;
  margin: 0 auto;
  padding-top: 5.5rem;
}
@media screen and (max-width: 640px) {
  .b-side_area {
    width: 100%;
    padding-top: 3rem;
  }
}

.b-under_lead {
  font-size: 2rem;
  letter-spacing: 0.09em;
  line-height: 2.5;
  margin-top: 0.5em;
}
@media screen and (max-width: 640px) {
  .b-under_lead {
    font-size: 1.6rem;
  }
}

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

	related_information

*************************************************/
.b-related_information {
  padding-left: 2rem;
  max-width: 129.5rem;
  margin-left: auto;
  position: relative;
}
@media screen and (max-width: 640px) {
  .b-related_information {
    max-width: 100%;
  }
}
.b-related_information::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(145, 170, 177, 0.14);
  backdrop-filter: blur(50px);
}
@media screen and (max-width: 640px) {
  .b-related_information {
    padding-left: 0;
  }
}
.b-related_information .b-related_information_inner {
  max-width: 129.5rem;
  padding: 5rem 9.5rem;
  margin-left: auto;
  position: relative;
}
@media screen and (max-width: 640px) {
  .b-related_information .b-related_information_inner {
    max-width: 100%;
    padding: 3.5rem 4.5rem;
  }
}
.b-related_information .b-related_information_dl {
  display: block;
}
@media screen and (max-width: 640px) {
  .b-related_information .b-related_information_dl {
    display: block;
  }
}
.b-related_information .b-related_information_dl dt {
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.15em;
  flex-shrink: 0;
  margin-right: 7rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 640px) {
  .b-related_information .b-related_information_dl dt {
    font-size: 1.6rem;
    margin-bottom: 2rem;
    margin-right: 0;
    text-align: center;
  }
}
.b-related_information .b-related_information_dl dd {
  width: 100%;
}
.b-related_information .b-related_information_list {
  display: -webkit-flex;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 640px) {
  .b-related_information .b-related_information_list {
    display: block;
  }
}
.b-related_information .b-related_information_list li {
  width: 24%;
  margin-right: 2%;
}
.b-related_information .b-related_information_list li:last-child {
  margin-right: 0;
}
@media screen and (max-width: 640px) {
  .b-related_information .b-related_information_list li {
    width: 100%;
    margin-right: 0;
    margin-top: 1.5rem;
  }
  .b-related_information .b-related_information_list li:first-child {
    margin-top: 0;
  }
}
@media screen and (max-width: 1024px) {
  .b-related_information .b-related_information_list .b-button03 {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 640px) {
  .b-related_information .b-related_information_list .b-button03 {
    font-size: 1.4rem;
  }
}

.b-header {
  background: rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(50px);
  backdrop-filter: blur(50px);
  position: fixed;
  width: 100%;
  z-index: 9999;
}
@media screen and (max-width: 1024px) {
  .b-header {
    height: 5.2rem;
  }
}
@media screen and (orientation: landscape) and (max-width: 1000px) {
  .b-header {
    position: relative;
  }
}
.b-header .b-header_inner {
  padding: 2.5rem 5rem;
}
@media screen and (max-width: 1024px) {
  .b-header .b-header_inner {
    padding: 2.6rem 2rem;
  }
}
@media screen and (max-width: 1024px) {
  .b-header .b-header_inner {
    padding: 2.6rem 2rem;
  }
}
.b-header .b-header_inner.is-display {
  background: var(--main);
}
.b-header .b-header_col {
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  gap: 4rem;
}
.b-header .b-header_logo {
  line-height: 1.3;
  display: block;
  margin-right: 1.5em;
  width: 24.5rem;
}
@media screen and (max-width: 1024px) {
  .b-header .b-header_logo {
    display: block;
    line-height: 1;
  }
}
.b-header .b-header_logo a {
  transition: 0.3s opacity;
}
@media (any-hover: hover) and (pointer: fine) {
  .b-header .b-header_logo a:hover {
    opacity: 0.7;
  }
}
.b-header .b-header_logo.is-display .b-header_logo--black {
  opacity: 0;
}
.b-header .b-header_logo.is-display .b-header_logo--white {
  opacity: 1;
}
.b-header .b-header_logo .b-header_logo--black,
.b-header .b-header_logo .b-header_logo--white {
  position: absolute;
  max-width: 24.5rem;
  width: 100%;
  height: auto;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  transition: 0.3s opacity;
}
@media screen and (max-width: 1024px) {
  .b-header .b-header_logo .b-header_logo--black,
  .b-header .b-header_logo .b-header_logo--white {
    width: 60%;
  }
}
@media screen and (max-width: 1024px) {
  .b-header .b-header_logo .b-header_logo--black,
  .b-header .b-header_logo .b-header_logo--white {
    max-width: 24.5rem;
  }
}
.b-header .b-header_logo .b-header_logo--black {
  opacity: 1;
}
.b-header .b-header_logo .b-header_logo--white {
  opacity: 0;
}
.b-header .b-header_group_link {
  line-height: 1.3;
  width: 25.1rem;
}
.b-header .b-header_group_link a {
  transition: 0.3s opacity;
}
@media (any-hover: hover) and (pointer: fine) {
  .b-header .b-header_group_link a:hover {
    opacity: 0.7;
  }
}
.b-header .b-header_group_link a img {
  width: 100%;
}
.b-header .b-header_nav {
  display: -webkit-flex;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .b-header .b-header_nav {
    display: none;
  }
}
.b-header .b-header_nav .b-header_nav--bottom {
  margin-right: 2.2em;
  /*@include mq(1105) {
  	margin-right: 0;
  	margin-top: .3em;
  }*/
}
.b-header .b-header_nav .b-header_nav__col {
  display: -webkit-flex;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.b-header .b-header_nav .b-header_nav__col > div {
  margin-right: 2.2em;
}
.b-header .b-header_nav .b-header_nav__col > div:last-child {
  margin-right: 0;
}
.b-header .b-header_nav .b-header_nav__lang {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  padding-left: 2rem;
}
.b-header .b-header_nav .b-header_nav__lang > li {
  position: relative;
  opacity: 0.7;
  font-size: 1.4rem;
}
.b-header .b-header_nav .b-header_nav__lang > li.b-header_nav__lang_link {
  opacity: 1;
}
.b-header .b-header_nav .b-header_nav__lang > li.b-header_nav__lang_link a {
  transition: 0.3s color;
}
@media (any-hover: hover) and (pointer: fine) {
  .b-header .b-header_nav .b-header_nav__lang > li.b-header_nav__lang_link a:hover {
    color: var(--main);
  }
}
.b-header .b-header_nav .b-header_nav__lang > li::after {
  content: "｜";
  margin: 0.3;
}
.b-header .b-header_nav .b-header_nav__lang > li:last-child::after {
  content: none;
}
.b-header .b-header_gnav {
  display: -webkit-flex;
  display: flex;
}
.b-header .b-header_gnav > li {
  margin-right: 2.2em;
  position: relative;
  font-size: 1.5rem;
}
.b-header .b-header_gnav > li:last-child {
  margin-right: 0;
}
.b-header .b-header_gnav > li.is-current > a {
  padding-bottom: 0.2rem;
  border-bottom: 2px solid var(--main);
}
.b-header .b-header_gnav > li > a {
  display: block;
  overflow: hidden;
  color: transparent;
  text-shadow: 0 -1.5em 0 #000, 0 0 0 #000;
  transition: text-shadow 0.5s;
}
@media (any-hover: hover) and (pointer: fine) {
  .b-header .b-header_gnav > li > a:hover {
    text-shadow: 0 0 0 var(--main), 0 1.5em 0 var(--main);
  }
}
.b-header .b-header_gnav > li .b-header_gnav__list {
  background: #fff;
  position: absolute;
  top: 5.2rem;
  left: 50%;
  transform: translateX(-50%);
  width: 20em;
  height: auto;
  display: none;
}
.b-header .b-header_gnav > li .b-header_gnav__list.b-header_gnav__list--first {
  width: 9em;
}
.b-header .b-header_gnav > li .b-header_gnav__list li {
  line-height: 1.3;
  border-bottom: 0.1rem solid #ddd;
}
.b-header .b-header_gnav > li .b-header_gnav__list li:last-child {
  border-bottom: none;
}
.b-header .b-header_gnav > li .b-header_gnav__list li a {
  display: block;
  padding: 1.5rem 2rem;
  text-align: center;
  transition: 0.3s background, 0.3s color;
}
@media (any-hover: hover) and (pointer: fine) {
  .b-header .b-header_gnav > li .b-header_gnav__list li a:hover {
    background: var(--main);
    color: #fff;
  }
  .b-header .b-header_gnav > li .b-header_gnav__list li a:hover .b-header_gnav__list_arrow::after {
    background: url("../images/ico_arrow_white02.svg") no-repeat right center/contain;
  }
}
.b-header .b-header_gnav > li .b-header_gnav__list li .b-header_gnav__list_arrow {
  position: relative;
  padding-right: 1.3em;
  transition: 0.3s background;
  display: inline-block;
}
.b-header .b-header_gnav > li .b-header_gnav__list li .b-header_gnav__list_arrow::after {
  content: "";
  display: block;
  background: url("../images/ico_arrow_blue02.svg") no-repeat right center/contain;
  width: 0.7em;
  height: 0.7em;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  transition: 0.3s background;
}
.b-header .b-header_humbager {
  display: none;
}
@media screen and (max-width: 1125px) {
  .b-header .b-header_humbager {
    display: -webkit-flex;
    display: flex;
    align-items: center;
    position: absolute;
    top: -2rem;
    right: -0.6rem;
    z-index: 9999;
  }
}
@media screen and (max-width: 1024px) {
  .b-header .b-header_humbager {
    top: -2rem;
    right: -0.6rem;
  }
}
.b-header .b-header_humbager .b-header_humbager__close {
  opacity: 0;
  margin-right: 0.2em;
  font-size: 0.9rem;
  color: #fff;
  transition: 0.3s opacity;
}
@media screen and (max-width: 1024px) {
  .b-header .b-header_humbager .b-header_humbager__close {
    font-size: 0.9rem;
  }
}
.b-header .b-header_humbager.is-open .b-header_humbager__close {
  opacity: 1;
}
.b-header .b-header_humbager.is-open .b-header_sp-btn {
  background: none;
  width: 4.5rem;
  height: 4.5rem;
}
@media screen and (max-width: 1024px) {
  .b-header .b-header_humbager.is-open .b-header_sp-btn {
    width: 4.5rem;
    height: 4.5rem;
  }
}
.b-header .b-header_humbager.is-open .b-header_sp-btn .b-header_sp-btn__inner {
  width: 4.5rem;
  height: 4.5rem;
}
@media screen and (max-width: 1024px) {
  .b-header .b-header_humbager.is-open .b-header_sp-btn .b-header_sp-btn__inner {
    width: 4.5rem;
    height: 4.5rem;
  }
}
.b-header .b-header_humbager.is-open .b-header_sp-btn .b-header_sp-btn__inner span {
  background: #fff;
  width: 60%;
  height: 0.2rem;
  left: 20%;
}
@media screen and (max-width: 1024px) {
  .b-header .b-header_humbager.is-open .b-header_sp-btn .b-header_sp-btn__inner span {
    height: 0.2rem;
  }
}
.b-header .b-header_humbager.is-open .b-header_sp-btn .b-header_sp-btn__inner span:first-of-type {
  transform: rotate(-45deg) translateY(0rem);
  top: 45%;
}
.b-header .b-header_humbager.is-open .b-header_sp-btn .b-header_sp-btn__inner span:nth-of-type(2) {
  opacity: 0;
}
.b-header .b-header_humbager.is-open .b-header_sp-btn .b-header_sp-btn__inner span:last-of-type {
  transform: rotate(45deg) translateY(0rem);
  top: 45%;
}
@media screen and (max-width: 1024px) {
  .b-header .b-header_sp-btn {
    width: 4rem;
    height: 4rem;
    transition: 0.3s all;
  }
  .b-header .b-header_sp-btn .b-header_sp-btn__inner {
    position: relative;
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    outline: none;
    width: 4rem;
    height: 4rem;
  }
  .b-header .b-header_sp-btn .b-header_sp-btn__inner span {
    width: 65%;
    height: 0.3rem;
    background: var(--main);
    transition: 0.3s all;
    transform: rotate(0deg);
    display: block;
    position: absolute;
    left: 20%;
  }
  .b-header .b-header_sp-btn .b-header_sp-btn__inner span:first-of-type {
    top: 25%;
  }
  .b-header .b-header_sp-btn .b-header_sp-btn__inner span:nth-of-type(2) {
    top: 45%;
    opacity: 1;
  }
  .b-header .b-header_sp-btn .b-header_sp-btn__inner span:last-of-type {
    top: 64%;
  }
}
@media screen and (max-width: 1024px) {
  .b-header .b-header_sp-btn {
    width: 4rem;
    height: 4rem;
  }
  .b-header .b-header_sp-btn .b-header_sp-btn__inner {
    width: 4rem;
    height: 4rem;
  }
  .b-header .b-header_sp-btn .b-header_sp-btn__inner span {
    height: 0.2rem;
  }
}
.b-header .b-header_sp .b-header_sp__nav {
  position: absolute;
  width: 100%;
  box-sizing: border-box;
  top: 0;
  left: 0;
  z-index: -1;
  overflow: hidden;
  background: var(--main);
  transform: translateY(-100%);
  transition: 0.6s all;
  padding: 8rem 5rem 5rem;
}
@media screen and (max-width: 1024px) {
  .b-header .b-header_sp .b-header_sp__nav {
    padding: 8rem 5rem 5rem;
  }
}
@media screen and (max-width: 480px) {
  .b-header .b-header_sp .b-header_sp__nav {
    padding: 8rem 3rem 5rem;
  }
}
@media screen and (max-width: 1125px) {
  .b-header .b-header_sp.is-open .b-header_sp__nav {
    transform: translateY(0);
  }
}
.b-header .b-header_sp .b-header_sp__nav_inner {
  max-width: 40rem;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .b-header .b-header_sp .b-header_sp__nav_inner {
    max-width: 40rem;
  }
}
@media screen and (max-width: 480px) {
  .b-header .b-header_sp .b-header_sp__nav_inner {
    max-width: 100%;
  }
}
.b-header .b-header_sp .b-header_sp__lang {
  display: -webkit-flex;
  display: flex;
}
.b-header .b-header_sp .b-header_sp__lang li {
  position: relative;
  color: #fff;
  font-size: 1.2rem;
}
.b-header .b-header_sp .b-header_sp__lang li::after {
  content: "／";
  margin: 0 0.5em;
}
.b-header .b-header_sp .b-header_sp__lang li:last-child::after {
  content: none;
}
.b-header .b-header_sp .b-header_sp__lang li a {
  color: #cacaca;
}
.b-header .b-header_sp .b-header_sp_gnav {
  color: #fff;
  margin-top: 1em;
}
.b-header .b-header_sp .b-header_sp_gnav > li {
  letter-spacing: 0.15em;
  position: relative;
}
.b-header .b-header_sp .b-header_sp_gnav > li a {
  display: block;
}
.b-header .b-header_sp .b-header_sp_gnav > li + li {
  margin-top: 1em;
}
.b-header .b-header_sp .b-header_sp_gnav .b-header_sp_gnav--arrow {
  position: relative;
  padding-right: 1.5em;
}
.b-header .b-header_sp .b-header_sp_gnav .b-header_sp_gnav--arrow::after {
  content: "";
  display: block;
  background: url("../images/ico_arrow_white02.svg") no-repeat left center/contain;
  width: 0.5em;
  height: 1em;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.b-header .b-header_sp .b-header_sp_gnav .b-header_sp_gnav--more {
  width: fit-content;
}
.b-header .b-header_sp .b-header_sp_gnav .b-header_sp_gnav--more span {
  display: inline-block;
  position: relative;
  padding-right: 2em;
}
.b-header .b-header_sp .b-header_sp_gnav .b-header_sp_gnav--more span::before, .b-header .b-header_sp .b-header_sp_gnav .b-header_sp_gnav--more span::after {
  content: "";
  display: block;
  width: 1em;
  height: 0.2rem;
  background: #fff;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 1024px) {
  .b-header .b-header_sp .b-header_sp_gnav .b-header_sp_gnav--more span::before, .b-header .b-header_sp .b-header_sp_gnav .b-header_sp_gnav--more span::after {
    height: 0.2rem;
  }
}
.b-header .b-header_sp .b-header_sp_gnav .b-header_sp_gnav--more span::after {
  transform: translate(-50%, -50%) rotate(-90deg);
  transition: 0.3s all;
}
.b-header .b-header_sp .b-header_sp_gnav .b-header_sp_gnav--more.is-acn span::after {
  transform: translate(-50%, -50%) rotate(0deg);
}
.b-header .b-header_sp .b-header_sp_gnav .b-header_sp_gnav__list {
  display: none;
  margin-top: 1rem;
}
.b-header .b-header_sp .b-header_sp_gnav .b-header_sp_gnav__list li a {
  display: block;
  padding: 1rem 1.1em;
}
.b-header .b-header_sp .b-header_sp_gnav .b-header_sp_gnav__list li .b-header_sp_gnav__list_arrow {
  position: relative;
  padding-right: 1.5em;
}
.b-header .b-header_sp .b-header_sp_gnav .b-header_sp_gnav__list li .b-header_sp_gnav__list_arrow::after {
  content: "";
  display: block;
  background: url("../images/ico_arrow_white02.svg") no-repeat left center/contain;
  width: 0.5em;
  height: 1em;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.b-header .b-header_sp .b-header_sp__group {
  background: #fff;
  border-radius: 0.5rem;
  margin-top: 2em;
  min-width: 24.7rem;
}
@media screen and (max-width: 1024px) {
  .b-header .b-header_sp .b-header_sp__group {
    border-radius: 0.5rem;
    min-width: 24.7rem;
  }
}
.b-header .b-header_sp .b-header_sp__group a {
  display: block;
  text-align: center;
  line-height: 1;
  padding: 1.5rem;
}
@media screen and (max-width: 1024px) {
  .b-header .b-header_sp .b-header_sp__group a {
    padding: 1.5rem;
  }
}
.b-header .b-header_sp .b-header_sp__group a img {
  max-width: 80%;
  width: 100%;
}

.b-footer {
  margin-top: 11.6rem;
  background: #fff;
  position: relative;
}
@media screen and (max-width: 640px) {
  .b-footer {
    margin-top: 10rem;
  }
}
.b-footer .b-footer_content {
  max-width: 122rem;
  margin: 0 auto;
  padding: 0rem 2rem;
}
.b-footer .b-footer_inner {
  padding: 7.5rem 0 4.5rem;
}
@media screen and (max-width: 640px) {
  .b-footer .b-footer_inner {
    padding: 3.1rem 0 4.5rem;
  }
}
.b-footer .b-footer_col {
  display: -webkit-flex;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}
@media screen and (max-width: 640px) {
  .b-footer .b-footer_col {
    display: block;
  }
}
.b-footer .b-footer_col > div {
  margin-left: 4%;
}
.b-footer .b-footer_col > div:first-child {
  flex-shrink: 0;
}
.b-footer .b-footer_col > div:last-child {
  margin-left: 0;
}
@media screen and (max-width: 640px) {
  .b-footer .b-footer_col > div {
    margin-left: 0;
  }
  .b-footer .b-footer_col > div:last-child {
    margin-top: 2.3em;
  }
}
.b-footer .b-footer_col02 {
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 640px) {
  .b-footer .b-footer_col02 {
    flex-wrap: wrap;
  }
}
.b-footer .b-footer_col02 > div {
  margin-right: 6rem;
}
.b-footer .b-footer_col02 > div:last-child {
  margin-right: 0;
}
@media screen and (max-width: 640px) {
  .b-footer .b-footer_col02 > div {
    margin-top: 1.5em;
    margin-right: 0;
    margin-right: 4%;
    width: 5em;
  }
  .b-footer .b-footer_col02 > div:nth-child(2n) {
    width: 13em;
    margin-right: 0;
  }
}
.b-footer .b-footer_logo {
  display: block;
  max-width: 24.5rem;
  line-height: 1;
}
@media screen and (max-width: 640px) {
  .b-footer .b-footer_logo {
    max-width: 24.5rem;
  }
}
.b-footer .b-footer_logo a {
  transition: 0.3s all;
}
@media (any-hover: hover) and (pointer: fine) {
  .b-footer .b-footer_logo a:hover {
    opacity: 0.7;
  }
}
.b-footer .b-footer_logo img {
  width: 100%;
}
.b-footer .b-footer_address {
  margin-top: 2.5rem;
  font-size: 1.4rem;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 640px) {
  .b-footer .b-footer_address {
    margin-top: 1.5rem;
    font-size: 1.4rem;
  }
}
.b-footer .b-footer_address .b-footer_address__tel span {
  font-size: 150%;
}
.b-footer .b-footer_contact {
  margin-top: 4rem;
}
@media screen and (max-width: 640px) {
  .b-footer .b-footer_contact {
    margin-top: 2rem;
  }
}
.b-footer .b-footer_contact .b-button02 {
  font-size: 1.6rem;
  letter-spacing: 0.15em;
  padding: 1.5rem;
  max-width: 25.2rem;
}
@media screen and (max-width: 640px) {
  .b-footer .b-footer_contact .b-button02 {
    font-size: 1.6rem;
    padding: 1.2rem 1.5rem;
    margin: 0 auto;
    max-width: 25.2rem;
  }
}
.b-footer .b-footer_nav .b-footer_nav__ttl {
  letter-spacing: 0.1em;
  font-weight: 600;
}
.b-footer .b-footer_nav .b-footer_nav__ttl a {
  transition: 0.3s all;
}
@media (any-hover: hover) and (pointer: fine) {
  .b-footer .b-footer_nav .b-footer_nav__ttl a:hover {
    color: var(--main);
  }
}
.b-footer .b-footer_nav .b-footer_nav__ttl > li + li {
  margin-top: 1em;
}
.b-footer .b-footer_nav .b-footer_nav__list {
  margin-top: 1.5rem;
}
.b-footer .b-footer_nav .b-footer_nav__list li {
  letter-spacing: 0.1em;
  font-size: 1.4rem;
}
@media screen and (max-width: 640px) {
  .b-footer .b-footer_nav .b-footer_nav__list li {
    font-size: 1.4rem;
  }
}
.b-footer .b-footer_nav .b-footer_nav__list li + li {
  margin-top: 1.5rem;
}
@media screen and (max-width: 640px) {
  .b-footer .b-footer_nav .b-footer_nav__list li + li {
    margin-top: 1rem;
  }
}
.b-footer .b-footer_nav .b-footer_nav__list li a {
  transition: 0.3s all;
}
@media (any-hover: hover) and (pointer: fine) {
  .b-footer .b-footer_nav .b-footer_nav__list li a:hover {
    opacity: 0.7;
  }
}
.b-footer .b-footer_policy {
  margin-top: 4.5em;
  font-size: 1.2rem;
  text-align: right;
}
@media screen and (max-width: 640px) {
  .b-footer .b-footer_policy {
    text-align: left;
    margin-top: 1.5rem;
    font-size: 1.2rem;
  }
}
.b-footer .b-footer_policy a {
  position: relative;
  transition: 0.3s opacity;
  /*&::after {
  	background-color: #333;
  	bottom: -8px;
  	content: "";
  	height: 1px;
  	left: 0;
  	opacity: 0;
  	position: absolute;
  	transition: all .3s;
  	width: 100%;
  }*/
}
@media (any-hover: hover) and (pointer: fine) {
  .b-footer .b-footer_policy a:hover {
    opacity: 0.7;
    /*&::after {
    	bottom: -4px;
    	opacity: 1;
    }*/
  }
}
.b-footer .b-footer_policy02 {
  margin-top: 4.5em;
  font-size: 1.2rem;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-end;
}
.b-footer .b-footer_policy02 li {
  margin-right: 1em;
}
.b-footer .b-footer_policy02 li:last-child {
  margin-right: 0;
}
@media screen and (max-width: 640px) {
  .b-footer .b-footer_policy02 {
    margin-top: 1.5rem;
    font-size: 1.2rem;
    display: block;
  }
  .b-footer .b-footer_policy02 li {
    margin-right: 0;
    margin-bottom: 1em;
  }
  .b-footer .b-footer_policy02 li:last-child {
    margin-bottom: 0;
  }
}
.b-footer .b-footer_policy02 a {
  position: relative;
  transition: 0.3s opacity;
}
@media (any-hover: hover) and (pointer: fine) {
  .b-footer .b-footer_policy02 a:hover {
    opacity: 0.7;
  }
}
.b-footer .b-footer_copyright {
  text-align: center;
  background: var(--main);
  color: #fff;
  font-size: 1rem;
  letter-spacing: 0.15em;
  padding: 1.5rem;
}
@media screen and (max-width: 640px) {
  .b-footer .b-footer_copyright {
    font-size: 1rem;
    padding: 1.5rem;
  }
}

.p-about .b-under_content02 {
  padding: 0;
}
.p-about .b-under_box02 {
  padding-top: 5rem;
  padding-bottom: 1.5rem;
}
.p-about .b-under_ttl02 {
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 0.5s, transform 0.5s;
  font-size: 10.8rem;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .p-about .b-under_ttl02 {
    font-size: 4.8rem;
    text-align: left;
  }
}
.p-about .b-under_ttl02.is-active {
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0.2s;
}
.p-about .b-under_lead {
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 0.5s, transform 0.5s;
  text-align: center;
  letter-spacing: 0.08em;
  margin-top: 1.3rem;
}
@media screen and (max-width: 640px) {
  .p-about .b-under_lead {
    text-align: left;
    line-height: 2;
  }
}
.p-about .b-under_lead.is-active {
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0.3s;
}
.p-about .b-button01 {
  font-weight: normal;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-about .b-button01:hover .b-button01__arrow::before {
    background: url("../images/ico_arrow_blue.svg") no-repeat left center/contain;
    right: 0;
  }
  .p-about .b-button01:hover .b-button01__arrow::after {
    background: #fff;
  }
}
.p-about .about_ttl01 {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.18em;
  margin-bottom: 0.6rem;
}
@media screen and (max-width: 640px) {
  .p-about .about_ttl01 {
    margin-bottom: 1.5rem;
  }
}
.p-about .about_list_lead {
  font-size: 1.5rem;
  line-height: 1.9;
  letter-spacing: 0.15em;
}
.p-about .about_list.about_list--top .about_ttl01 {
  margin-bottom: 1rem;
  letter-spacing: 0.18em;
}
.p-about .about_list.about_list--top .about_list_lead {
  line-height: 2;
}
.p-about .about_list.about_list--top .about_btn {
  margin-top: 2.6rem;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-about .about_list a:hover .about_list_thumb img {
    transform: scale(1.1);
  }
  .p-about .about_list a:hover .about_list_thumb02 img {
    transform: scale(1.1);
  }
  .p-about .about_list a:hover .b-button01 .b-button01__arrow::before {
    background: url("../images/ico_arrow_white.svg") no-repeat left center/contain;
    right: 0.6em;
  }
  .p-about .about_list a:hover .b-button01 .b-button01__arrow::after {
    background: var(--main);
  }
}
.p-about .about_list .about_list_col {
  display: -webkit-flex;
  display: flex;
}
@media screen and (max-width: 1024px) {
  .p-about .about_list .about_list_col {
    align-items: center;
  }
}
@media screen and (max-width: 640px) {
  .p-about .about_list .about_list_col {
    display: block;
  }
}
.p-about .about_list .about_list_col > div:first-child {
  flex-basis: 46.4rem;
  flex-shrink: 0;
}
.p-about .about_list .about_list_col > div:last-child {
  margin-right: 0;
}
@media screen and (max-width: 1024px) {
  .p-about .about_list .about_list_col > div {
    width: 50%;
  }
  .p-about .about_list .about_list_col > div:first-child {
    flex-basis: auto;
    flex-shrink: 1;
  }
}
@media screen and (max-width: 640px) {
  .p-about .about_list .about_list_col > div {
    width: 100%;
  }
  .p-about .about_list .about_list_col > div:last-child {
    margin-top: 1.5rem;
  }
}
.p-about .about_list .about_list_col02 {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  margin-top: 7.5rem;
}
@media screen and (max-width: 640px) {
  .p-about .about_list .about_list_col02 {
    display: block;
    margin-top: 2.5rem;
  }
}
.p-about .about_list .about_list_col02 > div {
  width: 30%;
  margin-bottom: 6rem;
  margin-right: 5%;
}
.p-about .about_list .about_list_col02 > div:nth-child(3n) {
  margin-right: 0;
}
@media screen and (max-width: 640px) {
  .p-about .about_list .about_list_col02 > div {
    width: 100%;
    margin-bottom: 2.5rem;
    margin-right: 0;
  }
}
.p-about .about_list .about_list_box {
  padding: 7.6rem 14rem 0 11rem;
}
@media screen and (max-width: 1024px) {
  .p-about .about_list .about_list_box {
    padding: 4rem 6rem;
  }
}
@media screen and (max-width: 640px) {
  .p-about .about_list .about_list_box {
    font-size: 1.4rem;
    padding: 1rem 0 2rem;
  }
}
.p-about .about_list .about_list_sbox01 {
  padding: 1.5rem 0 2.5rem;
}
@media screen and (max-width: 640px) {
  .p-about .about_list .about_list_sbox01 {
    font-size: 1.4rem;
  }
}
.p-about .about_list .about_list_thumb {
  overflow: hidden;
}
.p-about .about_list .about_list_thumb img {
  display: block;
  width: 100%;
  transition: 0.5s transform;
}
.p-about .about_list .about_list_thumb02 {
  overflow: hidden;
  position: relative;
}
.p-about .about_list .about_list_thumb02::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #e0e0e0;
  position: absolute;
  top: 0;
  left: 0;
  mix-blend-mode: multiply;
}
.p-about .about_list .about_list_thumb02 img {
  display: block;
  width: 100%;
  transition: 0.5s transform;
}
.p-about .about_btn {
  margin-top: 2.3rem;
  text-align: right;
}

.p-company .b-under_head::after {
  background: url(../images/img_con_head--company.png) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 640px) {
  .p-company .b-side_title {
    width: 100%;
  }
}
.p-company .b-side_area {
  width: 72rem;
}
@media screen and (max-width: 640px) {
  .p-company .b-side_area {
    width: 100%;
  }
}
.p-company .company_ttl01 {
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 2em;
  letter-spacing: 0.25em;
  margin-bottom: 5rem;
}
@media screen and (max-width: 640px) {
  .p-company .company_ttl01 {
    font-size: 1.7rem;
    margin-bottom: 2.5rem;
    letter-spacing: 0.06em;
    white-space: nowrap;
  }
}
.p-company .company_ttl02 {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  position: relative;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.15em;
  color: var(--main);
  margin-bottom: 7rem;
}
@media screen and (max-width: 640px) {
  .p-company .company_ttl02 {
    font-size: 1.5rem;
    margin-bottom: 4rem;
  }
}
.p-company .company_ttl02::before, .p-company .company_ttl02::after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background: var(--main);
}
.p-company .company_ttl02::before {
  margin-right: 2.5rem;
}
@media screen and (max-width: 640px) {
  .p-company .company_ttl02::before {
    margin-right: 2.5rem;
  }
}
.p-company .company_ttl02::after {
  margin-left: 2.5rem;
}
@media screen and (max-width: 640px) {
  .p-company .company_ttl02::after {
    margin-left: 2.5rem;
  }
}
.p-company .company_name {
  margin-top: 4.5rem;
}
@media screen and (max-width: 640px) {
  .p-company .company_name {
    margin-top: 3.5rem;
  }
}
.p-company .company_name .company_name--sub {
  font-size: 1.8rem;
  line-height: 1.3;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 640px) {
  .p-company .company_name .company_name--sub {
    font-size: 1.5rem;
  }
}
.p-company .company_name .company_name--main {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 640px) {
  .p-company .company_name .company_name--main {
    font-size: 1.7rem;
  }
}
.p-company .company_photo {
  margin-bottom: 6rem;
}
@media screen and (max-width: 640px) {
  .p-company .company_photo {
    margin-bottom: 3rem;
  }
}
.p-company .company_photo img {
  width: 100%;
}
.p-company .sec_message .message_lead {
  line-height: 2.3;
}
@media screen and (max-width: 640px) {
  .p-company .sec_message .message_lead {
    padding-right: 0;
    font-size: 1.4rem;
    letter-spacing: 0.1em;
  }
}
.p-company .sec_philosophy .philosophy_box01 + .philosophy_box01 {
  margin-top: 9rem;
}
@media screen and (max-width: 640px) {
  .p-company .sec_philosophy .philosophy_box01 + .philosophy_box01 {
    margin-top: 6rem;
  }
}
.p-company .sec_philosophy .philosophy_lead {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 640px) {
  .p-company .sec_philosophy .philosophy_lead {
    font-size: 1.6rem;
  }
}
.p-company .sec_philosophy .philosophy_btn {
  margin-top: 12rem;
}
@media screen and (max-width: 640px) {
  .p-company .sec_philosophy .philosophy_btn {
    margin-top: 6rem;
  }
}
.p-company .sec_philosophy .philosophy_btn .philosophy_btn__caption {
  text-align: center;
  font-size: 1.4rem;
}
@media screen and (max-width: 640px) {
  .p-company .sec_philosophy .philosophy_btn .philosophy_btn__caption {
    font-size: 1.2rem;
  }
}
.p-company .sec_philosophy .philosophy_btn .philosophy_btn__bnr {
  max-width: 48.8rem;
  margin: 3rem auto 0;
}
@media screen and (max-width: 640px) {
  .p-company .sec_philosophy .philosophy_btn .philosophy_btn__bnr {
    max-width: 48.8rem;
    margin: 2rem auto 0;
  }
}
.p-company .sec_company_profile .company_profile__date {
  text-align: right;
  font-size: 1.3rem;
  letter-spacing: 0.15em;
  line-height: 1.3;
}
@media screen and (max-width: 640px) {
  .p-company .sec_company_profile .company_profile__date {
    font-size: 1.2rem;
  }
}
.p-company .sec_company_profile .company_profile_outline__cell {
  display: -webkit-flex;
  display: flex;
  position: relative;
}
@media screen and (max-width: 640px) {
  .p-company .sec_company_profile .company_profile_outline__cell {
    display: block;
  }
}
.p-company .sec_company_profile .company_profile_outline__cell dt,
.p-company .sec_company_profile .company_profile_outline__cell dd {
  padding: 2rem;
  font-size: 1.5rem;
  letter-spacing: 0.15em;
  border-bottom: 1px solid #e0e0e0;
  width: 100%;
  line-height: 2.3;
}
@media screen and (max-width: 640px) {
  .p-company .sec_company_profile .company_profile_outline__cell dt,
  .p-company .sec_company_profile .company_profile_outline__cell dd {
    padding: 1.5rem 1rem 0.2rem;
    font-size: 1.5rem;
    border-bottom: none;
  }
}
.p-company .sec_company_profile .company_profile_outline__cell dt {
  flex-basis: 13em;
  flex-shrink: 0;
  color: var(--main);
  border-bottom: 1px solid var(--main);
}
@media screen and (max-width: 640px) {
  .p-company .sec_company_profile .company_profile_outline__cell dt {
    border-bottom: 1px solid rgba(0, 157, 218, 0.5);
  }
}
.p-company .sec_company_profile .company_profile_outline__cell dd {
  padding: 2rem 5.5rem;
}
@media screen and (max-width: 640px) {
  .p-company .sec_company_profile .company_profile_outline__cell dd {
    padding: 0.8rem 1rem 1.5rem;
  }
}
.p-company .sec_company_profile .company_profile_access {
  max-width: 68.8rem;
  margin: 8.5rem auto 0;
}
@media screen and (max-width: 640px) {
  .p-company .sec_company_profile .company_profile_access {
    max-width: 68.8rem;
    margin: 3.5rem auto 0;
  }
}
.p-company .sec_company_profile .company_profile_access .company_profile_map {
  position: relative;
  width: 100%;
  padding-top: 48.25%;
  height: 0;
}
@media screen and (max-width: 640px) {
  .p-company .sec_company_profile .company_profile_access .company_profile_map {
    padding-top: 56.25%;
  }
}
.p-company .sec_company_profile .company_profile_access .company_profile_map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-company .sec_company_profile .company_profile_access .company_profile_access_time {
  display: -webkit-flex;
  display: flex;
  justify-self: center;
  margin-top: 4rem;
}
@media screen and (max-width: 640px) {
  .p-company .sec_company_profile .company_profile_access .company_profile_access_time {
    margin-top: 3rem;
  }
}
.p-company .sec_company_profile .company_profile_access .company_profile_access_time .company_profile_access_time__list li {
  font-size: 1.5rem;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 640px) {
  .p-company .sec_company_profile .company_profile_access .company_profile_access_time .company_profile_access_time__list li {
    font-size: 1.3rem;
  }
}
.p-company .sec_company_profile .company_profile_access .company_profile_access_time .company_profile_access_time__list li + li {
  margin-top: 0.5em;
}

.p-philosophy .b-under_head::after {
  background: url(../images/img_con_head--philosophy.png) no-repeat;
  background-size: contain;
}
.p-philosophy .b-under_head .b-under_head_inner {
  padding: 17.2rem 4rem 14.3rem;
}
@media screen and (max-width: 640px) {
  .p-philosophy .b-under_head .b-under_head_inner {
    padding: 6.3rem 2rem 1.8rem;
  }
}

.p-outline .b-under_head::after {
  background: url(../images/img_con_head--outline.png) no-repeat;
  background-size: contain;
}
.p-outline .sec_history .b-side_area {
  margin: 0 auto;
}
.p-outline .sec_history .history_date {
  text-align: right;
  font-size: 1.3rem;
  letter-spacing: 0.15rem;
  line-height: 1.3;
}
@media screen and (max-width: 640px) {
  .p-outline .sec_history .history_date {
    font-size: 1.2rem;
  }
}
.p-outline .sec_history .history_timeline {
  position: relative;
  font-size: 1.5rem;
  padding-bottom: 6em;
  margin-top: 5rem;
}
@media screen and (max-width: 640px) {
  .p-outline .sec_history .history_timeline {
    margin-top: 2.5rem;
  }
}
.p-outline .sec_history .history_timeline:nth-child(n+10) {
  display: none;
}
.p-outline .sec_history .history_timeline .history_timeline--year {
  font-size: 2rem;
}
@media screen and (max-width: 640px) {
  .p-outline .sec_history .history_timeline .history_timeline--year {
    font-size: 1.8rem;
  }
}
.p-outline .sec_history .history_timeline .history_timeline__border {
  width: 0.2rem;
  height: 100%;
  position: absolute;
  top: 0;
  left: 16.7rem;
  transform: translateX(-50%);
  padding-top: 1.5rem;
  padding-bottom: 0;
  z-index: 999;
}
@media screen and (max-width: 640px) {
  .p-outline .sec_history .history_timeline .history_timeline__border {
    left: 10.9rem;
  }
}
.p-outline .sec_history .history_timeline .history_timeline__border::before, .p-outline .sec_history .history_timeline .history_timeline__border::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(50% - 1px);
  width: 0.2rem;
  height: 1.2rem;
  border-radius: 9999px;
  background-color: var(--main);
  transform-origin: 50% calc(100% - 1px);
}
.p-outline .sec_history .history_timeline .history_timeline__border::before {
  transform: rotate(42deg);
}
.p-outline .sec_history .history_timeline .history_timeline__border::after {
  transform: rotate(-42deg);
}
.p-outline .sec_history .history_timeline .history_timeline__border span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--main);
  position: relative;
}
.p-outline .sec_history .history_timeline .history_timeline__box + .history_timeline__box {
  margin-top: 6.5rem;
}
.p-outline .sec_history .history_timeline .history_timeline__box:nth-child(n+10) {
  display: none;
}
.p-outline .sec_history .history_timeline .history_timeline__dl {
  display: -webkit-flex;
  display: flex;
  align-items: baseline;
}
.p-outline .sec_history .history_timeline .history_timeline__dl dt {
  display: -webkit-flex;
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  flex-basis: 9.8em;
  flex-shrink: 0;
  text-align: left;
  color: var(--main);
  font-weight: 400;
}
@media screen and (max-width: 640px) {
  .p-outline .sec_history .history_timeline .history_timeline__dl dt {
    display: block;
    flex-basis: 6.8em;
    font-size: 1.3rem;
    text-align: right;
  }
}
.p-outline .sec_history .history_timeline .history_timeline__dl dd {
  position: relative;
  margin-left: 1em;
  padding-left: 1.5em;
}
.p-outline .sec_history .history_timeline .history_timeline__dl dd::before {
  content: "";
  display: block;
  width: 0.7em;
  height: 0.7em;
  background: var(--main);
  border-radius: 100%;
  position: absolute;
  left: 0;
  top: 0.5em;
  z-index: 9999;
}
.p-outline .sec_history .history_timeline.is-history_act .history_timeline__box:nth-child(n+10) {
  display: block;
}
.p-outline .sec_history .history_timeline_btn {
  margin-top: 2rem;
  margin-left: auto;
  margin-right: 49rem;
  text-align: right;
}
@media screen and (max-width: 640px) {
  .p-outline .sec_history .history_timeline_btn {
    margin-right: 13rem;
  }
}
.p-outline .sec_history .history_timeline_btn .b-button01 {
  font-weight: 400;
}
.p-outline .sec_history .history_timeline_btn .b-button01 .b-button01__arrow {
  display: inline-block;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-outline .sec_history .history_timeline_btn .b-button01:hover .b-button01__arrow::before {
    transform: translate(50%, -20%) rotate(90deg);
    right: 1.5em;
  }
}
.p-outline .sec_history .history_timeline_btn .b-button01.is-push .b-button01__arrow::before {
  transform: translate(50%, -50%) rotate(270deg);
  right: 1.5em;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-outline .sec_history .history_timeline_btn .b-button01.is-push:hover .b-button01__arrow::before {
    transform: translate(50%, -80%) rotate(270deg);
    right: 1.5em;
  }
}
.p-outline .sec_history .history_timeline_btn .b-button01 .b-button01__arrow::before {
  transform: translate(50%, -50%) rotate(90deg);
  right: 1.5em;
}

.p-organization .b-under_head::after {
  background: url(../images/img_con_head--organization.png) no-repeat;
  background-size: contain;
}
.p-organization .b-under_box01 {
  padding: 6.5rem 9rem 26rem;
}
@media screen and (max-width: 640px) {
  .p-organization .b-under_box01 {
    padding: 3.5rem 2rem 10rem;
  }
}
@media screen and (max-width: 640px) {
  .p-organization .b-btn_scroll {
    top: -5rem;
  }
}
@media screen and (max-width: 640px) {
  .p-organization .b-side_title {
    width: 100%;
  }
}
.p-organization .sec_history .history_date {
  text-align: right;
  font-size: 1.3rem;
  letter-spacing: 0.15rem;
  line-height: 1.3;
}
.p-organization .sec_history .history_timeline {
  position: relative;
  font-size: 1.5rem;
  padding-bottom: 6em;
  margin-top: 5rem;
}
@media screen and (max-width: 640px) {
  .p-organization .sec_history .history_timeline {
    margin-top: 2.5rem;
  }
}
.p-organization .sec_history .history_timeline:nth-child(n+10) {
  display: none;
}
.p-organization .sec_history .history_timeline .history_timeline--year {
  font-size: 2rem;
}
@media screen and (max-width: 640px) {
  .p-organization .sec_history .history_timeline .history_timeline--year {
    font-size: 1.8rem;
  }
}
.p-organization .sec_history .history_timeline .history_timeline__border {
  width: 0.2rem;
  height: 100%;
  position: absolute;
  top: 0;
  left: 16.7rem;
  transform: translateX(-50%);
  padding-top: 1.5rem;
  padding-bottom: 0;
  z-index: 999;
}
@media screen and (max-width: 640px) {
  .p-organization .sec_history .history_timeline .history_timeline__border {
    left: 10.9rem;
  }
}
.p-organization .sec_history .history_timeline .history_timeline__border::before, .p-organization .sec_history .history_timeline .history_timeline__border::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(50% - 1px);
  width: 0.2rem;
  height: 1.2rem;
  border-radius: 9999px;
  background-color: var(--main);
  transform-origin: 50% calc(100% - 1px);
}
.p-organization .sec_history .history_timeline .history_timeline__border::before {
  transform: rotate(42deg);
}
.p-organization .sec_history .history_timeline .history_timeline__border::after {
  transform: rotate(-42deg);
}
.p-organization .sec_history .history_timeline .history_timeline__border span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--main);
  position: relative;
}
.p-organization .sec_history .history_timeline .history_timeline__box + .history_timeline__box {
  margin-top: 6.5rem;
}
.p-organization .sec_history .history_timeline .history_timeline__box:nth-child(n+10) {
  display: none;
}
.p-organization .sec_history .history_timeline .history_timeline__dl {
  display: -webkit-flex;
  display: flex;
  align-items: baseline;
}
.p-organization .sec_history .history_timeline .history_timeline__dl dt {
  display: -webkit-flex;
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  flex-basis: 9.8em;
  flex-shrink: 0;
  text-align: left;
  color: var(--main);
  font-weight: 400;
}
@media screen and (max-width: 640px) {
  .p-organization .sec_history .history_timeline .history_timeline__dl dt {
    display: block;
    flex-basis: 6.8em;
    font-size: 1.3rem;
    text-align: right;
  }
}
.p-organization .sec_history .history_timeline .history_timeline__dl dd {
  position: relative;
  margin-left: 1em;
  padding-left: 1.5em;
}
.p-organization .sec_history .history_timeline .history_timeline__dl dd::before {
  content: "";
  display: block;
  width: 0.7em;
  height: 0.7em;
  background: var(--main);
  border-radius: 100%;
  position: absolute;
  left: 0;
  top: 0.5em;
  z-index: 9999;
}
.p-organization .sec_history .history_timeline.is-history_act .history_timeline__box:nth-child(n+10) {
  display: block;
}
.p-organization .sec_history .history_timeline_btn {
  margin-top: 2rem;
  margin-left: 13rem;
}
@media screen and (max-width: 640px) {
  .p-organization .sec_history .history_timeline_btn {
    margin-left: 8rem;
  }
}
.p-organization .sec_history .history_timeline_btn .b-button01 {
  font-weight: 400;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-organization .sec_history .history_timeline_btn .b-button01:hover .b-button01__arrow::before {
    transform: translate(50%, -20%) rotate(90deg);
    right: 18%;
  }
}
.p-organization .sec_history .history_timeline_btn .b-button01.is-push .b-button01__arrow::before {
  transform: translate(50%, -50%) rotate(270deg);
  right: 18%;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-organization .sec_history .history_timeline_btn .b-button01.is-push:hover .b-button01__arrow::before {
    transform: translate(50%, -80%) rotate(270deg);
    right: 18%;
  }
}
.p-organization .sec_history .history_timeline_btn .b-button01 .b-button01__arrow::before {
  transform: translate(50%, -50%) rotate(90deg);
  right: 18%;
}
.p-organization .sec_organizational_chart .organizational_chart_date {
  text-align: right;
  font-size: 1.3rem;
  letter-spacing: 0.15rem;
  line-height: 1.3;
}
.p-organization .sec_organizational_chart .organizational_chart_org {
  margin-top: 5rem;
  position: relative;
  overflow: auto;
}
@media screen and (max-width: 640px) {
  .p-organization .sec_organizational_chart .organizational_chart_org {
    margin-top: 2.5rem;
  }
}
.p-organization .sec_organizational_chart .organizational_chart_org .organizational_chart_org__inner img {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 640px) {
  .p-organization .sec_organizational_chart .organizational_chart_org .organizational_chart_org__inner img {
    max-width: inherit;
    width: 35.5rem;
  }
}
@media screen and (max-width: 640px) and (orientation: landscape) {
  .p-organization .sec_organizational_chart .organizational_chart_org .organizational_chart_org__inner img {
    width: 100%;
  }
}
.p-organization .sec_organizational_chart .organizational_chart_notes {
  margin-top: 1rem;
  text-indent: -1.1em;
  padding-left: 1em;
  font-size: 1.2rem;
}
.p-organization .sec_board_members .board_members_date {
  text-align: right;
  font-size: 1.3rem;
  letter-spacing: 0.15rem;
  line-height: 1.3;
}
.p-organization .sec_board_members .board_members__cell {
  display: -webkit-flex;
  display: flex;
  position: relative;
}
@media screen and (max-width: 640px) {
  .p-organization .sec_board_members .board_members__cell {
    display: block;
  }
}
.p-organization .sec_board_members .board_members__cell:first-child dt,
.p-organization .sec_board_members .board_members__cell:first-child dd {
  border-top: 1px solid #e0e0e0;
}
.p-organization .sec_board_members .board_members__cell:first-child dt {
  border-top: 1px solid var(--main);
}
@media screen and (max-width: 640px) {
  .p-organization .sec_board_members .board_members__cell:first-child dt,
  .p-organization .sec_board_members .board_members__cell:first-child dd {
    border-top: none;
  }
  .p-organization .sec_board_members .board_members__cell:first-child dt {
    border-top: none;
  }
}
.p-organization .sec_board_members .board_members__cell > dt,
.p-organization .sec_board_members .board_members__cell > dd {
  padding: 1.5rem 1rem;
  font-size: 1.5rem;
  letter-spacing: 0.15em;
  border-bottom: 1px solid #e0e0e0;
  width: 100%;
  line-height: 2.3;
}
@media screen and (max-width: 640px) {
  .p-organization .sec_board_members .board_members__cell > dt,
  .p-organization .sec_board_members .board_members__cell > dd {
    padding: 1.5rem 1rem 0.2rem;
    font-size: 1.5rem;
    border-bottom: none;
  }
}
.p-organization .sec_board_members .board_members__cell > dt {
  flex-basis: 14em;
  flex-shrink: 0;
  color: var(--main);
  border-bottom: 1px solid var(--main);
}
@media screen and (max-width: 640px) {
  .p-organization .sec_board_members .board_members__cell > dt {
    border-bottom: 1px solid rgba(0, 157, 218, 0.5);
  }
}
.p-organization .sec_board_members .board_members__cell > dd {
  padding: 1.5rem 3rem 1.5rem 4rem;
}
@media screen and (max-width: 640px) {
  .p-organization .sec_board_members .board_members__cell > dd {
    padding: 0.8rem 1rem 1.5rem;
  }
}
.p-organization .sec_board_members .board_members__cell02 {
  display: -webkit-flex;
  display: flex;
  align-items: center;
}
.p-organization .sec_board_members .board_members__cell02 + .board_members__cell02 {
  margin-top: 1em;
}
.p-organization .sec_board_members .board_members__cell02 dt {
  font-size: 1.5rem;
  flex-basis: 6em;
  flex-shrink: 0;
  margin-right: 2em;
}
@media screen and (max-width: 640px) {
  .p-organization .sec_board_members .board_members__cell02 dt {
    margin-right: 1em;
  }
}
.p-organization .sec_board_members .board_members__cell02 dd {
  font-size: 1.4rem;
}
@media screen and (max-width: 640px) {
  .p-organization .sec_board_members .board_members__cell02 dd {
    font-size: 1.2rem;
  }
}

.p-offices .b-under_head::after {
  background: url("../images/img_con_head02--pc.png") no-repeat;
  background-size: contain;
}
.p-offices .b-under_box01::before {
  background: rgba(255, 255, 255, 0.8);
}
@keyframes tab_fade {
  from {
    opacity: 0;
    backdrop-filter: blur(0);
  }
  to {
    opacity: 1;
    backdrop-filter: blur(50px);
  }
}
.p-offices .office_tab.is-fixed {
  position: fixed;
  top: 7.4rem;
  left: 50%;
  width: 116rem;
  z-index: 10;
  transform: translateX(-50%);
}
@media screen and (max-width: 1024px) {
  .p-offices .office_tab.is-fixed {
    top: 5.2rem;
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  .p-offices .office_tab.is-fixed {
    top: 5.2rem;
    width: 90%;
  }
}
@media screen and (orientation: landscape) and (max-width: 1000px) {
  .p-offices .office_tab.is-fixed {
    top: 0;
  }
}
.p-offices .office_tab .office_tab_list {
  display: -webkit-flex;
  display: flex;
  background: #fff;
  color: var(--main);
}
.p-offices .office_tab .office_tab_list > li {
  width: 25%;
  transition: 0.4s ease-in-out;
  border-right: 1px solid var(--main);
}
.p-offices .office_tab .office_tab_list > li:last-child {
  border-right: none;
}
@media screen and (max-width: 640px) {
  .p-offices .office_tab .office_tab_list > li {
    transition: 0.2s ease-in-out;
    transition-timing-function: linear;
  }
}
.p-offices .office_tab .office_tab_list > li a {
  display: block;
  padding: 1.5rem;
  font-size: 1.6rem;
  font-weight: 600;
  text-align: center;
  cursor: pointer;
  transition: 0.4s ease-in-out;
  position: relative;
}
@media screen and (max-width: 640px) {
  .p-offices .office_tab .office_tab_list > li a {
    padding: 1rem;
    font-size: 1.2rem;
    transition: 0.2s ease-in-out;
    transition-timing-function: linear;
  }
}
.p-offices .office_tab .office_tab_list > li.is-active {
  background: var(--main);
  color: #fff;
  font-weight: 700;
  transition: 0.4s ease-in-out;
}
@media screen and (max-width: 640px) {
  .p-offices .office_tab .office_tab_list > li.is-active {
    transition: 0.2s ease-in-out;
    transition-timing-function: linear;
  }
}
.p-offices .office_tab .office_tab_list > li.is-active a {
  transition: 0.4s ease-in-out;
}
@media screen and (max-width: 640px) {
  .p-offices .office_tab .office_tab_list > li.is-active a {
    transition: 0.2s ease-in-out;
    transition-timing-function: linear;
  }
}
.p-offices .office_tab .office_tab_list > li.is-active a::before {
  display: block;
  width: 100%;
  height: 0.4rem;
  background: var(--main);
  position: absolute;
  left: 0;
  bottom: -0.25rem;
  transition: 0.4s ease-in-out;
}
@media screen and (max-width: 640px) {
  .p-offices .office_tab .office_tab_list > li.is-active a::before {
    height: 0.4rem;
    bottom: -0.3rem;
    transition: 0.2s ease-in-out;
    transition-timing-function: linear;
  }
}
.p-offices .office_tab_content {
  margin-top: 0;
}
@media screen and (max-width: 640px) {
  .p-offices .office_tab_content {
    margin-top: 0;
  }
}
.p-offices .office_tab_content .office_tab_content_item {
  display: none;
}
.p-offices .office_tab_content .office_tab_content_item.is-active {
  display: block;
  animation: tab_fade 0.9s ease-in-out forwards;
}
.p-offices .office_tab_content .office_tab_content_item.is-default {
  display: block;
  animation: none;
}
.p-offices .office_box01 {
  font-size: 1.5rem;
}
.p-offices .office_box01 + .office_box01 {
  margin-top: 10rem;
}
.p-offices .office_box01.office_box01--half {
  margin-top: 5rem;
}
@media screen and (max-width: 640px) {
  .p-offices .office_box01.office_box01--half {
    margin-top: 3rem;
  }
}
.p-offices .office_branch .office_col01 {
  margin-top: 5rem;
}
.p-offices .office_between {
  height: 2px;
  background: var(--main);
  border: none;
  margin: 9rem auto;
  width: 100%;
}
@media screen and (max-width: 640px) {
  .p-offices .office_between {
    margin: 5rem auto;
  }
}
.p-offices .office_between02 {
  border: 0;
  height: 2px;
  background: var(--main);
  margin: 2rem auto 5.5rem;
  width: 100%;
}
@media screen and (max-width: 640px) {
  .p-offices .office_between02 {
    margin: 4rem auto;
  }
}
.p-offices .office_ttl01 {
  font-size: 3rem;
  font-weight: 600;
  position: relative;
  padding: 2rem 0;
  margin-bottom: 5rem;
}
@media screen and (max-width: 640px) {
  .p-offices .office_ttl01 {
    font-size: 2rem;
    margin-bottom: 4rem;
  }
}
.p-offices .office_ttl01::before {
  content: "";
  display: block;
  width: 4rem;
  height: 2px;
  background: var(--main);
  position: absolute;
  bottom: 0;
  left: 0;
}
.p-offices .office_ttl02 {
  font-size: 1.8rem;
  font-weight: 600;
  position: relative;
  border-top: 2px solid #e1e1e1;
  padding: 3rem 0 0;
}
@media screen and (max-width: 640px) {
  .p-offices .office_ttl02 {
    font-size: 1.7rem;
    padding: 2rem 0 0;
  }
}
.p-offices .office_ttl03 {
  font-size: 2.5rem;
  color: var(--main);
}
@media screen and (max-width: 640px) {
  .p-offices .office_ttl03 {
    font-size: 1.8rem;
  }
}
.p-offices .office_inner {
  margin-top: 1rem;
}
@media screen and (max-width: 640px) {
  .p-offices .office_inner {
    margin-top: 1rem;
  }
}
.p-offices .office_inner02 {
  margin-top: 10rem;
}
@media screen and (max-width: 640px) {
  .p-offices .office_inner02 {
    margin-top: 7rem;
  }
}
.p-offices .office_inner03 {
  margin-top: 5rem;
}
.p-offices .office_map {
  margin-top: 5rem;
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  height: 0;
}
@media screen and (max-width: 640px) {
  .p-offices .office_map {
    margin-top: 3rem;
  }
}
.p-offices .office_map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-offices .office_map02 {
  margin-top: 1.5rem;
}
.p-offices .office_map_btn a {
  display: inline-block;
  border: 1px solid var(--main);
  padding: 1rem 2rem;
  color: var(--main);
  transition: all 0.2s ease-in;
  position: relative;
  font-size: 1.4rem;
  line-height: 1.3;
  z-index: 0;
}
@media screen and (max-width: 640px) {
  .p-offices .office_map_btn a {
    font-size: 1.2rem;
  }
}
.p-offices .office_map_btn a::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(100% - 0.8rem);
  height: calc(100% - 0.8rem);
  border: 1px solid var(--main);
  transform: translate(-50%, -50%);
  transition: all 0.2s ease-in;
  z-index: -1;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-offices .office_map_btn a:hover {
    color: #fff;
  }
  .p-offices .office_map_btn a:hover::before {
    background: var(--main);
    width: 100%;
    height: 100%;
  }
}
.p-offices .office_col01 {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 640px) {
  .p-offices .office_col01 {
    display: block;
  }
}
.p-offices .office_col01 > div {
  width: 48%;
  margin-right: 4%;
  margin-bottom: 3.5rem;
}
.p-offices .office_col01 > div:nth-child(2n) {
  margin-right: 0;
}
.p-offices .office_col01 > div.office_col01--1col {
  width: 100%;
  margin-right: 0;
}
@media screen and (max-width: 640px) {
  .p-offices .office_col01 > div {
    width: 100%;
    margin-right: 0;
    margin-bottom: 3rem;
  }
}
.p-offices #kinki_chubu .office_sbox01.office_branch,
.p-offices #kanto_ihoku .office_sbox01.office_branch {
  margin-bottom: 4rem;
}

.p-recruit .b-under_head.b-under_head--list::after {
  background: url("../images/img_con_head--recruit.png") no-repeat;
  background-size: contain;
}
.p-recruit .b-under_content02 {
  padding: 0;
}
.p-recruit .b-under_box02 {
  padding-top: 5rem;
}
.p-recruit .b-under_ttl02 {
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 0.5s, transform 0.5s;
  font-size: 10.8rem;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .p-recruit .b-under_ttl02 {
    font-size: 4.6rem;
    text-align: left;
  }
}
.p-recruit .b-under_ttl02.is-active {
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0.2s;
}
.p-recruit .b-under_lead {
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 0.5s, transform 0.5s;
  text-align: center;
  letter-spacing: 0.08em;
  margin-top: 1.3rem;
}
@media screen and (max-width: 640px) {
  .p-recruit .b-under_lead {
    text-align: left;
    line-height: 2;
  }
}
.p-recruit .b-under_lead.is-active {
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0.3s;
}
.p-recruit .b-button01 {
  font-weight: normal;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-recruit .b-button01:hover .b-button01__arrow::before {
    background: url("../images/ico_arrow_blue.svg") no-repeat left center/contain;
    right: 0;
  }
  .p-recruit .b-button01:hover .b-button01__arrow::after {
    background: #fff;
  }
}
.p-recruit .recruit_box01 + .recruit_box01 {
  margin-top: 10rem;
}
@media screen and (max-width: 640px) {
  .p-recruit .recruit_box01 + .recruit_box01 {
    margin-top: 7rem;
  }
}
.p-recruit .recruit_inner {
  margin-top: 2rem;
}
.p-recruit .recruit_ttl01 {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.5;
}
@media screen and (max-width: 640px) {
  .p-recruit .recruit_ttl01 {
    font-size: 1.8rem;
  }
}
.p-recruit .recruit_bnr {
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  margin-top: 6rem;
}
@media screen and (max-width: 640px) {
  .p-recruit .recruit_bnr {
    display: block;
    margin-top: 3rem;
    text-align: center;
  }
}
.p-recruit .recruit_bnr > div {
  margin-right: 3%;
  position: relative;
  display: inline-block;
  overflow: hidden;
}
.p-recruit .recruit_bnr > div .recruit_bnr__img--inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
  transition: 0.3s all;
}
.p-recruit .recruit_bnr > div .recruit_bnr__img--wrap {
  display: block;
  max-width: 100%;
  height: auto;
}
.p-recruit .recruit_bnr > div:last-child {
  margin-right: 0;
}
@media screen and (max-width: 640px) {
  .p-recruit .recruit_bnr > div {
    margin-right: 0;
    text-align: center;
  }
  .p-recruit .recruit_bnr > div + div {
    margin-top: 1em;
  }
}
.p-recruit .recruit_bnr__img {
  transition: 0.3s all;
  position: relative;
  display: block;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-recruit .recruit_bnr__img:hover .recruit_bnr__img--inner {
    transform: scale(1.1);
  }
}
.p-recruit .recruit_btn {
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  margin-top: 3rem;
}
@media screen and (max-width: 640px) {
  .p-recruit .recruit_btn {
    margin-top: 2.5rem;
  }
}
.p-recruit .recruit_btn .b-button02 {
  max-width: 45rem;
  width: 100%;
}
@media screen and (max-width: 640px) {
  .p-recruit .recruit_btn .b-button02 {
    font-size: 1.6rem;
  }
}
.p-recruit .recruit_ratio {
  margin-top: 5rem;
}
.p-recruit .recruit_ratio .recruit_ratio_table {
  margin-top: 2rem;
}
.p-recruit .recruit_ratio .recruit_ratio_table table {
  width: 100%;
}
.p-recruit .recruit_ratio .recruit_ratio_table table th,
.p-recruit .recruit_ratio .recruit_ratio_table table td {
  padding: 1rem 2rem;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .p-recruit .recruit_ratio .recruit_ratio_table table th,
  .p-recruit .recruit_ratio .recruit_ratio_table table td {
    padding: 1rem 1.5rem;
    font-size: 1.3rem;
  }
}
.p-recruit .recruit_ratio .recruit_ratio_table table th {
  font-weight: 600;
}
.p-recruit .recruit_ratio .recruit_ratio_table table thead tr {
  border-bottom: 2px solid var(--main);
}
.p-recruit .recruit_ratio .recruit_ratio_table table thead th {
  color: var(--main);
}
.p-recruit .recruit_ratio .recruit_ratio_table table tbody tr {
  border-bottom: 1px solid #e0e0e0;
}
.p-recruit .recruit_ratio .recruit_ratio_table table tbody th,
.p-recruit .recruit_ratio .recruit_ratio_table table tbody td {
  padding: 1.5rem 2rem;
}
@media screen and (max-width: 640px) {
  .p-recruit .recruit_ratio .recruit_ratio_table table tbody th,
  .p-recruit .recruit_ratio .recruit_ratio_table table tbody td {
    padding: 1.3rem 1.5rem;
  }
}

.p-terms .b-under_head__ttl02 {
  margin-top: 0;
}
@media screen and (max-width: 640px) {
  .p-terms .b-under_head__ttl02 {
    margin-top: 0;
  }
}
@media screen and (max-width: 640px) {
  .p-terms .sec_terms .content_block {
    font-size: 1.4rem;
  }
}
.p-terms .sec_terms .content_block + .content_block {
  padding-top: 6.5rem;
}
@media screen and (max-width: 640px) {
  .p-terms .sec_terms .content_block + .content_block {
    padding-top: 3.5rem;
  }
}
.p-terms .sec_terms .content_block:last-of-type {
  padding-bottom: 8.5rem;
}
@media screen and (max-width: 640px) {
  .p-terms .sec_terms .content_block:last-of-type {
    padding-bottom: 4rem;
  }
}
.p-terms .sec_terms .content_block .content_ttl {
  font-size: 2.5rem;
  letter-spacing: 0.1em;
  position: relative;
  color: var(--main);
  margin-bottom: 30px;
}
@media screen and (max-width: 640px) {
  .p-terms .sec_terms .content_block .content_ttl {
    font-size: 1.7rem;
  }
}
.p-terms .sec_terms .content_block .content_ttl::after {
  content: "";
  width: 100%;
  height: 1px;
  display: inline-block;
  background-color: rgba(0, 157, 218, 0.5);
  position: absolute;
  bottom: -5px;
  left: 0;
}
.p-terms .sec_terms .content_block .content_txt {
  margin-bottom: 20px;
}
.p-terms .sec_terms .content_block .content_list {
  padding-left: 1em;
}
@media screen and (max-width: 640px) {
  .p-terms .sec_terms .content_block .content_list {
    padding-left: 0;
  }
}
.p-terms .sec_terms .content_block .content_list .list_item {
  list-style: none;
  padding-left: 0;
}
.p-terms .sec_terms .content_block .content_list .list_item + .list_item {
  margin-top: 30px;
}
.p-terms .sec_terms .content_block .content_list .list_item.list_item__disc li {
  position: relative;
}
.p-terms .sec_terms .content_block .content_list .list_item.list_item__disc li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--main);
  font-size: 1.2em;
  line-height: 1.4;
}
.p-terms .sec_terms .content_block .content_list .list_item li {
  padding-left: 1em;
  line-height: 1.6;
  margin-bottom: 10px;
}
@media screen and (max-width: 640px) {
  .p-terms .sec_terms .content_block .content_list .list_item li {
    margin-bottom: 15px;
  }
}

.p-policy .b-under_head__ttl02 {
  margin-top: 0;
}
@media screen and (max-width: 640px) {
  .p-policy .b-under_head__ttl02 {
    margin-top: 0;
  }
}
.p-policy .policy_box01 {
  margin-top: 3rem;
}
.p-policy .policy_btn {
  font-size: 1.3rem;
  padding: 2em 0;
}
@media screen and (max-width: 640px) {
  .p-policy .sec_policy .content_block {
    font-size: 1.4rem;
  }
}
.p-policy .sec_policy .content_block + .content_block {
  padding-top: 6.5rem;
}
@media screen and (max-width: 640px) {
  .p-policy .sec_policy .content_block + .content_block {
    padding-top: 3.5rem;
  }
}
.p-policy .sec_policy .content_block:last-of-type {
  padding-bottom: 3.5rem;
}
@media screen and (max-width: 640px) {
  .p-policy .sec_policy .content_block:last-of-type {
    padding-bottom: 2rem;
  }
}
.p-policy .sec_policy .content_block .content_ttl {
  font-size: 2.5rem;
  letter-spacing: 0.1em;
  position: relative;
  color: var(--main);
}
@media screen and (max-width: 640px) {
  .p-policy .sec_policy .content_block .content_ttl {
    font-size: 1.7rem;
  }
}
.p-policy .sec_policy .content_block .content_ttl::after {
  content: "";
  width: 100%;
  height: 1px;
  display: inline-block;
  background-color: rgba(0, 157, 218, 0.5);
  position: absolute;
  bottom: -5px;
  left: 0;
}
.p-policy .sec_policy .content_block .content_txt {
  margin-top: 3rem;
}
.p-policy .sec_policy .content_block .content_txt.content_txt__indent {
  padding-left: 1em;
}
.p-policy .sec_policy .content_block .content_txt02 {
  margin-top: 1.5rem;
}
.p-policy .sec_policy .content_block .content_list {
  padding-left: 1em;
  margin-top: 3rem;
}
@media screen and (max-width: 640px) {
  .p-policy .sec_policy .content_block .content_list {
    padding-left: 0;
  }
}
.p-policy .sec_policy .content_block .content_list.content_list02 {
  margin-top: 1.5rem;
}
.p-policy .sec_policy .content_block .content_list .list_item {
  list-style: none;
  padding-left: 0;
}
.p-policy .sec_policy .content_block .content_list .list_item + .list_item {
  margin-top: 3rem;
}
.p-policy .sec_policy .content_block .content_list .list_item li {
  position: relative;
  line-height: 1.6;
  margin-bottom: 1rem;
}
@media screen and (max-width: 640px) {
  .p-policy .sec_policy .content_block .content_list .list_item li {
    margin-bottom: 1.5rem;
  }
}
.p-policy .sec_policy .content_block .content_list .list_item li.item_indent {
  padding-left: 1em;
  text-indent: -1em;
}
.p-policy .sec_policy .content_block .content_list .list_item li .item_indent02 {
  margin-top: 0.5em;
}
.p-policy .sec_policy .content_block .content_list .list_item li .item_indent02 li {
  text-indent: -2em;
  padding-left: 2em;
}
.p-policy .sec_policy .content_block .content_list .list_item .list_item__disc {
  padding-left: 1em;
}
.p-policy .sec_policy .content_block .content_list .list_item .list_item__disc::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--main);
  font-size: 1.2em;
  line-height: 1.4;
}
.p-policy .sec_policy .content_block .content_list .list_item.list_item__num dt {
  margin-bottom: 1rem;
  font-weight: bold;
}
@media screen and (max-width: 640px) {
  .p-policy .sec_policy .content_block .content_list .list_item.list_item__num dt {
    margin-bottom: 1.5rem;
  }
}
.p-policy .sec_policy .content_block .content_list .list_item.list_item__num dd {
  padding-left: 1em;
}
.p-policy .sec_policy .content_block .content_list .list_item .content_innerbox {
  margin-top: 2rem;
  padding: 3.5rem 2rem;
  background-color: #fff;
  font-size: 85%;
  white-space: normal;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
@media screen and (max-width: 640px) {
  .p-policy .sec_policy .content_block .content_list .list_item .content_innerbox {
    padding: 2.5rem 2rem;
  }
}
.p-policy .sec_policy .content_block .content_list .list_item .content_innerbox p {
  padding-bottom: 1em;
}
.p-policy .sec_policy .content_block .content_list .list_item .content_innerbox dl {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
@media screen and (max-width: 640px) {
  .p-policy .sec_policy .content_block .content_list .list_item .content_innerbox dl {
    display: block;
  }
}
@media screen and (max-width: 640px) {
  .p-policy .sec_policy .content_block .content_list .list_item .content_innerbox dl {
    display: block;
  }
}
.p-policy .sec_policy .content_block .content_list .list_item .content_innerbox dl dt {
  font-weight: bold;
  margin-bottom: 1rem;
  color: var(--main);
}
@media screen and (max-width: 640px) {
  .p-policy .sec_policy .content_block .content_list .list_item .content_innerbox dl dt {
    display: block;
  }
}
@media screen and (max-width: 640px) {
  .p-policy .sec_policy .content_block .content_list .list_item .content_innerbox dl dd {
    margin-right: 0;
    margin-bottom: 1.5rem;
    padding-left: 0;
  }
}
.p-policy .sec_policy .content_block .content_list .list_item .content_innerbox dl dd::before {
  content: "：";
  margin-right: 0.5em;
}
@media screen and (max-width: 640px) {
  .p-policy .sec_policy .content_block .content_list .list_item .content_innerbox dl dd::before {
    display: none;
    margin-right: 0;
  }
}
.p-policy .sec_policy .content_block .content_list .list_item .content_innerbox dl dd a {
  color: var(--black);
  text-decoration: underline;
}
.p-policy .sec_policy .content_block .content_list .list_item .content_innerbox dl dd a:hover {
  opacity: 0.7;
  transition: 0.3s all;
}
.p-policy .sec_policy .content_block .privacy__signature {
  width: fit-content;
  margin-left: auto;
  margin-right: 0;
}
.p-policy .sec_policy .content_block .b-button02 {
  margin-top: 1.5em;
}
@media screen and (max-width: 640px) {
  .p-policy .sec_policy .content_block .b-button02 {
    margin-top: 1em;
  }
}

.p-news .b-under_head::after {
  background: url("../images/img_con_head02--pc.png") no-repeat;
  background-size: contain;
}
.p-news .b-under_box01:last-child {
  margin-bottom: 0;
}
.p-news .b-under_head .b-under_head_inner {
  max-width: 144rem;
  padding-top: 20.7rem;
  padding-bottom: 16.6rem;
}
@media screen and (max-width: 640px) {
  .p-news .b-under_head .b-under_head_inner {
    padding: 6.3rem 2rem 1.8rem;
  }
}
.p-news .b-under_head .b-under_head__ttl01 {
  font-size: 3.6rem;
}
@media screen and (max-width: 640px) {
  .p-news .b-under_head .b-under_head__ttl01 {
    font-size: 2.5rem;
    margin-left: 0;
  }
}
.p-news .b-under_head .b-under_head__ttl01 span {
  padding-left: 8rem;
}
.p-news .b-under_head .b-under_head__ttl01 span::after {
  width: 5.4rem;
  height: 3.3rem;
  top: 50%;
  left: 0.6em;
  transform: translateY(-45%);
}
@media screen and (max-width: 640px) {
  .p-news .b-under_head .b-under_head__ttl01 span {
    padding-left: 3rem;
  }
  .p-news .b-under_head .b-under_head__ttl01 span::after {
    width: 2.7rem;
    height: 1.6rem;
    left: 0px;
  }
}
.p-news .b-under_head .b-breadcrumb {
  padding-left: 8.5rem;
}
@media screen and (max-width: 640px) {
  .p-news .b-under_head .b-breadcrumb {
    padding-left: 3rem;
  }
}
.p-news .b-under_content01 {
  box-sizing: content-box;
}
.p-news .b-under_content02 {
  padding: 0;
}
.p-news .b-under_box02 {
  padding-top: 5rem;
}
.p-news .news_list {
  max-width: 100rem;
  margin: 0 auto;
}
.p-news .news_article {
  border-bottom: 1px solid #e1e1e1;
}
.p-news .news_article a {
  display: block;
  padding: 3.5rem 1.5rem;
  transition: 0.5s opacity;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-news .news_article a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 640px) {
  .p-news .news_article a {
    padding: 2rem 1.5rem;
  }
}
.p-news .news_article:first-child a {
  padding: 0 1.5rem 3.5rem;
}
@media screen and (max-width: 640px) {
  .p-news .news_article:first-child a {
    padding: 0 1.5rem 2rem;
  }
}
.p-news .news_article dl {
  display: -webkit-flex;
  display: flex;
  align-items: baseline;
}
@media screen and (max-width: 640px) {
  .p-news .news_article dl {
    flex-wrap: wrap;
  }
}
.p-news .news_article dl dt {
  margin-right: 3.5rem;
  flex-shrink: 0;
  font-size: 1.3rem;
}
@media screen and (max-width: 640px) {
  .p-news .news_article dl dt {
    font-size: 1.2rem;
    margin-right: 1em;
  }
}
.p-news .news_article dl dd:last-child {
  width: 100%;
}
@media screen and (max-width: 640px) {
  .p-news .news_article dl dd {
    font-size: 1.5rem;
  }
}
.p-news .news_article dl .news_article_label {
  font-size: 1.3rem;
  line-height: 1;
  padding: 5px 10px;
  border-radius: 5px;
  box-sizing: border-box;
  background: var(--main);
  color: #fff;
  text-align: center;
  flex-basis: 7.2em;
  flex-shrink: 0;
  margin-right: 1.5em;
}
@media screen and (max-width: 640px) {
  .p-news .news_article dl .news_article_label {
    font-size: 1.2rem;
  }
}
.p-news .news_article dl .news_article_label.news_article_label--topics {
  background: #ffa813;
}
.p-news .news_article dl .news_article__arrow {
  display: block;
  position: relative;
  padding-right: 0.5em;
}
.p-news .news_article dl .news_article__arrow::after {
  content: "";
  display: block;
  border-top: 1px solid #666;
  border-right: 1px solid #666;
  width: 0.3em;
  height: 0.3em;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.p-news .news_pager {
  margin-top: 6rem;
  display: none;
}
@media screen and (max-width: 640px) {
  .p-news .news_pager {
    margin-top: 4rem;
  }
}
.p-news .news_pager .news_pager_list {
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-news .news_pager .news_pager_list .news_pager_list__item {
  margin: 0 1rem;
}
@media screen and (max-width: 640px) {
  .p-news .news_pager .news_pager_list .news_pager_list__item {
    margin: 0 0.8rem;
  }
}
.p-news .news_pager .news_pager_list .news_pager_list__item a {
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 5rem;
  height: 5rem;
  background: #fff;
  color: var(--main);
  border-radius: 50%;
  font-size: 1.8rem;
  transition: 0.5s color, 0.5s background;
  border: 1px solid;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-news .news_pager .news_pager_list .news_pager_list__item a:hover {
    background: var(--main);
    color: #fff;
  }
}
@media screen and (max-width: 640px) {
  .p-news .news_pager .news_pager_list .news_pager_list__item a {
    width: 3.5rem;
    height: 3.5rem;
  }
}
.p-news .news_pager .news_pager_list .news_pager_list__prev,
.p-news .news_pager .news_pager_list .news_pager_list__next {
  display: block;
  position: relative;
  cursor: pointer;
}
.p-news .news_pager .news_pager_list .news_pager_list__prev a,
.p-news .news_pager .news_pager_list .news_pager_list__next a {
  display: block;
  width: 100%;
  height: 100%;
}
.p-news .news_pager .news_pager_list .news_pager_list__prev::before, .p-news .news_pager .news_pager_list .news_pager_list__prev::after,
.p-news .news_pager .news_pager_list .news_pager_list__next::before,
.p-news .news_pager .news_pager_list .news_pager_list__next::after {
  display: block;
  position: absolute;
  transition: 0.5s right, 0.5s background, 0.5s left;
  z-index: 0;
}
.p-news .news_pager .news_pager_list .news_pager_list__prev::before,
.p-news .news_pager .news_pager_list .news_pager_list__next::before {
  content: "";
  border-top: 1px solid var(--main);
  border-right: 1px solid var(--main);
  width: 0.3em;
  height: 0.3em;
  top: 50%;
  right: -1.55rem;
  transform: translateY(-50%) rotate(45deg);
  z-index: 1;
}
.p-news .news_pager .news_pager_list .news_pager_list__prev::after,
.p-news .news_pager .news_pager_list .news_pager_list__next::after {
  content: "";
  background: #fff;
  border: 1px solid var(--main);
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 100%;
  top: 50%;
  transform: translateY(-50%);
  z-index: 0;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-news .news_pager .news_pager_list .news_pager_list__prev:hover::before,
  .p-news .news_pager .news_pager_list .news_pager_list__next:hover::before {
    border-color: #fff;
  }
  .p-news .news_pager .news_pager_list .news_pager_list__prev:hover::after,
  .p-news .news_pager .news_pager_list .news_pager_list__next:hover::after {
    background: var(--main);
  }
}
.p-news .news_pager .news_pager_list .news_pager_list__prev {
  margin-right: 1rem;
}
.p-news .news_pager .news_pager_list .news_pager_list__prev::before {
  right: 1rem;
  transform: translateY(-50%) rotate(230deg);
}
.p-news .news_pager .news_pager_list .news_pager_list__prev::after {
  right: 0;
}
.p-news .news_pager .news_pager_list .news_pager_list__next {
  margin-left: 1rem;
}
.p-news .news_pager .news_pager_list .news_pager_list__next::after {
  left: 0;
}

.p-news_detail .b-button01 {
  font-size: 1.7rem;
  font-weight: normal;
}
@media screen and (max-width: 640px) {
  .p-news_detail .b-button01 {
    font-size: 1.4rem;
  }
}
.p-news_detail .b-button01.b-button01--prev .b-button01__arrow {
  padding-left: 3.5em;
  padding-right: 0;
}
.p-news_detail .b-button01.b-button01--prev .b-button01__arrow::before {
  left: 1.09em;
  transform: translateY(-50%) rotate(180deg);
  right: inherit;
}
.p-news_detail .b-button01.b-button01--prev .b-button01__arrow::after {
  left: 0;
  right: inherit;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-news_detail .b-button01:hover.b-button01--prev .b-button01__arrow::before {
    left: 0.6em;
  }
}
.p-news_detail .b-under_box02 {
  padding-top: 9rem;
}
@media screen and (max-width: 640px) {
  .p-news_detail .b-under_box02 {
    padding-top: 4rem;
  }
}
.p-news_detail .news_detail_article {
  max-width: 80rem;
  margin: 0 auto;
}
.p-news_detail .news_detail_article p,
.p-news_detail .news_detail_article a {
  line-height: 2.3;
}
@media screen and (max-width: 640px) {
  .p-news_detail .news_detail_article p,
  .p-news_detail .news_detail_article a {
    font-size: 1.4rem;
  }
}
.p-news_detail .news_detail_article p + p,
.p-news_detail .news_detail_article a + p {
  margin-top: 1em;
}
.p-news_detail .news_detail_article ul {
  margin-top: 1em;
}
@media screen and (max-width: 640px) {
  .p-news_detail .news_detail_article ul {
    font-size: 1.4rem;
  }
}
.p-news_detail .news_detail_article ul li {
  line-height: 2.3;
}
.p-news_detail .news_detail_article .news_detail_article__title {
  margin-bottom: 4rem;
}
@media screen and (max-width: 640px) {
  .p-news_detail .news_detail_article .news_detail_article__title {
    margin-bottom: 3rem;
  }
}
.p-news_detail .news_detail_article .news_detail_label {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}
.p-news_detail .news_detail_article .news_detail_label > div {
  margin-right: 1em;
}
@media screen and (max-width: 640px) {
  .p-news_detail .news_detail_article .news_detail_label > div {
    margin-right: 0.5em;
  }
}
.p-news_detail .news_detail_article .news_detail_label > div:last-child {
  margin-right: 0;
}
.p-news_detail .news_detail_article .news_detail_label__date {
  line-height: 1.3;
}
@media screen and (max-width: 640px) {
  .p-news_detail .news_detail_article .news_detail_label__date {
    font-size: 1.3rem;
  }
}
.p-news_detail .news_detail_article .news_article_label {
  font-size: 1.3rem;
  line-height: 1;
  padding: 5px 10px;
  border-radius: 5px;
  box-sizing: border-box;
  background: var(--main);
  color: #fff;
  text-align: center;
  flex-basis: 7.2em;
  flex-shrink: 0;
  margin-right: 1.5em;
}
@media screen and (max-width: 640px) {
  .p-news_detail .news_detail_article .news_article_label {
    font-size: 1.2rem;
  }
}
.p-news_detail .news_detail_article .news_article_label.news_article_label--topics {
  background: #ffa813;
}
.p-news_detail .news_detail_article .news_detail_ttl01 {
  font-size: 2.5rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 640px) {
  .p-news_detail .news_detail_article .news_detail_ttl01 {
    font-size: 1.8rem;
  }
}
.p-news_detail .news_detail_article .news_detail_list01 li {
  position: relative;
  padding-left: 1.3em;
}
.p-news_detail .news_detail_article .news_detail_list01 li::before {
  content: "●";
  color: var(--main);
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}
.p-news_detail .news_detail_article .news_detail_link01 {
  display: inline-block;
  color: var(--main);
  text-decoration: underline;
  margin-top: 1em;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-news_detail .news_detail_article .news_detail_link01:hover {
    text-decoration: none;
  }
}
.p-news_detail .news_detail_article .news_detail_btn {
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  margin-top: 6rem;
}
@media screen and (max-width: 640px) {
  .p-news_detail .news_detail_article .news_detail_btn {
    margin-top: 4rem;
  }
}

.p-service .modal {
  position: relative;
  z-index: 9999;
}
.p-service .modal .modal_overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.3);
  display: flex;
  justify-content: center;
  align-items: center;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain; /* バウンスを抑制 */
}
.p-service .modal .modal_container {
  background-color: #fff;
  padding: 1.8rem;
  max-width: 90rem;
  max-height: 90vh;
  max-width: 45rem;
  max-height: 100%;
  border-radius: 4px;
  overflow-y: auto;
  box-sizing: border-box;
  box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.3);
  overscroll-behavior: contain;
}
@media screen and (max-width: 640px) {
  .p-service .modal .modal_container {
    max-height: 90vh;
    max-width: 34rem;
  }
}
.p-service .modal .modal_ttl {
  display: -webkit-flex;
  display: flex;
  justify-content: flex-end;
}
.p-service .modal .modal_close {
  background: transparent;
  border: 0;
  font-size: 2rem;
  line-height: 1;
  width: 2rem;
  height: 2rem;
  position: relative;
}
.p-service .modal .modal_close::before {
  content: "✕";
  display: block;
  width: 1em;
  height: 1em;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-top: -0.2rem;
}
@media screen and (max-width: 640px) {
  .p-service .modal .modal_close {
    font-size: 2.5rem;
  }
}
.p-service .modal .modal_content {
  margin-top: 1.5rem;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 640px) {
  .p-service .modal .modal_content {
    margin-top: 1.5rem;
  }
}
.p-service .modal .modal_inner {
  padding: 2.5rem 1.5rem;
}
@media screen and (max-width: 640px) {
  .p-service .modal .modal_inner {
    margin-top: 2rem;
    padding: 0;
  }
}
.p-service .modal .modal_thumb {
  max-width: 72.5rem;
  margin: 0 auto;
}
.p-service .modal .modal_thumb img {
  width: 100%;
}
.p-service .modal .modal_ttl01 {
  font-size: 1.6rem;
  line-height: 1.3;
  margin-bottom: 2rem;
}
@media screen and (max-width: 640px) {
  .p-service .modal .modal_ttl01 {
    font-size: 1.5rem;
  }
}
.p-service .modal .modal_txt01 {
  font-size: 1.4rem;
  line-height: 2;
}
@media screen and (max-width: 640px) {
  .p-service .modal .modal_txt01 {
    font-size: 1.3rem;
  }
}
.p-service .modal .modal_txt01 sup {
  transform: none;
}
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}
.p-service .modal_slide {
  display: none;
}
.p-service .modal_slide.is-open {
  display: block;
}
.p-service .modal_slide[aria-hidden=false] .modal_overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.p-service .modal_slide[aria-hidden=false] .modal_container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.p-service .modal_slide[aria-hidden=true] .modal_overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.p-service .modal_slide[aria-hidden=true] .modal_container {
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.p-service .modal_slide .modal_overlay,
.p-service .modal_slide .modal_container {
  will-change: transform;
}
.p-service .b-under_head.b-under_head--list::after {
  background: url("../images/img_con_head--service.png") no-repeat;
  background-size: contain;
}
@media screen and (max-width: 640px) {
  .p-service .b-under_head.b-under_head--list::after {
    background: url("../images/img_con_head--service_sp.png") no-repeat;
    background-size: contain;
  }
}
.p-service .b-under_lead {
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 0.5s, transform 0.5s;
  text-align: center;
  letter-spacing: 0.08em;
  line-height: 1.85;
  margin-top: 1.3rem;
}
@media screen and (max-width: 640px) {
  .p-service .b-under_lead {
    text-align: left;
    line-height: 2;
  }
}
.p-service .b-under_lead.is-active {
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0.3s;
}
.p-service .b-under_content02 {
  padding: 0;
}
.p-service .b-under_box02 {
  padding-top: 5rem;
  padding-bottom: 1.5rem;
  padding: 5rem 0 0;
  background: rgba(255, 255, 255, 0.9);
}
.p-service .b-under_ttl02 {
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 0.5s, transform 0.5s;
  font-size: 10.8rem;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .p-service .b-under_ttl02 {
    font-size: 4.8rem;
    text-align: left;
  }
}
.p-service .b-under_ttl02.is-active {
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0.2s;
}
@media screen and (max-width: 640px) {
  .p-service .service_lead {
    padding: 0 2rem;
  }
}
.p-service .service_anc {
  max-width: 64.6rem;
  margin: 0 auto 0 29rem;
  padding-top: 10.5rem;
}
@media screen and (max-width: 1024px) {
  .p-service .service_anc {
    margin: 0 auto;
    padding-top: 5.5rem;
  }
}
.p-service .service_anc .service_anc_list {
  margin-top: 4rem;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 640px) {
  .p-service .service_anc .service_anc_list {
    margin-top: 2rem;
  }
}
.p-service .service_anc .service_anc_list li {
  width: 18.5rem;
  margin-right: 5rem;
  position: relative;
}
@media screen and (max-width: 640px) {
  .p-service .service_anc .service_anc_list li {
    width: 33.33%;
    margin-right: 3%;
  }
}
.p-service .service_anc .service_anc_list li::after {
  content: "";
  display: block;
  background: url("../../service/images/img_service_border.svg") no-repeat;
  width: 100%;
  height: 1em;
}
.p-service .service_anc .service_anc_list li:last-child {
  margin-right: 0;
}
.p-service .service_anc .service_anc_list li a {
  position: relative;
  display: block;
  padding: 3rem 4.5rem;
  transition: 0.5s background;
}
@media screen and (max-width: 640px) {
  .p-service .service_anc .service_anc_list li a {
    padding: 1.5rem;
  }
}
.p-service .service_anc .service_anc_list li a::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 0.8rem solid transparent;
  border-left: 0.8rem solid transparent;
  border-top: 1.2rem solid rgba(255, 255, 255, 0);
  border-bottom: 0;
  position: absolute;
  left: 50%;
  bottom: -1.1rem;
  transform: translateX(-50%);
  transition: 0.5s all;
}
@media screen and (max-width: 640px) {
  .p-service .service_anc .service_anc_list li a::before {
    border-top-width: 0.6rem;
    bottom: -0.6rem;
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .p-service .service_anc .service_anc_list li a:hover {
    background: var(--main);
  }
  .p-service .service_anc .service_anc_list li a:hover::before {
    border-top: 1.2rem solid var(--main);
  }
  .p-service .service_anc .service_anc_list li a:hover .service_anc_title02 {
    color: #fff;
  }
  .p-service .service_anc .service_anc_list li a:hover .service_anc_box.service_anc_box--product .service_anc_picture::after {
    background: url("../../service/images/img_service01--white.svg") no-repeat;
  }
  .p-service .service_anc .service_anc_list li a:hover .service_anc_box.service_anc_box--logistics .service_anc_picture::after {
    background: url("../../service/images/img_service02--white.svg") no-repeat;
  }
  .p-service .service_anc .service_anc_list li a:hover .service_anc_box.service_anc_box--support .service_anc_picture::after {
    background: url("../../service/images/img_service03--white.svg") no-repeat;
  }
}
.p-service .service_anc .service_anc_title01 {
  font-size: 2.5rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-align: center;
  color: var(--main);
}
@media screen and (max-width: 640px) {
  .p-service .service_anc .service_anc_title01 {
    font-size: 2rem;
  }
}
.p-service .service_anc .service_anc_title02 {
  color: var(--main);
  transition: 0.5s color;
}
.p-service .service_anc .service_anc_title02 .service_anc_title02--main {
  font-size: 4.2rem;
  font-weight: 500;
  line-height: 1.3;
  margin-top: 0.3rem;
}
@media screen and (max-width: 640px) {
  .p-service .service_anc .service_anc_title02 .service_anc_title02--main {
    font-size: 2.2rem;
  }
}
.p-service .service_anc .service_anc_title02 .service_anc_title02--sub {
  display: block;
  font-size: 1.5rem;
  line-height: 1.3;
}
@media screen and (max-width: 640px) {
  .p-service .service_anc .service_anc_title02 .service_anc_title02--sub {
    font-size: 1.2rem;
  }
}
.p-service .service_anc .service_anc_box {
  text-align: center;
}
.p-service .service_anc .service_anc_box.service_anc_box--product .service_anc_picture::after {
  background: url("../../service/images/img_service01--blue.svg") no-repeat;
}
.p-service .service_anc .service_anc_box.service_anc_box--logistics .service_anc_picture::after {
  width: 6.6rem;
  height: 6.2rem;
  background: url("../../service/images/img_service02--blue.svg") no-repeat;
  top: auto;
  bottom: 0;
  transform: translate(-46%, 0);
}
@media screen and (max-width: 640px) {
  .p-service .service_anc .service_anc_box.service_anc_box--logistics .service_anc_picture::after {
    width: 3.3rem;
    height: 3.1rem;
  }
}
.p-service .service_anc .service_anc_box.service_anc_box--support .service_anc_picture {
  width: 10.4rem;
  left: 50%;
  transform: translate(-50%, 4%);
}
.p-service .service_anc .service_anc_box.service_anc_box--support .service_anc_picture::after {
  width: 10.4rem;
  height: 5.8rem;
  background: url("../../service/images/img_service03--blue.svg") no-repeat;
}
@media screen and (max-width: 640px) {
  .p-service .service_anc .service_anc_box.service_anc_box--support .service_anc_picture::after {
    width: 5.2rem;
    height: 2.9rem;
  }
}
.p-service .service_anc .service_anc_picture {
  display: -webkit-flex;
  display: flex;
  align-items: center;
  position: relative;
  margin: 0 auto;
  width: 7.3rem;
  height: 7.1rem;
}
@media screen and (max-width: 640px) {
  .p-service .service_anc .service_anc_picture {
    width: 4.2rem;
    height: 4rem;
  }
}
.p-service .service_anc .service_anc_picture::after {
  content: "";
  display: block;
  width: 7.3rem;
  height: 7.1rem;
  background: url("../../service/images/img_service01--blue.svg") no-repeat;
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.5s background;
}
@media screen and (max-width: 640px) {
  .p-service .service_anc .service_anc_picture::after {
    width: 4.2rem;
    height: 4rem;
  }
}
.p-service .service_sec {
  margin-top: 18rem;
}
@media screen and (max-width: 1024px) {
  .p-service .service_sec {
    margin-top: 15rem;
  }
}
@media screen and (max-width: 640px) {
  .p-service .service_sec {
    margin-top: 6rem;
  }
}
.p-service .service_sec.service_sec--reverse .service_introduction {
  justify-content: flex-end;
}
.p-service .service_inner {
  padding-top: 12.3rem;
}
@media screen and (max-width: 640px) {
  .p-service .service_inner {
    padding-top: 4.3rem;
  }
}
.p-service .service_caption .service_caption--top {
  opacity: 0;
  transition: 0.8s all;
  filter: blur(20px);
}
.p-service .service_caption .service_caption--top.is-active {
  opacity: 1;
  transition: 0.8s all;
  filter: blur(0);
}
@media screen and (max-width: 640px) {
  .p-service .service_caption .service_caption--top.is-active {
    transform: translateX(0);
  }
}
.p-service .service_caption .service_caption--bottom {
  opacity: 0;
  transition: 0.8s all;
  filter: blur(20px);
}
.p-service .service_caption .service_caption--bottom.is-active {
  opacity: 1;
  transition: 0.8s all;
  transition-delay: 0.5s;
  filter: blur(0);
}
@media screen and (max-width: 640px) {
  .p-service .service_caption .service_caption--bottom.is-active {
    transform: translateX(0);
  }
}
.p-service .service_title01 {
  background: url("../../service/images/img_service_bg01.svg") no-repeat center/cover;
  text-align: center;
  height: 20.3rem;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 640px) {
  .p-service .service_title01 {
    height: 10.1rem;
  }
}
.p-service .service_title01 .service_title01__inner {
  padding-top: 5rem;
  position: relative;
  color: var(--main);
}
@media screen and (max-width: 640px) {
  .p-service .service_title01 .service_title01__inner {
    padding-top: 3.5rem;
  }
}
.p-service .service_title01 .service_title01--main {
  font-size: 7.2rem;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 640px) {
  .p-service .service_title01 .service_title01--main {
    font-size: 3rem;
  }
}
.p-service .service_title01 .service_title01--sub {
  display: block;
  font-size: 2rem;
  line-height: 1.3;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 640px) {
  .p-service .service_title01 .service_title01--sub {
    font-size: 1.2rem;
  }
}
.p-service .service_introduction {
  display: -webkit-flex;
  display: flex;
  justify-content: flex-start;
}
@media screen and (max-width: 640px) {
  .p-service .service_introduction {
    display: block;
  }
}
@media screen and (max-width: 1024px) {
  .p-service .service_introduction .service_introduction_inner {
    width: 65rem;
  }
}
@media screen and (max-width: 640px) {
  .p-service .service_introduction .service_introduction_inner {
    width: 100%;
  }
}
.p-service .service_introduction .service_introduction_fv img {
  width: 100%;
}
.p-service .service_introduction .service_introduction_detail {
  margin-top: 2.5rem;
  width: 61rem;
}
@media screen and (max-width: 640px) {
  .p-service .service_introduction .service_introduction_detail {
    width: 100%;
  }
}
.p-service .service_introduction .service_introduction_detail .service_introduction_detail__ttl {
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  line-height: 1.6;
  position: relative;
}
@media screen and (max-width: 640px) {
  .p-service .service_introduction .service_introduction_detail .service_introduction_detail__ttl {
    font-size: 1.6rem;
  }
}
.p-service .service_introduction .service_introduction_detail .service_introduction_detail__txt {
  margin-top: 1.8rem;
  font-size: 1.5rem;
  letter-spacing: 0.146em;
  line-height: 2;
}
@media screen and (max-width: 640px) {
  .p-service .service_introduction .service_introduction_detail .service_introduction_detail__txt {
    margin-top: 1.4rem;
    font-size: 1.4rem;
  }
}
.p-service .service_more {
  margin-top: 9.7rem;
}
@media screen and (max-width: 640px) {
  .p-service .service_more {
    margin-top: 5.5rem;
  }
}
.p-service .service_more button {
  width: 100%;
  vertical-align: bottom;
}
.p-service .service_more .service_more_list {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  max-width: 79.1rem;
  margin: 0 auto;
}
.p-service .service_more .service_more_list > div {
  width: 24.3rem;
  margin-right: 3rem;
  margin-bottom: 5.8rem;
}
.p-service .service_more .service_more_list > div:nth-child(3n) {
  margin-right: 0;
}
.p-service .service_more .service_more_list > div:last-child {
  margin-right: 0;
}
@media screen and (max-width: 640px) {
  .p-service .service_more .service_more_list > div {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 2.8rem;
  }
  .p-service .service_more .service_more_list > div:nth-child(2n) {
    margin-right: 0;
  }
  .p-service .service_more .service_more_list > div:nth-child(3n) {
    margin-right: 4%;
  }
  .p-service .service_more .service_more_list > div:last-child {
    margin-right: 0;
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .p-service .service_more .service_more_box button:hover .service_more_thumb img {
    transform: scale(1.1);
  }
}
.p-service .service_more .service_more_thumb {
  overflow: hidden;
  position: relative;
}
.p-service .service_more .service_more_thumb img {
  display: block;
  width: 100%;
  transition: 0.5s transform;
}
.p-service .service_more .service_more_thumb .dli-zoom-in {
  display: inline-block;
  vertical-align: middle;
  color: #333;
  background: #fff;
  line-height: 1;
  width: 1em;
  height: 1em;
  border: 0.15em solid currentColor;
  border-radius: 50%;
  box-sizing: content-box;
  position: absolute;
  bottom: 0.8rem;
  right: 0.7rem;
}
.p-service .service_more .service_more_thumb .dli-zoom-in::before {
  content: "";
  position: absolute;
  top: calc(85.35534% + 0.07071em);
  left: calc(85.35534% + 0.07071em);
  width: 0.536em;
  height: 0.1em;
  background: currentColor;
  border-radius: 0 0.1em 0.1em 0;
  transform: translateY(-50%) rotate(45deg);
  transform-origin: left center;
}
.p-service .service_more .service_more_thumb .dli-zoom-in > span {
  width: 53%;
  height: 0.2rem;
  background: currentColor;
  border-radius: 0.1em;
  position: relative;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.p-service .service_more .service_more_thumb .dli-zoom-in > span::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  transform: rotate(90deg);
}
.p-service .service_more .service_more_ttl01 {
  margin-top: 1.2rem;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.18em;
}
@media screen and (max-width: 640px) {
  .p-service .service_more .service_more_ttl01 {
    font-size: 1.4rem;
  }
}
.p-service .sec_product .service_title01 .service_title01__inner::before {
  content: "";
  display: block;
  background: url("../../service/images/img_service01--blue.svg") no-repeat;
  width: 6.2rem;
  height: 6.1rem;
  position: absolute;
  top: -0.5rem;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 640px) {
  .p-service .sec_product .service_title01 .service_title01__inner::before {
    width: 3.2rem;
    height: 3.1rem;
    top: 0.2rem;
  }
}
.p-service .sec_product .service_caption {
  position: absolute;
  top: -3rem;
  right: 1.8rem;
  width: 31.5rem;
  height: 61.1rem;
}
@media screen and (max-width: 1200px) {
  .p-service .sec_product .service_caption {
    right: -8.2rem;
  }
}
@media screen and (max-width: 1024px) {
  .p-service .sec_product .service_caption {
    right: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .p-service .sec_product .service_caption {
    position: relative;
    top: auto;
    right: auto;
    width: fit-content;
    height: auto;
    margin-bottom: 3rem;
    margin: 0 auto 3rem;
    display: -webkit-flex;
    display: flex;
  }
}
.p-service .sec_product .service_caption img {
  width: 100%;
}
.p-service .sec_product .service_caption .service_caption--top {
  position: absolute;
  top: 0;
  right: 0;
  width: 14.9rem;
}
@media screen and (max-width: 640px) {
  .p-service .sec_product .service_caption .service_caption--top {
    position: relative;
    top: auto;
    right: auto;
    width: 9.2rem;
    margin-bottom: 0.5rem;
  }
}
.p-service .sec_product .service_caption .service_caption--bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 13.5rem;
}
@media screen and (max-width: 640px) {
  .p-service .sec_product .service_caption .service_caption--bottom {
    position: relative;
    bottom: auto;
    left: auto;
    width: 14.48rem;
    margin-left: 1rem;
  }
}
.p-service .sec_logistics.service_sec {
  margin-top: 8rem;
}
.p-service .sec_logistics .b-under_content04 {
  max-width: 120rem;
}
.p-service .sec_logistics .service_title01 .service_title01__inner::before {
  content: "";
  display: block;
  background: url("../../service/images/img_service02--blue.svg") no-repeat;
  width: 5rem;
  height: 4.3rem;
  position: absolute;
  top: 0.9rem;
  left: 50%;
  transform: translateX(-37%);
}
@media screen and (max-width: 640px) {
  .p-service .sec_logistics .service_title01 .service_title01__inner::before {
    width: 3rem;
    height: 3.1rem;
    transform: translateX(-50%);
  }
}
.p-service .sec_logistics .service_caption {
  position: absolute;
  top: -3.9rem;
  left: -0.5rem;
  width: 31.5rem;
  height: 61.7rem;
}
@media screen and (max-width: 1200px) {
  .p-service .sec_logistics .service_caption {
    left: -8.2rem;
  }
}
@media screen and (max-width: 1024px) {
  .p-service .sec_logistics .service_caption {
    left: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .p-service .sec_logistics .service_caption {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    width: fit-content;
    height: auto;
    margin-bottom: 3rem;
    margin: 0 auto 3rem;
    display: -webkit-flex;
    display: flex;
  }
}
.p-service .sec_logistics .service_caption img {
  width: 100%;
}
.p-service .sec_logistics .service_caption .service_caption--top {
  position: absolute;
  top: 0;
  right: 0;
  width: 15.3rem;
}
@media screen and (max-width: 640px) {
  .p-service .sec_logistics .service_caption .service_caption--top {
    position: relative;
    top: auto;
    right: auto;
    width: 14.35rem;
    margin-bottom: 0.5rem;
  }
}
.p-service .sec_logistics .service_caption .service_caption--bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 13.5rem;
}
@media screen and (max-width: 640px) {
  .p-service .sec_logistics .service_caption .service_caption--bottom {
    position: relative;
    bottom: auto;
    left: auto;
    width: 14.48rem;
    margin-left: 1rem;
  }
}
.p-service .sec_logistics .service_more {
  margin-top: 9.2rem;
}
@media screen and (max-width: 640px) {
  .p-service .sec_logistics .service_more {
    margin-top: 5.5rem;
  }
}
.p-service .sec_logistics .service_more .service_more_ttl01 {
  margin-top: 1.8rem;
}
@media screen and (max-width: 640px) {
  .p-service .sec_logistics .service_more .service_more_ttl01 {
    margin-top: 1.2rem;
  }
}
.p-service .sec_support.service_sec {
  margin-top: 10rem;
}
@media screen and (max-width: 640px) {
  .p-service .sec_support.service_sec {
    margin-top: 6rem;
  }
}
.p-service .sec_support .service_title01 .service_title01__inner::before {
  content: "";
  display: block;
  background: url("../../service/images/img_service03--blue.svg") no-repeat;
  width: 8rem;
  height: 6.3rem;
  position: absolute;
  top: 0.6rem;
  left: 50%;
  transform: translateX(-46%);
}
@media screen and (max-width: 640px) {
  .p-service .sec_support .service_title01 .service_title01__inner::before {
    width: 5rem;
    height: 3.1rem;
    transform: translateX(-50%);
  }
}
.p-service .sec_support .service_caption {
  position: absolute;
  top: -3rem;
  right: 1.8rem;
  width: 31.5rem;
  height: 61.1rem;
}
@media screen and (max-width: 1200px) {
  .p-service .sec_support .service_caption {
    right: -8.2rem;
  }
}
@media screen and (max-width: 1024px) {
  .p-service .sec_support .service_caption {
    right: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .p-service .sec_support .service_caption {
    position: relative;
    top: auto;
    left: auto;
    width: fit-content;
    height: auto;
    margin: 0 auto 3rem;
    display: -webkit-flex;
    display: flex;
    right: auto;
  }
}
.p-service .sec_support .service_caption img {
  width: 100%;
}
.p-service .sec_support .service_caption .service_caption--top {
  position: absolute;
  top: 0;
  right: 0;
  width: 15.4rem;
}
@media screen and (max-width: 640px) {
  .p-service .sec_support .service_caption .service_caption--top {
    position: relative;
    top: auto;
    right: auto;
    width: 14.38rem;
    margin-bottom: 0.5rem;
  }
}
.p-service .sec_support .service_caption .service_caption--bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 13.5rem;
}
@media screen and (max-width: 640px) {
  .p-service .sec_support .service_caption .service_caption--bottom {
    position: relative;
    bottom: auto;
    left: auto;
    width: 14.48rem;
    margin-left: 1rem;
  }
}
.p-service .sec_support .service_more {
  margin-top: 11.5rem;
  padding-bottom: 13rem;
}
@media screen and (max-width: 640px) {
  .p-service .sec_support .service_more {
    margin-top: 5.5rem;
    padding-bottom: 5rem;
  }
}
.p-service .sec_support .service_more .service_more_ttl01 {
  margin-top: 1.6rem;
}

.p-top {
  background: #fafafa;
}
.p-top .top_inner {
  position: relative;
}
.p-top .b-sec_bg01 {
  position: relative;
  background: #fafafa;
}
@keyframes fadeContent {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInBottom {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
@keyframes blur {
  0% {
    filter: blur(20px);
  }
  100% {
    filter: blur(0px);
  }
}
@keyframes blur02 {
  0% {
    opacity: 0;
    filter: blur(20px);
  }
  100% {
    opacity: 1;
    filter: blur(0px);
  }
}
.p-top .sec_fv {
  position: relative;
}
.p-top .sec_fv .fv_contents {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  min-height: 100%;
}
.p-top .sec_fv .fv_cover {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #e0e0e0;
  mix-blend-mode: multiply;
  z-index: 1;
}
.p-top .sec_fv .fv_slider {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  height: 100%;
  min-height: 100vh;
}
.p-top .sec_fv .fv_slider .slick-slide {
  height: 100vh;
}
.p-top .sec_fv .fv_slider .slick-slide img {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  object-fit: cover;
}
.p-top .sec_fv .fv_slider .add-animation {
  animation: zoomUp 10s linear 0s normal both;
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
.p-top .sec_fv .fv_captions {
  position: absolute;
  bottom: 50px;
  left: 9%;
  z-index: 1;
}
@media screen and (max-width: 640px) {
  .p-top .sec_fv .fv_captions {
    left: 20px;
    bottom: 85px;
  }
}
.p-top .sec_fv .fv_captions .fv_captions--main {
  width: 1034px;
  width: 53.85vw;
  opacity: 0;
  animation-name: fadeInBottom;
  animation-delay: 0.5s;
  animation-duration: 0.5s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  animation-iteration-count: 1;
}
@media screen and (max-width: 640px) {
  .p-top .sec_fv .fv_captions .fv_captions--main {
    max-width: 90%;
    width: 100%;
  }
}
.p-top .sec_fv .fv_captions .fv_captions--sub {
  width: 585px;
  width: 30.46vw;
  margin-top: -20px;
  line-height: 1;
  opacity: 0;
  animation-name: fadeInLeft;
  animation-delay: 1s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  animation-iteration-count: 1;
}
.p-top .sec_fv .fv_captions .fv_captions--sub .b-lead_text {
  font-size: 1.8rem;
  letter-spacing: 0.15em;
  line-height: 2.2;
}
@media screen and (max-width: 640px) {
  .p-top .sec_fv .fv_captions .fv_captions--sub .b-lead_text {
    font-size: 1.6rem;
    letter-spacing: inherit;
    line-height: inherit;
  }
}
@media screen and (max-width: 640px) {
  .p-top .sec_fv .fv_captions .fv_captions--sub {
    max-width: 85%;
    width: 100%;
    margin-top: -10px;
  }
}
.p-top .sec_fv .fv_scroll {
  position: absolute;
  bottom: 0;
  right: 50px;
  color: #fff;
  z-index: 3;
}
@media screen and (max-width: 640px) {
  .p-top .sec_fv .fv_scroll {
    right: 50%;
    transform: translateX(50%);
  }
}
.p-top .sec_fv .fv_scroll p {
  font-family: var(--font-geologica);
  font-size: 1.4rem;
  letter-spacing: 0.2rem;
  margin-bottom: 6.5em;
  padding-left: 0.1em;
}
@media screen and (max-width: 640px) {
  .p-top .sec_fv .fv_scroll p {
    font-size: 1.4rem;
    margin-bottom: 3.7em;
  }
}
.p-top .sec_fv .fv_scroll::before, .p-top .sec_fv .fv_scroll::after {
  height: 100px;
}
@media screen and (max-width: 640px) {
  .p-top .sec_fv .fv_scroll::before, .p-top .sec_fv .fv_scroll::after {
    height: 50px;
  }
}
.p-top .sec_fv .fv_scroll::before {
  content: "";
  animation: scroll 2s infinite;
  background: rgba(255, 255, 255, 0.5);
  margin: 0 auto 0 0;
  position: absolute;
  bottom: -15%;
  left: 50%;
  width: 1px;
  z-index: 2;
  /*@include mq() {
  	height: 76px;
  	bottom: -15%;
  }*/
}
.p-top .sec_fv .fv_scroll::after {
  content: "";
  background: rgba(255, 255, 255, 0.3);
  margin: 0 auto 0 0;
  position: absolute;
  bottom: -15%;
  left: 50%;
  width: 1px;
  /*@include mq() {
  	height: 76px;
  	bottom: -15%;
  }*/
}
.p-top .sec_introduction {
  position: relative;
  z-index: 3;
  margin-top: 100vh;
  padding-top: 0;
  padding-bottom: 60vh;
  margin-bottom: -1px;
}
@media screen and (min-height: 1023px) {
  .p-top .sec_introduction {
    padding-bottom: 80vh;
  }
}
@media screen and (max-width: 640px) {
  .p-top .sec_introduction {
    padding: 0 0 60vh 0;
  }
}
.p-top .sec_introduction::before {
  content: "";
  display: block;
  background: linear-gradient(0deg, rgb(250, 250, 250) 0%, rgba(127, 204, 234, 0.9) 30%, rgba(127, 204, 234, 0.9) 60%, rgba(127, 204, 234, 0) 100%);
  width: 100%;
  height: 100%;
  mix-blend-mode: multiply;
  position: absolute;
  top: 0;
  left: 0;
}
.p-top .sec_introduction .b-content01 {
  max-width: 100%;
  margin: 0 10%;
}
@media screen and (max-width: 640px) {
  .p-top .sec_introduction .b-content01 {
    margin: 0 auto;
  }
}
.p-top .sec_introduction .introduction_wrap {
  /*display: -webkit-flex;
  display: flex;
  justify-content: center;*/
}
.p-top .sec_introduction .introduction_lead {
  font-family: var(--noto);
  color: #fff;
  transform: translateY(-57%);
}
@media screen and (max-width: 640px) {
  .p-top .sec_introduction .introduction_lead {
    transform: translateY(-50%);
    padding-bottom: 9rem;
  }
}
.p-top .sec_introduction .introduction_lead.is-move {
  transform: translateY(-50%);
}
.p-top .sec_introduction .introduction_lead.is-move .introduction_lead__ttl {
  transform: scale(1);
}
@media screen and (max-width: 640px) {
  .p-top .sec_introduction .introduction_lead.is-move .introduction_lead__ttl {
    transform: scale(1);
  }
}
.p-top .sec_introduction .introduction_lead.is-move .introduction_lead__txt {
  filter: blur(0);
  transition: filter 0.5s ease-out;
}
.p-top .sec_introduction .introduction_lead .introduction_lead__ttl {
  position: relative;
  max-width: 100%;
  margin: 0 auto;
  transform-origin: left;
  transition: all 0.8s;
  filter: blur(20px);
  transition: filter 0.8s;
  transform: translateY(-2rem);
  /*.introduction_lead__ttl--main, .introduction_lead__ttl--sub {
  	color: var(--main);
  }

  .introduction_lead__ttl--main {
  	font-family: var(--noto_min);
  	font-size: 6rem;
  	letter-spacing: .05em;
  	font-weight: 400;
  	line-height: 1.4;
  	margin-bottom: .2em;
  }

  .introduction_lead__ttl--sub {
  	font-family: var(--noto);
  	font-size: 2.8rem;
  	letter-spacing: .05em;
  	font-weight: 400;
  }*/
}
@media screen and (max-width: 1440px) {
  .p-top .sec_introduction .introduction_lead .introduction_lead__ttl {
    transform: translateY(-8rem);
  }
}
@media screen and (max-width: 640px) {
  .p-top .sec_introduction .introduction_lead .introduction_lead__ttl {
    transform: translateY(0);
  }
}
.p-top .sec_introduction .introduction_lead .introduction_lead__ttl.is-blurred {
  filter: blur(0);
  transition: filter 0.8s;
}
.p-top .sec_introduction .introduction_lead .introduction_lead__ttl .introduction_lead__ttl--sub {
  margin-top: -5px;
}
.p-top .sec_introduction .introduction_lead .introduction_lead__txt {
  padding-top: 0%;
  padding-left: 0.3em;
  line-height: 2.3;
  font-size: 1.8rem;
  filter: blur(20px);
  transition: filter 0.5s ease-out;
  margin-top: 2.5em;
}
@media screen and (max-width: 640px) {
  .p-top .sec_introduction .introduction_lead .introduction_lead__txt {
    font-size: 1.4rem;
    margin-top: 1.5em;
  }
}
.p-top .sec_service {
  position: relative;
  padding-bottom: 0;
}
@media screen and (max-width: 640px) {
  .p-top .sec_service {
    padding-bottom: 0;
    padding-top: 0;
  }
}
@media screen and (max-width: 414px) {
  .p-top .sec_service {
    padding-bottom: 3rem;
  }
}
.p-top .sec_service .b-lead_text {
  line-height: 2.2;
}
.p-top .sec_service .service_col {
  margin-top: 5rem;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 640px) {
  .p-top .sec_service .service_col {
    display: block;
    max-width: fit-content;
    margin: 4rem auto 0;
  }
}
@media screen and (max-width: 414px) {
  .p-top .sec_service .service_col {
    max-width: 100%;
  }
}
.p-top .sec_service .service_col > div {
  width: 38.6rem;
  margin-right: 2%;
}
.p-top .sec_service .service_col > div:last-child {
  margin-right: 0;
  padding-right: 0;
  border-right: none;
}
@media screen and (max-width: 640px) {
  .p-top .sec_service .service_col > div {
    width: 100%;
    margin-right: 0;
  }
  .p-top .sec_service .service_col > div + div {
    margin-top: 1.5rem;
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .p-top .sec_service .service_box .b-button01:hover .b-button01__arrow::before {
    background: url("../images/ico_arrow_blue.svg") no-repeat left center/contain;
    right: 1.08em;
  }
  .p-top .sec_service .service_box .b-button01:hover .b-button01__arrow::after {
    background: #fff;
  }
}
.p-top .sec_service .service_box a {
  display: block;
  padding: 6.3rem 3rem;
  background: #fff;
  transition: 0.5s background, 0.5s color;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-top .sec_service .service_box a:hover {
    background: var(--main);
    color: #fff;
  }
  .p-top .sec_service .service_box a:hover .service_title {
    color: #fff;
  }
  .p-top .sec_service .service_box a:hover .b-button01 .b-button01__arrow::before {
    right: 0.6em;
  }
}
@media screen and (max-width: 640px) {
  .p-top .sec_service .service_box a {
    display: -webkit-flex;
    display: flex;
    align-items: center;
    padding: 3.3rem 2rem;
  }
  .p-top .sec_service .service_box a > div {
    margin-right: 1.5rem;
  }
  .p-top .sec_service .service_box a > div:first-child {
    flex-basis: 7em;
    flex-shrink: 0;
  }
  .p-top .sec_service .service_box a > div:last-child {
    margin-right: 0;
  }
}
.p-top .sec_service .service_box .service_img01 {
  width: 9.5rem;
  height: 7rem;
  position: relative;
  margin: 0 auto;
  display: -webkit-flex;
  display: flex;
  align-items: flex-end;
}
@media screen and (max-width: 640px) {
  .p-top .sec_service .service_box .service_img01 {
    width: 4.8rem;
    height: 4.6rem;
  }
}
.p-top .sec_service .service_box .service_img01::after {
  transition: 0.5s background;
}
@media screen and (max-width: 640px) {
  .p-top .sec_service .service_box .service_img01::after {
    width: 4.8rem;
    height: 4.6rem;
  }
}
.p-top .sec_service .service_box .service_lead {
  display: -webkit-flex;
  display: flex;
  justify-content: center;
}
.p-top .sec_service .service_box .service_lead > p {
  font-size: 1.5rem;
  width: 16em;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 640px) {
  .p-top .sec_service .service_box .service_lead > p {
    width: auto;
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .p-top .sec_service .service_box.service_box--product a:hover .service_img01::after {
    background: url("../../images/img_service01--white.svg") no-repeat;
  }
}
.p-top .sec_service .service_box.service_box--product .service_img01::after {
  content: "";
  display: block;
  width: 7.3rem;
  height: 7.1rem;
  background: url("../../images/img_service01--blue.svg") no-repeat;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .p-top .sec_service .service_box.service_box--product .service_img01::after {
    width: 4.8rem;
    height: 4.6rem;
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .p-top .sec_service .service_box.service_box--logistics a:hover .service_img01::after {
    background: url("../../images/img_service02--white.svg") no-repeat;
  }
}
.p-top .sec_service .service_box.service_box--logistics .service_img01::after {
  content: "";
  display: block;
  width: 6.6rem;
  height: 6.2rem;
  background: url("../../images/img_service02--blue.svg") no-repeat;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .p-top .sec_service .service_box.service_box--logistics .service_img01::after {
    width: 3.9rem;
    height: 3.6rem;
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .p-top .sec_service .service_box.service_box--support a:hover .service_img01::after {
    background: url("../../images/img_service03--white.svg") no-repeat;
  }
}
@media screen and (max-width: 640px) {
  .p-top .sec_service .service_box.service_box--support .service_img01 {
    width: 5.8rem;
    height: 3.2rem;
  }
}
.p-top .sec_service .service_box.service_box--support .service_img01::after {
  content: "";
  display: block;
  width: 10.4rem;
  height: 5.8rem;
  background: url("../../images/img_service03--blue.svg") no-repeat;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .p-top .sec_service .service_box.service_box--support .service_img01::after {
    width: 5.8rem;
    height: 3.2rem;
  }
}
@media screen and (max-width: 640px) {
  .p-top .sec_service .service_box {
    display: -webkit-flex;
    display: flex;
    align-items: center;
    max-width: 100%;
    margin: 0 auto;
  }
  .p-top .sec_service .service_box > div {
    margin-right: 12%;
  }
  .p-top .sec_service .service_box > div:first-child {
    flex-basis: 10rem;
    flex-shrink: 0;
  }
  .p-top .sec_service .service_box > div:last-child {
    margin-right: 0;
  }
}
.p-top .sec_service .service_box > p {
  letter-spacing: 0.15em;
}
.p-top .sec_service .service_title {
  text-align: center;
  color: var(--main);
  transition: 0.5s color;
  margin-bottom: 2rem;
}
@media screen and (max-width: 640px) {
  .p-top .sec_service .service_title {
    margin-bottom: 0;
  }
}
.p-top .sec_service .service_title .service_title--main {
  font-size: 4.2rem;
  font-weight: 500;
  line-height: 1.3;
  margin-top: 0.3rem;
}
@media screen and (max-width: 640px) {
  .p-top .sec_service .service_title .service_title--main {
    font-size: 2.2rem;
  }
}
.p-top .sec_service .service_title .service_title--sub {
  display: block;
  font-family: var(--roboto);
  font-size: 1.5rem;
  line-height: 1.3;
}
@media screen and (max-width: 640px) {
  .p-top .sec_service .service_title .service_title--sub {
    font-size: 1.2rem;
  }
}
.p-top .sec_service .service_btn {
  margin-top: 2rem;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 640px) {
  .p-top .sec_service .service_btn {
    justify-content: flex-start;
    margin-top: 1em;
  }
}
.p-top .sec_about {
  position: relative;
  min-height: 86.5rem;
  height: 100%;
  transition: 1s all;
  margin-bottom: 20.6rem;
}
@media screen and (max-width: 640px) {
  .p-top .sec_about {
    overflow: visible;
    min-height: inherit;
    margin: 0 0 0;
  }
}
.p-top .sec_about.is-active::before {
  opacity: 1;
  transition: 1s all;
  transition-delay: 0.4s;
  filter: blur(0);
}
.p-top .sec_about.is-active::after {
  transition: 0.6s all;
  filter: blur(0);
}
.p-top .sec_about::before {
  content: "";
  display: block;
  background: url("../../images/img_bg06.png") no-repeat left top/contain;
  width: 258.2rem;
  height: 93.2rem;
  position: absolute;
  left: 7rem;
  bottom: 7rem;
  opacity: 0;
  transition: 0.6s all;
  filter: blur(20px);
}
@media screen and (max-width: 640px) {
  .p-top .sec_about::before {
    width: 63.6rem;
    height: 22rem;
    top: -24rem;
    right: -63%;
    left: auto;
    bottom: auto;
  }
}
.p-top .sec_about::after {
  content: "";
  display: block;
  background: url("../../images/img_bg04.png") no-repeat left top/contain;
  width: 193.1rem;
  height: 69.3rem;
  position: absolute;
  top: 17.2rem;
  right: -95rem;
  transition: 0.7s all;
  filter: blur(20px);
}
@media screen and (max-width: 640px) {
  .p-top .sec_about::after {
    width: 61.5rem;
    height: 22.1rem;
    top: -17.5rem;
    right: -75%;
  }
}
.p-top .sec_about .about_wrap {
  position: absolute;
  bottom: 5rem;
  left: 0;
  z-index: 1;
}
@media screen and (max-width: 640px) {
  .p-top .sec_about .about_wrap {
    margin-top: 30rem;
    bottom: 0;
    position: relative;
  }
}
.p-top .sec_about .b-title01 .b-title01--main {
  opacity: 1;
  transform: none;
}
.p-top .sec_about .b-title01 .b-title01--main.is-active {
  transition-delay: 0.8s;
}
.p-top .sec_about .b-title01 .b-title01--sub.is-active {
  transition-delay: 0.6s;
}
.p-top .sec_about .about_box {
  background: #fff;
  padding: 6.5rem 10rem 7.5rem 12rem;
  opacity: 0;
  transform: translateX(-2rem);
  transition: opacity 0.5s, transform 0.5s;
}
@media screen and (max-width: 640px) {
  .p-top .sec_about .about_box {
    padding: 5.5rem 2rem;
  }
}
.p-top .sec_about .about_box.is-active {
  opacity: 1;
  transform: translateX(0);
}
@media screen and (max-width: 640px) {
  .p-top .sec_about .about_box.is-active {
    transition-delay: 0.5s;
  }
}
.p-top .sec_about .about_btn {
  margin-top: 3.5rem;
}
@media screen and (max-width: 640px) {
  .p-top .sec_about .about_btn {
    margin-top: 2.5rem;
    text-align: center;
  }
}
.p-top .sec_news {
  position: relative;
  min-height: 78.5rem;
  height: 100%;
  transition: 1s all;
}
@media screen and (max-width: 640px) {
  .p-top .sec_news {
    overflow: visible;
    min-height: inherit;
    margin-top: 15rem;
  }
}
.p-top .sec_news.is-active::before {
  opacity: 1;
  transition: 1s all;
  transition-delay: 0.4s;
  filter: blur(0);
}
.p-top .sec_news.is-active::after {
  transition: 0.6s all;
  filter: blur(0);
}
.p-top .sec_news::before {
  content: "";
  display: block;
  background: url("../../images/img_bg06.png") no-repeat left top/contain;
  width: 250.2rem;
  height: 83.2rem;
  position: absolute;
  top: -2rem;
  right: -26rem;
  opacity: 0;
  transition: 0.6s all;
  filter: blur(20px);
}
@media screen and (max-width: 640px) {
  .p-top .sec_news::before {
    width: 63.6rem;
    height: 22rem;
    top: 3.3rem;
    left: -60%;
    right: auto;
  }
}
.p-top .sec_news::after {
  content: "";
  display: block;
  background: url("../../images/img_bg05.png") no-repeat left top/contain;
  width: 193.1rem;
  height: 69.3em;
  position: absolute;
  top: 0;
  left: -88rem;
  transition: 0.7s all;
  filter: blur(20px);
}
@media screen and (max-width: 640px) {
  .p-top .sec_news::after {
    width: 61.5rem;
    height: 22.1rem;
    left: -75%;
  }
}
.p-top .sec_news .b-title01 .b-title01--main {
  opacity: 1;
  transform: none;
}
.p-top .sec_news .b-title01 .b-title01--main.is-active {
  transition-delay: 1.1s;
}
.p-top .sec_news .b-title01 .b-title01--sub.is-active {
  transition-delay: 0.6s;
}
.p-top .sec_news .news_box {
  padding: 9rem 9.6rem 9.7rem 7.6rem;
  background: #fff;
  position: absolute;
  right: 0;
  bottom: -5.4rem;
  z-index: 1;
  opacity: 0;
  transform: translateX(2rem);
  transition: opacity 0.5s, transform 0.5s;
  width: 113rem;
}
@media screen and (max-width: 1024px) {
  .p-top .sec_news .news_box {
    width: 87rem;
  }
}
@media screen and (max-width: 640px) {
  .p-top .sec_news .news_box {
    position: relative;
    bottom: -17.4rem;
    padding: 5.5rem 2rem;
    width: 100%;
  }
}
.p-top .sec_news .news_box.is-active {
  opacity: 1;
  transform: translateX(0);
}
@media screen and (max-width: 640px) {
  .p-top .sec_news .news_box.is-active {
    transition-delay: 0.5s;
  }
}
.p-top .sec_news .news_col {
  display: -webkit-flex;
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 1024px) {
  .p-top .sec_news .news_col {
    display: block;
  }
}
.p-top .sec_news .news_col > div {
  margin-left: 4.7rem;
}
.p-top .sec_news .news_col > div:first-child {
  flex-basis: 12rem;
  flex-shrink: 0;
  display: -webkit-flex;
  display: flex;
  flex-direction: column;
  margin-left: 0;
}
@media screen and (max-width: 1024px) {
  .p-top .sec_news .news_col > div:first-child {
    margin-bottom: 20px;
  }
}
.p-top .sec_news .news_col > div:last-child {
  margin-left: 0;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .p-top .sec_news .news_col > div {
    margin-left: 0;
  }
}
.p-top .sec_news .news_btn {
  margin-top: auto;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-start;
  margin-right: 0.7rem;
}
@media screen and (max-width: 640px) {
  .p-top .sec_news .news_btn {
    justify-content: center;
    margin-right: 0;
  }
}
.p-top .sec_news .news_btn.news_btn--sp {
  margin-top: 2.5rem;
}
.p-top .sec_news .news_article {
  border-bottom: 1px solid #e1e1e1;
}
.p-top .sec_news .news_article:first-child a {
  padding: 0 1.5rem 2.5rem;
}
@media screen and (max-width: 1024px) {
  .p-top .sec_news .news_article:first-child a {
    padding: 0 1.5rem 1.5rem;
  }
}
.p-top .sec_news .news_article a {
  display: block;
  padding: 2.5rem 1.5rem;
  transition: 0.3s opacity;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-top .sec_news .news_article a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 1024px) {
  .p-top .sec_news .news_article a {
    padding: 1.5rem;
  }
}
.p-top .sec_news .news_article dl {
  display: -webkit-flex;
  display: flex;
  align-items: baseline;
}
@media screen and (max-width: 1024px) {
  .p-top .sec_news .news_article dl {
    flex-wrap: wrap;
  }
}
.p-top .sec_news .news_article dl dt {
  margin-right: 2.5rem;
  flex-shrink: 0;
}
@media screen and (max-width: 1024px) {
  .p-top .sec_news .news_article dl dt {
    margin-right: 1rem;
  }
}
.p-top .sec_news .news_article dl dd:last-child {
  width: 100%;
}
.p-top .sec_news .news_article .news_article_label {
  font-size: 1.3rem;
  line-height: 1;
  padding: 5px 10px;
  border-radius: 5px;
  box-sizing: border-box;
  background: var(--main);
  color: #fff;
  text-align: center;
  flex-basis: 7.2em;
  flex-shrink: 0;
  margin-right: 1.5em;
}
@media screen and (max-width: 1024px) {
  .p-top .sec_news .news_article .news_article_label {
    font-size: 1.2rem;
  }
}
.p-top .sec_news .news_article .news_article_label.news_article_label--topics {
  background: #ffa813;
}
.p-top .sec_news .news_article .news_article__arrow {
  display: block;
  position: relative;
  padding-right: 0.5em;
}
.p-top .sec_news .news_article .news_article__arrow::after {
  content: "";
  display: block;
  border-top: 1px solid #666;
  border-right: 1px solid #666;
  width: 0.3em;
  height: 0.3em;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.p-top .sec_recruit {
  position: relative;
  margin-top: 20rem;
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit {
    margin-top: 28rem;
  }
}
.p-top .sec_recruit .recruit_bnr__img {
  transition: 0.3s all;
  position: relative;
  display: block;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-top .sec_recruit .recruit_bnr__img:hover .recruit_bnr__img--inner {
    transform: scale(1.1);
  }
}
.p-top .sec_recruit .recruit_bnr {
  display: -webkit-flex;
  display: flex;
  margin-top: 6rem;
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit .recruit_bnr {
    display: block;
    margin-top: 0;
    text-align: center;
  }
}
.p-top .sec_recruit .recruit_bnr > div {
  margin-right: 3%;
  position: relative;
  display: inline-block;
  overflow: hidden;
}
.p-top .sec_recruit .recruit_bnr > div .recruit_bnr__img--inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
  transition: 0.3s all;
}
.p-top .sec_recruit .recruit_bnr > div .recruit_bnr__img--wrap {
  display: block;
  max-width: 100%;
  height: auto;
}
.p-top .sec_recruit .recruit_bnr > div:last-child {
  margin-right: 0;
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit .recruit_bnr > div {
    margin-right: 0;
    text-align: center;
  }
  .p-top .sec_recruit .recruit_bnr > div + div {
    margin-top: 1em;
  }
}
.p-top .sec_recruit .recruit_bnr02 {
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  margin-top: 7rem;
  max-width: 90rem;
  margin: 15rem auto 0;
}
.p-top .sec_recruit .recruit_bnr02 a {
  display: block;
  transition: 0.3s opacity;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-top .sec_recruit .recruit_bnr02 a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit .recruit_bnr02 {
    display: block;
    margin-top: 10rem;
  }
}
.p-top .sec_recruit .recruit_bnr03 {
  margin-top: 11.5rem;
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit .recruit_bnr03 {
    margin-top: 2.5rem;
  }
}
.p-top .sec_recruit .recruit_bnr03 .recruit_btn__caption {
  font-size: 1.4rem;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit .recruit_bnr03 .recruit_btn__caption {
    font-size: 1.2rem;
  }
}
.p-top .sec_recruit .recruit_bnr03 .recruit_bnr03__col {
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  margin: 3rem auto 0;
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit .recruit_bnr03 .recruit_bnr03__col {
    margin: 2rem auto 0;
  }
}
.p-top .sec_recruit .recruit_bnr03 .recruit_bnr03__col > div {
  max-width: 60rem;
  width: 100%;
}
.p-top .sec_recruit .recruit_btn {
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  margin-top: 7rem;
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit .recruit_btn {
    margin-top: 4rem;
  }
}
.p-top .sec_recruit .recruit_btn > div {
  max-width: 34.7rem;
  width: 100%;
}
.p-top .sec_recruit02 {
  position: relative;
  min-height: 86.5rem;
  height: 100%;
  transition: 1s all;
  margin-top: 15rem;
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit02 {
    overflow: visible;
    min-height: inherit;
    margin: 0 0 0;
  }
}
.p-top .sec_recruit02.is-active::before {
  opacity: 1;
  transition: 1s all;
  transition-delay: 0.4s;
  filter: blur(0);
}
.p-top .sec_recruit02.is-active::after {
  transition: 0.6s all;
  filter: blur(0);
}
.p-top .sec_recruit02::before {
  content: "";
  display: block;
  background: url("../../images/img_bg06.png") no-repeat left top/contain;
  width: 258.2rem;
  height: 93.2rem;
  position: absolute;
  left: 7rem;
  bottom: 7rem;
  opacity: 0;
  transition: 0.6s all;
  filter: blur(20px);
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit02::before {
    width: 63.6rem;
    height: 22rem;
    top: -24rem;
    right: -63%;
    left: auto;
    bottom: auto;
  }
}
.p-top .sec_recruit02::after {
  content: "";
  display: block;
  background: url("../../images/img_bg07.png") no-repeat left top/contain;
  width: 193.1rem;
  height: 69.3rem;
  position: absolute;
  top: 17.2rem;
  right: -95rem;
  transition: 0.7s all;
  filter: blur(20px);
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit02::after {
    width: 61.5rem;
    height: 22.1rem;
    top: -17.5rem;
    right: -75%;
  }
}
.p-top .sec_recruit02 .sec_recruit02_wrap {
  position: absolute;
  bottom: 5rem;
  left: 0;
  z-index: 1;
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit02 .sec_recruit02_wrap {
    margin-top: 50rem;
    bottom: 0;
    position: relative;
  }
}
.p-top .sec_recruit02 .b-title01 .b-title01--main {
  opacity: 1;
  transform: none;
}
.p-top .sec_recruit02 .b-title01 .b-title01--main.is-active {
  transition-delay: 0.8s;
}
.p-top .sec_recruit02 .b-title01 .b-title01--sub.is-active {
  transition-delay: 0.6s;
}
.p-top .sec_recruit02 .sec_recruit02_box {
  background: #fff;
  padding: 6.5rem 10rem 7.5rem 12rem;
  opacity: 0;
  transform: translateX(-2rem);
  transition: opacity 0.5s, transform 0.5s;
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit02 .sec_recruit02_box {
    padding: 5.5rem 2rem;
  }
}
.p-top .sec_recruit02 .sec_recruit02_box.is-active {
  opacity: 1;
  transform: translateX(0);
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit02 .sec_recruit02_box.is-active {
    transition-delay: 0.5s;
  }
}
.p-top .sec_recruit02 .sec_recruit02_btn {
  margin-top: 3.5rem;
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit02 .sec_recruit02_btn {
    margin-top: 2.5rem;
    text-align: center;
  }
}
.p-top .sec_recruit02 .recruit_bnr__img {
  transition: 0.3s all;
  position: relative;
  display: block;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-top .sec_recruit02 .recruit_bnr__img:hover .recruit_bnr__img--inner {
    transform: scale(1.1);
  }
}
.p-top .sec_recruit02 .recruit_bnr {
  display: -webkit-flex;
  display: flex;
  margin-top: 6rem;
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit02 .recruit_bnr {
    display: block;
    margin-top: 0;
    text-align: center;
  }
}
.p-top .sec_recruit02 .recruit_bnr > div {
  margin-right: 3%;
  position: relative;
  display: inline-block;
  overflow: hidden;
}
.p-top .sec_recruit02 .recruit_bnr > div .recruit_bnr__img--inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
  transition: 0.3s all;
}
.p-top .sec_recruit02 .recruit_bnr > div .recruit_bnr__img--wrap {
  display: block;
  max-width: 100%;
  height: auto;
}
.p-top .sec_recruit02 .recruit_bnr > div:last-child {
  margin-right: 0;
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit02 .recruit_bnr > div {
    margin-right: 0;
    text-align: center;
  }
  .p-top .sec_recruit02 .recruit_bnr > div + div {
    margin-top: 1em;
  }
}
.p-top .sec_recruit02 .recruit_bnr02 {
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  margin-top: 7rem;
  max-width: 90rem;
  margin: 15rem auto 0;
}
.p-top .sec_recruit02 .recruit_bnr02 a {
  display: block;
  transition: 0.3s opacity;
}
@media (any-hover: hover) and (pointer: fine) {
  .p-top .sec_recruit02 .recruit_bnr02 a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit02 .recruit_bnr02 {
    display: block;
    margin-top: 10rem;
  }
}
.p-top .sec_recruit02 .recruit_bnr03 {
  margin-top: 11.5rem;
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit02 .recruit_bnr03 {
    margin-top: 2.5rem;
  }
}
.p-top .sec_recruit02 .recruit_bnr03 .recruit_btn__caption {
  font-size: 1.4rem;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit02 .recruit_bnr03 .recruit_btn__caption {
    font-size: 1.2rem;
  }
}
.p-top .sec_recruit02 .recruit_bnr03 .recruit_bnr03__col {
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  margin: 3rem auto 0;
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit02 .recruit_bnr03 .recruit_bnr03__col {
    margin: 2rem auto 0;
  }
}
.p-top .sec_recruit02 .recruit_bnr03 .recruit_bnr03__col > div {
  max-width: 60rem;
  width: 100%;
}
.p-top .sec_recruit02 .recruit_btn {
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  margin-top: 7rem;
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit02 .recruit_btn {
    margin-top: 4rem;
  }
}
.p-top .sec_recruit02 .recruit_btn > div {
  max-width: 34.7rem;
  width: 100%;
}
.p-top .sec_recruit_bnr {
  margin-top: 5.5rem;
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit_bnr {
    margin-top: 2.5rem;
  }
}
.p-top .sec_recruit_bnr .recruit_bnr03 .recruit_btn__caption {
  font-size: 1.4rem;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit_bnr .recruit_bnr03 .recruit_btn__caption {
    font-size: 1.2rem;
  }
}
.p-top .sec_recruit_bnr .recruit_bnr03 .recruit_bnr03__col {
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  margin: 3rem auto 0;
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit_bnr .recruit_bnr03 .recruit_bnr03__col {
    margin: 2rem auto 0;
  }
}
.p-top .sec_recruit_bnr .recruit_bnr03 .recruit_bnr03__col > div {
  max-width: 60rem;
  width: 100%;
}
.p-top .sec_recruit_bnr .recruit_btn {
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  margin-top: 7rem;
}
@media screen and (max-width: 640px) {
  .p-top .sec_recruit_bnr .recruit_btn {
    margin-top: 4rem;
  }
}
.p-top .sec_recruit_bnr .recruit_btn > div {
  max-width: 34.7rem;
  width: 100%;
}
/*# sourceMappingURL=style.css.map */
