/*
	HTML5 Reset :: style.css
	----------------------------------------------------------
	We have learned much from/been inspired by/taken code where offered from:

	Eric Meyer					:: http://meyerweb.com
	HTML5 Doctor				:: http://html5doctor.com
	and the HTML5 Boilerplate	:: http://html5boilerplate.com

-------------------------------------------------------------------------------*/
/* Let's default this puppy out
-------------------------------------------------------------------------------*/
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap);
html,
body,
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,
figure,
footer,
header,
menu,
nav,
section,
time,
mark,
audio,
video,
details,
summary {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-weight: normal;
  vertical-align: baseline;
  background: transparent
}
article,
aside,
figure,
footer,
header,
nav,
section,
details,
summary {
  display: block
}
/* Handle box-sizing while better addressing child elements:
   http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit
}
/* consider resetting the default cursor: https://gist.github.com/murtaugh/5247154 */
/* Responsive images and other embedded objects */
/* if you don't have full control over `img` tags (if you have to overcome attributes), consider adding height: auto */
img,
object,
embed {
  max-width: 100%
}
/*
   Note: keeping IMG here will cause problems if you're using foreground images as sprites.
	In fact, it *will* cause problems with Google Maps' controls at small size.
	If this is the case for you, try uncommenting the following:

#map img {
		max-width: none;
}
*/
/* force a vertical scrollbar to prevent a jumpy page */
html {
  overflow-y: scroll
}
/* we use a lot of ULs that aren't bulleted.
	you'll have to restore the bullets within content,
	which is fine because they're probably customized anyway */
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
}
del {
  text-decoration: line-through
}
abbr[title],
dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help
}
/* tables still need cellspacing="0" in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0
}
th {
  font-weight: bold;
  vertical-align: bottom
}
td {
  font-weight: normal;
  vertical-align: top
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0
}
input,
select {
  vertical-align: middle
}
pre {
  white-space: pre;
  /* CSS2 */white-space: pre-wrap;
  /* CSS 2.1 */white-space: pre-line;
  /* CSS 3 (and 2.1 as well, actually) */word-wrap: break-word/* IE */
}
input[type="radio"] {
  vertical-align: text-bottom
}
input[type="checkbox"] {
  vertical-align: bottom
}
.ie7 input[type="checkbox"] {
  vertical-align: baseline
}
.ie6 input {
  vertical-align: text-bottom
}
select,
input,
textarea {
  font: 99% sans-serif
}
table {
  font-size: inherit;
  font: 100%
}
small {
  font-size: 85%
}
strong {
  font-weight: bold
}
td,
td img {
  vertical-align: top
}
/* Make sure sup and sub don't mess with your line-heights http://gist.github.com/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative
}
sup {
  top: -0.5em
}
sub {
  bottom: -0.25em
}
/* standardize any monospaced elements */
pre,
code,
kbd,
samp {
  font-family: monospace,sans-serif
}
/* hand cursor on clickable elements */
.clickable,
label,
input[type=button],
input[type=submit],
input[type=file],
button {
  cursor: pointer
}
/* Webkit browsers add a 2px margin outside the chrome of form elements */
button,
input,
select,
textarea {
  margin: 0
}
/* make buttons play nice in IE */
button,
input[type=button] {
  width: auto;
  overflow: visible
}
/* scale images in IE7 more attractively */
.ie7 img {
  -ms-interpolation-mode: bicubic
}
/* prevent BG image flicker upon hover
   (commented out as usage is rare, and the filter syntax messes with some pre-processors)
.ie6 html {filter: expression(document.execCommand("BackgroundImageCache", false, true));}
*/
/* let's clear some floats */
.clearfix:before,
.clearfix:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden
}
.clearfix:after {
  clear: both
}
.clearfix {
  zoom: 1
}
html,
body {
  -webkit-text-size-adjust: 100%
}
html {
  font-size: 15px
}
body {
  font-family: 'Noto Sans JP',sans-serif;
  font-size: 15px;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.8;
  word-wrap: break-word;
  color: #313131;
  background-color: #fff;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased
}
a {
  text-decoration: none;
  color: #d8d8d8;
  outline: none
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom
}
.NotoSerifJP {
  font-family: 'Noto Serif JP',serif
}
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}
.flex-wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}
.justify-start {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start
}
.justify-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}
.justify-end {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end
}
.justify-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
.justify-around {
  -ms-flex-pack: distribute;
  justify-content: space-around
}
.justify-evenly {
  -webkit-box-pack: space-evenly;
  -ms-flex-pack: space-evenly;
  justify-content: space-evenly
}
.items-stretch {
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch
}
.items-start {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start
}
.items-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
.items-end {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end
}
.items-baseline {
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline
}
.grid {
  display: -ms-grid;
  display: grid
}
.text-right {
  text-align: right
}
.text-center {
  text-align: center
}
.is__none {
  display: none
}
.is__block {
  display: block
}
.is__nagativeZindex {
  z-index: -1 !important
}
.is__fixed {
  position: fixed;
  z-index: 9;
  top: 0;
  left: 0
}
.relative {
  position: relative
}
.textBox p {
  font-size: 15px;
  line-height: 2.33333
}
.textBox p::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 2.1875) * 0.5em)
}
.textBox p::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 2.1875) * 0.5em)
}
.spBr {
  display: none
}
.pcBr {
  display: block
}

.cv a img{
  width: 100%!important;
  height: auto;
}
@media screen and (max-width: 750px) {
  .spBr {
    display: block
  }
  .pcBr {
    display: none
  }
}
.clearfix:after {
  content: '';
  display: block;
  clear: both
}
.container {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto
}
header {
  padding-top: 20px;
  padding-bottom: 20px;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  box-shadow: 0 2px 10px rgb(0 0 0 / 20%);
}
@media (max-width: 1280px) {
  header {
    padding-top: 1.04167vw;
    padding-bottom: 1.04167vw
  }
}
@media (max-width: 750px) {
  header {
    padding-top: 5.33333vw;
    padding-bottom: 5.33333vw;
    position: unset;
    width: auto;
    box-shadow: unset;
  }
}
header .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 20px;
  padding-left: 20px;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
@media (max-width: 1280px) {
  header .inner {
    max-width: 880px;
    padding-right: 1.04167vw;
    padding-left: 1.04167vw
  }
}
@media (max-width: 1280px) {
  header .inner .logo {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-right: auto;
    margin-left: 1.04167vw
  }
}
@media (max-width: 750px) {
  header .inner .logo {
    margin-left: auto
  }
}
@media (max-width: 1280px) {
  header .inner .logo img {
    width: 8.33333vw;
    height: auto
  }
}
@media (max-width: 750px) {
  header .inner .logo img {
    width: 39.46667vw;
    max-width: 148px
  }
}
@media (max-width: 750px) {
  header .inner .tel {
    display: none
  }
}
@media (max-width: 1280px) {
  header .inner .tel img {
    width: 13.85417vw;
    height: auto
  }
}
header .inner .btn {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: 40px;
  padding-top: 10px;
  padding-right: 20px;
  padding-bottom: 10px;
  padding-left: 20px;
  text-align: center;
  border-radius: 9999999px;
  background-color: #ffd41f;
  transition: 0.3s;
}
.inner .btn:hover {
  opacity: 0.7;
}
/*.btn {
  transition: 0.3s;
}
.btn:hover {
  opacity: 0.7;
}*/
@media (max-width: 750px) {
  header .inner .btn {
    display: none
  }
}
@media (max-width: 1280px) {
  header .inner .btn {
    margin-left: 2.08333vw;
    padding-top: 0.52083vw;
    padding-right: 1.04167vw;
    padding-bottom: 0.52083vw;
    padding-left: 1.04167vw
  }
}
header .inner .btn span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 500;
  color: #121927;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}
header .inner .btn span:before {
  content: "";
  width: 21px;
  height: 15px;
  margin-right: 10px;
  background-image: url(../images/mailicon.png);
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover
}
@media (max-width: 1280px) {
  header .inner .btn span:before {
    width: 1.09375vw;
    height: 0.78125vw;
    margin-right: 0.52083vw
  }
}
header .inner .btn span:after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  margin-left: 20px;
  background-image: url(../images/circleallow.png);
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover
}
@media (max-width: 1280px) {
  header .inner .btn span:after {
    width: 0.625vw;
    height: 0.625vw;
    margin-left: 1.04167vw;
    background-size: 0.625vw 0.625vw
  }
}

section.fv {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 90vh;
  min-height: 45vw;
  max-height: 850px;
  background-image: url(../images/mainBg.jpg);
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 105px;
}
@media (max-width: 750px) {
  section.fv {
    max-height: unset;
    height: 145vw;
    background-image: none;
    margin-top: 0;
  }
}
section.fv.-b {
  overflow: hidden;
  background-image: url(../images/mainBg-b.jpg);
  background-position-x: 73%;
}
@media (max-width: 750px) {
  section.fv.-b {
    background-image: unset
  }
}
@media (max-width: 750px) {
  section.fv.-b .inner {
    background-image: url(../images/sp/mainBg-b.jpg)
  }
}
section.fv.-b img {
  position: absolute;
  top: 50%;
  left: 2%;
  width: 59.25vw;
  max-width: 1111px;
  margin-top: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%)
}
@media (max-width: 750px) {
  section.fv.-b img {
    left: 50%;
    top: 24%;
    width: 87.46667vw;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%) translateY(-50%)
  }
}
@media (max-width: 750px) {
  section.fv .inner {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 50%;
    display: block;
    width: 100%;
    height: 160vw;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-image: url(../images/sp/mainBg.jpg);
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: cover
  }
}
section.fv img {
  position: relative;
  z-index: 2;
  display: block;
  width: 90%;
  max-width: 1112px;
  margin-top: 200px;
  margin-right: auto;
  margin-left: auto
}
@media (max-width: 1280px) {
  section.fv img {
    max-width: 57.91667vw;
    margin-top: 10.41667vw
  }

  section.fv {
    margin-top: 5vw;
}
}
@media (max-width: 750px) {
  section.fv img {
    max-width: 183.2vw;
    margin-top: 53.33333vw
  }
}
section .container,
footer .container {
  width: 100%;
  max-width: 1280px;
  padding-right: 20px;
  padding-left: 20px
}
@media (max-width: 1280px) {
  section .container,
  footer .container {
    padding-right: 1.04167vw;
    padding-left: 1.04167vw
  }
}
@media (max-width: 750px) {
  section .container,
  footer .container {
    padding-right: 5.33333vw;
    padding-left: 5.33333vw
  }
}
section.nayami,
footer.nayami {
  position: relative;
  overflow: hidden
}
section.nayami .container,
footer.nayami .container {
  padding-right: 6.25vw;
  padding-left: 6.25vw
}
section.nayami .bgColor,
footer.nayami .bgColor {
  padding-top: 130px;
  padding-bottom: 200px;
  background-color: #1c5b9a
}
@media (max-width: 1280px) {
  section.nayami .bgColor,
  footer.nayami .bgColor {
    padding-top: 6.77083vw;
    padding-bottom: 10.41667vw
  }
}
@media (max-width: 750px) {
  section.nayami .bgColor,
  footer.nayami .bgColor {
    padding-top: 18.66667vw;
    padding-bottom: 13.33333vw
  }
}
section.nayami h2,
footer.nayami h2 {
  font-size: 45px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.899px;
  letter-spacing: 0.06rem;
  color: #fff
}
@media (max-width: 1280px) {
  section.nayami h2,
  footer.nayami h2 {
    font-size: 2.34375vw
  }
}
@media (max-width: 750px) {
  section.nayami h2,
  footer.nayami h2 {
    font-size: 5.33333vw;
    line-height: 1.4
  }
}
section.nayami h2 span,
footer.nayami h2 span {
  font-size: 70px;
  font-weight: bold;
  letter-spacing: 0.899px;
  letter-spacing: 0.06rem
}
@media (max-width: 1280px) {
  section.nayami h2 span,
  footer.nayami h2 span {
    font-size: 3.64583vw
  }
}
@media (max-width: 750px) {
  section.nayami h2 span,
  footer.nayami h2 span {
    font-size: 9.33333vw
  }
}
section.nayami .fukidashiGrid,
footer.nayami .fukidashiGrid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 75px 55px;
  margin-top: 100px
}
@media (max-width: 1280px) {
  section.nayami .fukidashiGrid,
  footer.nayami .fukidashiGrid {
    gap: 3.90625vw 2.86458vw;
    margin-top: 5.20833vw
  }
}
@media (max-width: 750px) {
  section.nayami .fukidashiGrid,
  footer.nayami .fukidashiGrid {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    margin-top: 8vw
  }


}
section.nayami .fukidashiGrid .item,
footer.nayami .fukidashiGrid .item {
  position: relative;
  padding-top: 60px;
  padding-right: 20px;
  padding-bottom: 60px;
  padding-left: 20px;
  text-align: center;
  border-radius: 86px;
  background-color: #fff
}
@media (max-width: 1280px) {
  section.nayami .fukidashiGrid .item,
  footer.nayami .fukidashiGrid .item {
    padding-top: 3.125vw;
    padding-right: 1.04167vw;
    padding-bottom: 3.125vw;
    padding-left: 1.04167vw;
    border-radius: 4.47917vw
  }
}
section.nayami .fukidashiGrid .item:after,
footer.nayami .fukidashiGrid .item:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 20%;
  display: block;
  width: 50px;
  height: 60px;
  -webkit-transform: translateY(70%);
  transform: translateY(70%);
  background-image: url(../images/fukidashiParts.png);
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: contain
}
@media (max-width: 1280px) {
  section.nayami .fukidashiGrid .item:after,
  footer.nayami .fukidashiGrid .item:after {
    width: 2.60417vw;
    height: 3.125vw
  }
}
section.nayami .fukidashiGrid .item p,
footer.nayami .fukidashiGrid .item p {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.4
}
@media (max-width: 1280px) {
  section.nayami .fukidashiGrid .item p,
  footer.nayami .fukidashiGrid .item p {
    font-size: 1.30208vw
  }
}
@media (max-width: 750px) {
  section.nayami .fukidashiGrid .item p,
  footer.nayami .fukidashiGrid .item p {
    font-size: 3.46667vw
  }
.threeBox{
  display: flex;
  flex-wrap: wrap;
}
.item{
    width: 49%;
  }
}
section.nayami .fukidashiGrid .item p span,
footer.nayami .fukidashiGrid .item p span {
  font-size: 33px;
  font-weight: bold;
  color: #f2c201
}
@media (max-width: 1280px) {
  section.nayami .fukidashiGrid .item p span,
  footer.nayami .fukidashiGrid .item p span {
    font-size: 1.71875vw
  }
}
@media (max-width: 750px) {
  section.nayami .fukidashiGrid .item p span,
  footer.nayami .fukidashiGrid .item p span {
    font-size: 4.26667vw
  }
}
section.nayami .tryBox,
footer.nayami .tryBox {
  position: relative;
  display: block;
  width: 100%;
  height: 239px
}
@media (max-width: 750px) {
  section.nayami .tryBox,
  footer.nayami .tryBox {
    margin-top: -2px
  }
}
section.nayami .tryBox:before,
footer.nayami .tryBox:before {
  content: "";
  position: relative;
  z-index: 2;
  display: block;
  height: 100%;
  -webkit-transform: translateY(0px);
  transform: translateY(0px);
  background-image: url(../images/illust001.jpg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain
}
@media (max-width: 750px) {
  section.nayami .tryBox:before,
  footer.nayami .tryBox:before {
    height: 56vw
  }
}
section.nayami .tryBox:after,
footer.nayami .tryBox:after {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 50%;
  display: block;
  width: 0;
  height: 0;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  border-width: 239px 985px 0 985px;
  border-style: solid;
  border-color: #1c5b9a transparent transparent transparent
}
@media (max-width: 750px) {
  section.nayami .tryBox:after,
  footer.nayami .tryBox:after {
    display: none
  }
}
section.kaiketsu h2,
footer.kaiketsu h2 {
  margin-top: 100px;
  font-size: 62px;
  font-weight: bold;
  text-align: center
}
@media (max-width: 1280px) {
  section.kaiketsu h2,
  footer.kaiketsu h2 {
    margin-top: 5.20833vw;
    font-size: 3.22917vw
  }
}
@media (max-width: 750px) {
  section.kaiketsu h2,
  footer.kaiketsu h2 {
    margin-top: 1.82292vw;
    font-size: 5.33333vw
  }
}
section.kaiketsu h2 span,
footer.kaiketsu h2 span {
  font-size: 85px;
  font-weight: bold;
  line-height: 1;
  color: #d90629
}
@media (max-width: 1280px) {
  section.kaiketsu h2 span,
  footer.kaiketsu h2 span {
    font-size: 4.42708vw
  }
}
@media (max-width: 750px) {
  section.kaiketsu h2 span,
  footer.kaiketsu h2 span {
    font-size: 9.33333vw
  }
}
section.kaiketsu h2 i,
footer.kaiketsu h2 i {
  font-size: 40px;
  font-weight: bold;
  font-style: normal
}
@media (max-width: 1280px) {
  section.kaiketsu h2 i,
  footer.kaiketsu h2 i {
    font-size: 2.08333vw
  }
}
@media (max-width: 750px) {
  section.kaiketsu h2 i,
  footer.kaiketsu h2 i {
    font-size: 4vw
  }
}
section.kaiketsu .grayBox,
footer.kaiketsu .grayBox {
  margin-top: 100px;
  padding: 80px;
  background-color: #f2f2f2
}
@media (max-width: 1280px) {
  section.kaiketsu .grayBox,
  footer.kaiketsu .grayBox {
    margin-top: 5.20833vw;
    padding: 4.16667vw
  }
}
@media (max-width: 750px) {
  section.kaiketsu .grayBox,
  footer.kaiketsu .grayBox {
    margin-top: 8vw;
    padding: 8vw 5.33333vw
  }
}
section.kaiketsu .grayBox h3,
footer.kaiketsu .grayBox h3 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-right: auto;
  margin-left: auto;
  font-size: 40px;
  font-weight: 500;
  text-align: center;
  letter-spacing: 1.2px;
  letter-spacing: 0.08rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 40px
}
@media (max-width: 1280px) {
  section.kaiketsu .grayBox h3,
  footer.kaiketsu .grayBox h3 {
    font-size: 2.08333vw;
    gap: 2.08333vw
  }
}
@media (max-width: 750px) {
  section.kaiketsu .grayBox h3,
  footer.kaiketsu .grayBox h3 {
    font-size: 4.8vw
  }
}
section.kaiketsu .grayBox h3:before,
footer.kaiketsu .grayBox h3:before {
  content: "";
  display: block;
  width: 70px;
  height: 2px;
  background-color: #000
}
@media (max-width: 1280px) {
  section.kaiketsu .grayBox h3:before,
  footer.kaiketsu .grayBox h3:before {
    width: 3.64583vw;
    height: 0.10417vw
  }
}
section.kaiketsu .grayBox h3:after,
footer.kaiketsu .grayBox h3:after {
  content: "";
  display: block;
  width: 70px;
  height: 2px;
  background-color: #000
}
@media (max-width: 1280px) {
  section.kaiketsu .grayBox h3:after,
  footer.kaiketsu .grayBox h3:after {
    width: 3.64583vw;
    height: 0.10417vw
  }
}
section.kaiketsu .grayBox .threeBox,
footer.kaiketsu .grayBox .threeBox {
  display: -ms-grid;
  display: grid;
  width: 100%;
  margin-top: 60px;
  -ms-grid-columns: 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 27px
}
@media (max-width: 1280px) {
  section.kaiketsu .grayBox .threeBox,
  footer.kaiketsu .grayBox .threeBox {
    margin-top: 3.125vw;
    gap: 1.40625vw
  }
}
@media (max-width: 750px) {
  section.kaiketsu .grayBox .threeBox,
  footer.kaiketsu .grayBox .threeBox {
    margin-top: 6.66667vw;
    gap: 1.04167vw;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr
  }
}
section.kaiketsu .grayBox .threeBox .item,
footer.kaiketsu .grayBox .threeBox .item {
  padding: 50px 30px;
  background-color: #fff
}
@media (max-width: 1280px) {
  section.kaiketsu .grayBox .threeBox .item,
  footer.kaiketsu .grayBox .threeBox .item {
    padding: 2.60417vw 1.5625vw
  }
}
@media (max-width: 750px) {
  section.kaiketsu .grayBox .threeBox .item,
  footer.kaiketsu .grayBox .threeBox .item {
    padding: 8vw 4vw
  }
}
section.kaiketsu .grayBox .threeBox .item h4,
footer.kaiketsu .grayBox .threeBox .item h4 {
  margin-bottom: 20px;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  color: #1c5b9a
}
@media (max-width: 1280px) {
  section.kaiketsu .grayBox .threeBox .item h4,
  footer.kaiketsu .grayBox .threeBox .item h4 {
    margin-bottom: 1.04167vw;
    font-size: 1.5625vw
  }
}
@media (max-width: 750px) {
  section.kaiketsu .grayBox .threeBox .item h4,
  footer.kaiketsu .grayBox .threeBox .item h4 {
    margin-top: 4vw;
    font-size: 5.33333vw;
    line-height: 1.3
  }
}
section.kaiketsu .grayBox .threeBox .item h4 span,
footer.kaiketsu .grayBox .threeBox .item h4 span {
  display: block;
  font-size: 15px;
  font-weight: bold;
  color: #1c5b9a
}
@media (max-width: 1280px) {
  section.kaiketsu .grayBox .threeBox .item h4 span,
  footer.kaiketsu .grayBox .threeBox .item h4 span {
    font-size: 0.78125vw
  }
}
@media (max-width: 750px) {
  section.kaiketsu .grayBox .threeBox .item h4 span,
  footer.kaiketsu .grayBox .threeBox .item h4 span {
    font-size: 3.2vw
  }
}
section.kaiketsu .grayBox .threeBox .item img,
footer.kaiketsu .grayBox .threeBox .item img {
  display: block;
  margin-right: auto;
  margin-left: auto
}
@media (max-width: 750px) {
  section.kaiketsu .grayBox .threeBox .item img,
  footer.kaiketsu .grayBox .threeBox .item img {
    width: 50%
  }
}
section.kaiketsu .grayBox .threeBox .item .textBox,
footer.kaiketsu .grayBox .threeBox .item .textBox {
  text-align: center
}
section.kaiketsu .grayBox .threeBox .item .textBox p,
footer.kaiketsu .grayBox .threeBox .item .textBox p {
  font-size: 18px;
  line-height: 1.55556
}
@media (max-width: 1280px) {
  section.kaiketsu .grayBox .threeBox .item .textBox p,
  footer.kaiketsu .grayBox .threeBox .item .textBox p {
    font-size: 0.9375vw
  }
}
@media (max-width: 750px) {
  section.kaiketsu .grayBox .threeBox .item .textBox p,
  footer.kaiketsu .grayBox .threeBox .item .textBox p {
    margin-top: 4vw;
    font-size: 3.33333vw
  }
}
section.kaiketsu .grayBox .arrow,
footer.kaiketsu .grayBox .arrow {
  margin-top: 45px
}
@media (max-width: 1280px) {
  section.kaiketsu .grayBox .arrow,
  footer.kaiketsu .grayBox .arrow {
    margin-top: 2.34375vw
  }
}
@media (max-width: 750px) {
  section.kaiketsu .grayBox .arrow,
  footer.kaiketsu .grayBox .arrow {
    margin-top: 6.66667vw
  }
}
section.kaiketsu .grayBox .arrow img,
footer.kaiketsu .grayBox .arrow img {
  display: block;
  margin-right: auto;
  margin-left: auto
}
@media (max-width: 750px) {
  section.kaiketsu .grayBox .arrow img,
  footer.kaiketsu .grayBox .arrow img {
    width: 21.33333vw
  }
}
section.kaiketsu .grayBox .blueBox,
footer.kaiketsu .grayBox .blueBox {
  margin-top: 45px;
  padding: 35px;
  background-color: #0054b9
}
@media (max-width: 1280px) {
  section.kaiketsu .grayBox .blueBox,
  footer.kaiketsu .grayBox .blueBox {
    margin-top: 2.34375vw;
    padding: 1.82292vw
  }
}
@media (max-width: 750px) {
  section.kaiketsu .grayBox .blueBox,
  footer.kaiketsu .grayBox .blueBox {
    margin-top: 6.66667vw;
    padding: 4vw
  }
}
section.kaiketsu .grayBox .blueBox p,
footer.kaiketsu .grayBox .blueBox p {
  font-size: 35px;
  font-weight: 500;
  line-height: 1.57143;
  text-align: center;
  letter-spacing: 0.899px;
  letter-spacing: 0.06rem;
  color: #fff
}
@media (max-width: 1280px) {
  section.kaiketsu .grayBox .blueBox p,
  footer.kaiketsu .grayBox .blueBox p {
    font-size: 1.82292vw
  }
}
@media (max-width: 750px) {
  section.kaiketsu .grayBox .blueBox p,
  footer.kaiketsu .grayBox .blueBox p {
    font-size: 4.8vw;
    text-align: left
  }
}
section.graph,
footer.graph {
  padding-top: 110px;
  background-color: #f0f9fe
}
@media (max-width: 1280px) {
  section.graph,
  footer.graph {
    padding-top: 5.72917vw
  }
}
section.graph h2,
footer.graph h2 {
  font-size: 45px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 1.5px;
  letter-spacing: 0.1rem
}
@media (max-width: 1280px) {
  section.graph h2,
  footer.graph h2 {
    font-size: 2.34375vw
  }
}
@media (max-width: 750px) {
  section.graph h2,
  footer.graph h2 {
    font-size: 5.33333vw
  }
}
section.graph .whiteBox,
footer.graph .whiteBox {
  margin-top: 100px;
  padding-top: 100px;
  padding-bottom: 100px;
  background-color: #fff
}
@media (max-width: 1280px) {
  section.graph .whiteBox,
  footer.graph .whiteBox {
    margin-top: 5.20833vw;
    padding-top: 5.20833vw;
    padding-bottom: 5.20833vw
  }
}
section.graph .whiteBox img,
footer.graph .whiteBox img {
  display: block;
  max-width: 90%;
  margin-right: auto;
  margin-left: auto
}
section.graph .whiteBox img:nth-child(2),
footer.graph .whiteBox img:nth-child(2) {
  margin-top: 55px
}
@media (max-width: 1280px) {
  section.graph .whiteBox img:nth-child(2),
  footer.graph .whiteBox img:nth-child(2) {
    margin-top: 2.86458vw
  }
}
section.graph .blueDot,
footer.graph .blueDot {
  position: relative;
  margin-top: 130px;
  padding-top: 120px;
  padding-right: 20px;
  padding-bottom: 120px;
  padding-left: 20px;
  background-image: url(../images/dotBg.jpg);
  background-size: cover
}
@media (max-width: 1280px) {
  section.graph .blueDot,
  footer.graph .blueDot {
    margin-top: 6.77083vw;
    padding-top: 6.25vw;
    padding-right: 1.04167vw;
    padding-bottom: 6.25vw;
    padding-left: 1.04167vw
  }
}
@media (max-width: 750px) {
  section.graph .blueDot,
  footer.graph .blueDot {
    margin-top: 13.33333vw;
    padding-top: 13.33333vw;
    padding-right: 4vw;
    padding-bottom: 13.33333vw;
    padding-left: 4vw
  }
}
section.graph .blueDot p,
footer.graph .blueDot p {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.875;
  text-align: center;
  letter-spacing: 0.899px;
  letter-spacing: 0.06rem;
  color: #fff
}
@media (max-width: 1280px) {
  section.graph .blueDot p,
  footer.graph .blueDot p {
    font-size: 1.66667vw
  }
}
@media (max-width: 750px) {
  section.graph .blueDot p,
  footer.graph .blueDot p {
    font-size: 3.73333vw;
    text-align: left
  }
}
section.graph .blueDot:after,
footer.graph .blueDot:after {
  content: "";
  position: absolute;
  right: 30px;
  bottom: 0;
  display: block;
  width: 270px;
  height: 291px;
  -webkit-transform: translateY(50%);
  transform: translateY(50%);
  background-image: url(../images/illust004.png);
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover
}
@media (max-width: 1280px) {
  section.graph .blueDot:after,
  footer.graph .blueDot:after {
    right: 1.5625vw;
    width: 14.0625vw;
    height: 15.15625vw
  }
}
section.case,
footer.case {
  padding-top: 137px;
  padding-bottom: 120px;
  background-color: #fafafa
}
@media (max-width: 1280px) {
  section.case,
  footer.case {
    padding-top: 7.13542vw;
    padding-bottom: 6.25vw
  }
}
@media (max-width: 750px) {
  section.case,
  footer.case {
    padding-top: 18.66667vw;
    padding-bottom: 18.66667vw
  }
}
section.case h2,
footer.case h2 {
  position: relative;
  padding-bottom: 30px;
  font-size: 42px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 1.5px;
  letter-spacing: 0.1rem
}
@media (max-width: 1280px) {
  section.case h2,
  footer.case h2 {
    padding-bottom: 1.5625vw;
    font-size: 2.1875vw
  }
}
@media (max-width: 750px) {
  section.case h2,
  footer.case h2 {
    font-size: 5.33333vw
  }
}
section.case h2:after,
footer.case h2:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  width: 64.97px;
  height: 4px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  border-radius: 99999px;
  background-color: #0054b9
}
@media (max-width: 1280px) {
  section.case h2:after,
  footer.case h2:after {
    width: 3.38385vw;
    height: 0.20833vw
  }
}
section.case .textBox,
footer.case .textBox {
  margin-top: 50px
}
@media (max-width: 1280px) {
  section.case .textBox,
  footer.case .textBox {
    margin-top: 2.60417vw
  }
}
@media (max-width: 750px) {
  section.case .textBox,
  footer.case .textBox {
    margin-top: 6.66667vw
  }
}
section.case .textBox p,
footer.case .textBox p {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.875;
  text-align: center;
  letter-spacing: 0.899px;
  letter-spacing: 0.06rem
}
@media (max-width: 1280px) {
  section.case .textBox p,
  footer.case .textBox p {
    font-size: 0.83333vw
  }
}
@media (max-width: 750px) {
  section.case .textBox p,
  footer.case .textBox p {
    font-size: 3.73333vw;
    text-align: left
  }
}
section.case .slickBox,
footer.case .slickBox {
  width: calc(100% - 100px);
  margin-top: 100px;
  margin-right: auto;
  margin-left: auto
}
@media (max-width: 1280px) {
  section.case .slickBox,
  footer.case .slickBox {
    margin-top: 5.20833vw
  }
}
@media (max-width: 750px) {
  section.case .slickBox,
  footer.case .slickBox {
    width: 100%
  }
}
section.case .slickBox .slick-arrow,
footer.case .slickBox .slick-arrow {
  position: absolute;
  top: 50%;
  width: 40px;
  height: 40px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  text-indent: -999999px;
  border: 1px solid #0054b9;
  border-radius: 50%;
  background-color: #fff
}
@media (max-width: 1280px) {
  section.case .slickBox .slick-arrow,
  footer.case .slickBox .slick-arrow {
    width: 2.08333vw;
    height: 2.08333vw
  }
}
section.case .slickBox .slick-arrow.slick-prev,
footer.case .slickBox .slick-arrow.slick-prev {
  z-index: 2;
  left: -40px
}
@media (max-width: 1280px) {
  section.case .slickBox .slick-arrow.slick-prev,
  footer.case .slickBox .slick-arrow.slick-prev {
    left: -1.25vw;
    width: 3.38542vw;
    height: 3.38542vw
  }
  section.case .slickBox .slick-arrow.slick-prev:before,
  footer.case .slickBox .slick-arrow.slick-prev:before {
    background-size: 0.625vw 0.9375vw
  }
}
@media (max-width: 750px) {
  section.case .slickBox .slick-arrow.slick-prev,
  footer.case .slickBox .slick-arrow.slick-prev {
    left: 0px;
    width: 12vw;
    height: 12vw
  }
  section.case .slickBox .slick-arrow.slick-prev:before,
  footer.case .slickBox .slick-arrow.slick-prev:before {
    background-size: 2.13333vw 2.66667vw
  }
}
section.case .slickBox .slick-arrow.slick-next,
footer.case .slickBox .slick-arrow.slick-next {
  right: -40px
}
@media (max-width: 1280px) {
  section.case .slickBox .slick-arrow.slick-next,
  footer.case .slickBox .slick-arrow.slick-next {
    right: -1.25vw;
    width: 3.38542vw;
    height: 3.38542vw
  }
  section.case .slickBox .slick-arrow.slick-next:before,
  footer.case .slickBox .slick-arrow.slick-next:before {
    background-size: 0.625vw 0.9375vw
  }
}
@media (max-width: 750px) {
  section.case .slickBox .slick-arrow.slick-next,
  footer.case .slickBox .slick-arrow.slick-next {
    right: 0px;
    width: 12vw;
    max-width: 45px;
    height: 12vw;
    max-height: 45px
  }
  section.case .slickBox .slick-arrow.slick-next:before,
  footer.case .slickBox .slick-arrow.slick-next:before {
    background-size: 2.13333vw 2.66667vw
  }
}
section.case .slickBox .slick-arrow.slick-next:before,
footer.case .slickBox .slick-arrow.slick-next:before {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg)
}
section.case .slickBox .slick-arrow:before,
footer.case .slickBox .slick-arrow:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../images/sliderArrow.png);
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 10px 16px
}
@media (max-width: 1280px) {
  section.case .slickBox .slick-arrow:before,
  footer.case .slickBox .slick-arrow:before {
    background-size: 0.52083vw 0.83333vw
  }
}
section.case .slickBox .slick-track,
footer.case .slickBox .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px
}
@media (max-width: 1280px) {
  section.case .slickBox .slick-track,
  footer.case .slickBox .slick-track {
    gap: 2.08333vw
  }
}
section.case .slickBox .slick-slide,
footer.case .slickBox .slick-slide {
  float: unset
}
section.case .slickBox .slide .title,
footer.case .slickBox .slide .title {
  margin-top: 20px;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.6px;
  letter-spacing: 0.04rem;
  color: #0054b9
}
@media (max-width: 1280px) {
  section.case .slickBox .slide .title,
  footer.case .slickBox .slide .title {
    margin-top: 1.04167vw;
    font-size: 1.04167vw
  }
}
@media (max-width: 750px) {
  section.case .slickBox .slide .title,
  footer.case .slickBox .slide .title {
    font-size: 3.46667vw
  }
}
section.case .slickBox .slide ul,
footer.case .slickBox .slide ul {
  margin-top: 27px
}
@media (max-width: 1280px) {
  section.case .slickBox .slide ul,
  footer.case .slickBox .slide ul {
    margin-top: 1.40625vw
  }
}
section.case .slickBox .slide ul li,
footer.case .slickBox .slide ul li {
  display: inline-block;
  padding: 3px 5px;
  font-size: 15px;
  font-weight: bold;
  line-height: 1;
  border-radius: 5px;
  background-color: #dcdcdc
}
@media (max-width: 1280px) {
  section.case .slickBox .slide ul li,
  footer.case .slickBox .slide ul li {
    padding: 0.15625vw 0.26042vw;
    font-size: 0.78125vw
  }
}
@media (max-width: 750px) {
  section.case .slickBox .slide ul li,
  footer.case .slickBox .slide ul li {
    padding: 0.8vw 1.33333vw;
    font-size: 2.66667vw
  }
}
section.cv,
footer.cv {
  padding-top: 120px;
  padding-bottom: 120px;
  background-image: url(../images/cvBg.jpg);
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover
}
@media (max-width: 1280px) {
  section.cv,
  footer.cv {
    padding-top: 6.25vw;
    padding-bottom: 6.25vw
  }
}
@media (max-width: 750px) {
  section.cv,
  footer.cv {
    padding-top: 18.66667vw;
    padding-bottom: 18.66667vw
  }
}
section.cv h2,
section.cv p,
footer.cv h2,
footer.cv p {
  color: #fff
}
section.cv h2,
footer.cv h2 {
  font-size: 40px;
  font-weight: bold;
  line-height: 1.6;
  text-align: center;
  letter-spacing: 0.899px;
  letter-spacing: 0.06rem
}
@media (max-width: 1280px) {
  section.cv h2,
  footer.cv h2 {
    font-size: 2.08333vw
  }
}
@media (max-width: 750px) {
  section.cv h2,
  footer.cv h2 {
    font-size: 5.33333vw
  }
}
section.cv .flex,
footer.cv .flex {
  margin-top: 67px;
  gap: 80px;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end
}
@media (max-width: 1280px) {
  section.cv .flex,
  footer.cv .flex {
    margin-top: 3.48958vw;
    gap: 4.16667vw
  }
}
@media (max-width: 750px) {
  section.cv .flex,
  footer.cv .flex {
    gap: 2.66667vw
  }
}
section.cv .flex .tel img,
footer.cv .flex .tel img {
  width: 24.47917vw
}
@media (max-width: 750px) {
  section.cv .flex .tel img,
  footer.cv .flex .tel img {
    width: 40vw
  }
}
section.cv .cvBtn .hai,
footer.cv .cvBtn .hai {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-right: auto;
  margin-left: auto;
  font-size: 20px;
  line-height: 1;
  text-align: center;
  letter-spacing: 1.5px;
  letter-spacing: 0.1rem;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 15px
}
@media (max-width: 1280px) {
  section.cv .cvBtn .hai,
  footer.cv .cvBtn .hai {
    font-size: 1.04167vw;
    gap: 0.78125vw
  }
}
@media (max-width: 750px) {
  section.cv .cvBtn .hai,
  footer.cv .cvBtn .hai {
    gap: 2.13333vw;
    font-size: 2.4vw
  }
}
section.cv .cvBtn .hai:before,
footer.cv .cvBtn .hai:before {
  content: "";
  display: block;
  width: 1px;
  height: 25px;
  -webkit-transform: rotate(-54deg);
  transform: rotate(-54deg);
  background-color: #fff
}
@media (max-width: 1280px) {
  section.cv .cvBtn .hai:before,
  footer.cv .cvBtn .hai:before {
    height: 1.30208vw
  }
}
@media (max-width: 750px) {
  section.cv .cvBtn .hai:before,
  footer.cv .cvBtn .hai:before {
    height: 2.66667vw
  }
}
section.cv .cvBtn .hai:after,
footer.cv .cvBtn .hai:after {
  content: "";
  display: block;
  width: 1px;
  height: 25px;
  -webkit-transform: rotate(54deg);
  transform: rotate(54deg);
  background-color: #fff
}
@media (max-width: 1280px) {
  section.cv .cvBtn .hai:after,
  footer.cv .cvBtn .hai:after {
    height: 1.30208vw
  }
}
@media (max-width: 750px) {
  section.cv .cvBtn .hai:after,
  footer.cv .cvBtn .hai:after {
    height: 2.66667vw
  }
}
section.cv .cvBtn button,
footer.cv .cvBtn button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 420px;
  margin-top: 15px;
  padding-top: 15px;
  padding-bottom: 15px;
  color: #333;
  border: unset;
  border-radius: 5px;
  background-color: #ffd41f;
  -webkit-box-shadow: 3px 3px 0px 0px #b29003;
  box-shadow: 3px 3px 0px 0px #b29003;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}
@media (max-width: 1280px) {
  section.cv .cvBtn button,
  footer.cv .cvBtn button {
    width: 21.875vw;
    margin-top: 0.78125vw;
    padding-top: 0.78125vw;
    padding-bottom: 0.78125vw
  }
}
@media (max-width: 750px) {
  section.cv .cvBtn button,
  footer.cv .cvBtn button {
    width: 45.33333vw;
    margin-top: 2.66667vw;
    padding-top: 4vw;
    padding-bottom: 4vw
  }
}
section.cv .cvBtn button span,
footer.cv .cvBtn button span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: 'Noto Sans JP',sans-serif;
  font-size: 27px;
  font-weight: 500;
  letter-spacing: 0px;
  letter-spacing: 0rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
@media (max-width: 1280px) {
  section.cv .cvBtn button span,
  footer.cv .cvBtn button span {
    font-size: 1.40625vw
  }
}
@media (max-width: 750px) {
  section.cv .cvBtn button span,
  footer.cv .cvBtn button span {
    font-size: 2.66667vw
  }
}
section.cv .cvBtn button span:before,
footer.cv .cvBtn button span:before {
  content: "";
  display: block;
  width: 26px;
  height: 20px;
  margin-right: 20px;
  background-image: url(../images/mailicon.png);
  background-repeat: no-repeat;
  background-position: 50%
}
@media (max-width: 1280px) {
  section.cv .cvBtn button span:before,
  footer.cv .cvBtn button span:before {
    width: 1.35417vw;
    height: 1.04167vw
  }
}
@media (max-width: 750px) {
  section.cv .cvBtn button span:before,
  footer.cv .cvBtn button span:before {
    width: 3.46667vw;
    height: 2.66667vw;
    margin-right: 2.66667vw
  }
}
section.cv .cvBtn button span:after,
footer.cv .cvBtn button span:after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  margin-left: 20px;
  background-image: url(../images/circleallow.png);
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 0.72917vw 0.72917vw
}
@media (max-width: 1280px) {
  section.cv .cvBtn button span:after,
  footer.cv .cvBtn button span:after {
    width: 0.72917vw;
    height: 0.72917vw
  }
}
@media (max-width: 750px) {
  section.cv .cvBtn button span:after,
  footer.cv .cvBtn button span:after {
    width: 1.86667vw;
    height: 1.86667vw;
    margin-left: 2.66667vw;
    background-size: 1.86667vw 1.86667vw
  }
}
section.spCv,
footer.spCv {
  position: fixed;
  z-index: 9;
  bottom: 0;
  left: 0;
  display: none;
}
@media (max-width: 750px) {
  section.spCv,
  footer.spCv {
    display: block
  }
}
section.spCv .flex,
footer.spCv .flex {
}
section.strong,
footer.strong {
  position: relative;
  overflow: hidden;
  padding-top: 130px;
  padding-bottom: 180px
}
@media (max-width: 1280px) {
  section.strong,
  footer.strong {
    padding-top: 6.77083vw;
    padding-right: 6.25vw;
    padding-bottom: 9.375vw;
    padding-left: 6.25vw
  }
}
@media (max-width: 750px) {
  section.strong,
  footer.strong {
    padding-top: 18.66667vw;
    padding-bottom: 18.66667vw
  }
}
section.strong .container,
footer.strong .container {
  position: relative;
  z-index: 2
}
@media (max-width: 750px) {
  section.strong .container,
  footer.strong .container {
    padding-right: 0;
    padding-left: 0
  }
}
section.strong:before,
footer.strong:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: -18%;
  left: 0;
  display: block;
  width: 739px;
  height: 1358px;
  background-image: url(../images/strongBg01.png);
  background-repeat: no-repeat;
  background-position: 50%
}
@media (max-width: 1280px) {
  section.strong:before,
  footer.strong:before {
    top: -5%;
    width: 38.48958vw;
    height: 70.72917vw
  }
}
section.strong:after,
footer.strong:after {
  content: "";
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: -18%;
  display: block;
  width: 612px;
  height: 1358px;
  background-image: url(../images/strongBg02.png);
  background-repeat: no-repeat;
  background-position: 50%
}
@media (max-width: 1280px) {
  section.strong:after,
  footer.strong:after {
    bottom: -5%;
    width: 31.875vw;
    height: 70.72917vw
  }
}
section.strong h2,
footer.strong h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 62px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.6px;
  letter-spacing: 0.04rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
@media (max-width: 1280px) {
  section.strong h2,
  footer.strong h2 {
    font-size: 3.22917vw
  }
}
@media (max-width: 750px) {
  section.strong h2,
  footer.strong h2 {
    margin-bottom: 13.33333vw;
    font-size: 5.33333vw
  }
}
@media (max-width: 1280px) {
  section.strong h2 span img,
  footer.strong h2 span img {
    width: 7.65625vw
  }
}
@media (max-width: 750px) {
  section.strong h2 span img,
  footer.strong h2 span img {
    width: 10.66667vw
  }
}
section.strong .strongItem,
footer.strong .strongItem {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 110px
}
@media (max-width: 1280px) {
  section.strong .strongItem,
  footer.strong .strongItem {
    margin-top: 5.72917vw
  }
}
@media (max-width: 750px) {
  section.strong .strongItem,
  footer.strong .strongItem {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}
section.strong .strongItem.left,
footer.strong .strongItem.left {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end
}
section.strong .strongItem.right,
footer.strong .strongItem.right {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start
}
section.strong .strongItem.right .txt,
footer.strong .strongItem.right .txt {
  right: 0;
  left: unset
}
section.strong .strongItem.right .txt:before,
footer.strong .strongItem.right .txt:before {
  right: 55px;
  left: unset
}
@media (max-width: 1280px) {
  section.strong .strongItem.right .txt:before,
  footer.strong .strongItem.right .txt:before {
    right: 2.86458vw
  }
}
@media (max-width: 750px) {
  section.strong .strongItem .img,
  footer.strong .strongItem .img {
    width: 100%
  }
}
section.strong .strongItem .txt,
footer.strong .strongItem .txt {
  position: absolute;
  bottom: 0;
  left: 0;
  max-width: 750px;
  padding: 70px 55px 0px 55px;
  background-color: #fff
}
@media (max-width: 1280px) {
  section.strong .strongItem .txt,
  footer.strong .strongItem .txt {
    max-width: 39.0625vw;
    padding: 3.64583vw 2.86458vw 0vw 2.86458vw
  }
}
@media (max-width: 750px) {
  section.strong .strongItem .txt,
  footer.strong .strongItem .txt {
    position: unset;
    width: 100%;
    max-width: unset;
    padding: 6.66667vw 2.86458vw 6.66667vw 2.86458vw
  }
}
section.strong .strongItem .txt:before,
footer.strong .strongItem .txt:before {
  content: "";
  position: absolute;
  top: -55px;
  left: 55px;
  display: block;
  width: 104px;
  height: 83px;
  background-position: 50%;
  background-size: cover
}
@media (max-width: 1280px) {
  section.strong .strongItem .txt:before,
  footer.strong .strongItem .txt:before {
    top: -2.86458vw;
    left: 2.86458vw;
    width: 5.41667vw;
    height: 4.32292vw
  }
}
@media (max-width: 750px) {
  section.strong .strongItem .txt:before,
  footer.strong .strongItem .txt:before {
    top: -7.33333vw;
    left: 2.86458vw;
    width: 13.86667vw;
    height: 11.06667vw
  }
}
section.strong .strongItem .txt.num01:before,
footer.strong .strongItem .txt.num01:before {
  background-image: url(../images/num01.png)
}
section.strong .strongItem .txt.num02:before,
footer.strong .strongItem .txt.num02:before {
  width: 116px;
  background-image: url(../images/num02.png)
}
@media (max-width: 1280px) {
  section.strong .strongItem .txt.num02:before,
  footer.strong .strongItem .txt.num02:before {
    width: 6.04167vw
  }
}
@media (max-width: 750px) {
  section.strong .strongItem .txt.num02:before,
  footer.strong .strongItem .txt.num02:before {
    width: 15.46667vw
  }
}
section.strong .strongItem .txt.num03:before,
footer.strong .strongItem .txt.num03:before {
  width: 116px;
  background-image: url(../images/num03.png)
}
@media (max-width: 1280px) {
  section.strong .strongItem .txt.num03:before,
  footer.strong .strongItem .txt.num03:before {
    width: 6.04167vw
  }
}
@media (max-width: 750px) {
  section.strong .strongItem .txt.num03:before,
  footer.strong .strongItem .txt.num03:before {
    width: 15.46667vw
  }
}
section.strong .strongItem .txt h3,
footer.strong .strongItem .txt h3 {
  font-size: 35px;
  font-weight: bold;
  line-height: 1.42857;
  letter-spacing: 1.5px;
  letter-spacing: 0.1rem
}
@media (max-width: 1280px) {
  section.strong .strongItem .txt h3,
  footer.strong .strongItem .txt h3 {
    font-size: 1.82292vw
  }
}
@media (max-width: 750px) {
  section.strong .strongItem .txt h3,
  footer.strong .strongItem .txt h3 {
    font-size: 4.26667vw
  }
}
section.strong .strongItem .txt .textBox,
footer.strong .strongItem .txt .textBox {
  margin-top: 45px
}
@media (max-width: 1280px) {
  section.strong .strongItem .txt .textBox,
  footer.strong .strongItem .txt .textBox {
    margin-top: 2.34375vw
  }
}
@media (max-width: 750px) {
  section.strong .strongItem .txt .textBox,
  footer.strong .strongItem .txt .textBox {
    margin-top: 6.66667vw
  }
}
section.strong .strongItem .txt .textBox p,
footer.strong .strongItem .txt .textBox p {
  font-weight: bold;
  line-height: 2.05882;
  letter-spacing: 1.2px;
  letter-spacing: 0.08rem
}
@media (max-width: 1280px) {
  section.strong .strongItem .txt .textBox p,
  footer.strong .strongItem .txt .textBox p {
    font-size: 0.88542vw;
    line-height: 1.7
  }
}
@media (max-width: 750px) {
  section.strong .strongItem .txt .textBox p,
  footer.strong .strongItem .txt .textBox p {
    font-size: 3.2vw
  }
}
section.strong .strongItem .txt .textBox p span,
footer.strong .strongItem .txt .textBox p span {
  font-size: 1.2em;
  font-weight: bold;
  color: #0054b9
}
section.flow,
footer.flow {
  padding-top: 137px;
  padding-bottom: 137px;
  background-color: #fafafa
}
@media (max-width: 1280px) {
  section.flow,
  footer.flow {
    padding-top: 7.13542vw;
    padding-bottom: 7.13542vw
  }
}
@media (max-width: 750px) {
  section.flow,
  footer.flow {
    padding-top: 18.66667vw;
    padding-bottom: 18.66667vw
  }
}
section.flow h2,
footer.flow h2 {
  position: relative;
  padding-bottom: 30px;
  font-size: 42px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 1.5px;
  letter-spacing: 0.1rem
}
@media (max-width: 1280px) {
  section.flow h2,
  footer.flow h2 {
    padding-bottom: 1.5625vw;
    font-size: 2.1875vw
  }
}
@media (max-width: 750px) {
  section.flow h2,
  footer.flow h2 {
    padding-bottom: 4vw;
    font-size: 5.33333vw
  }
}
section.flow h2:after,
footer.flow h2:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  width: 64.97px;
  height: 4px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  border-radius: 99999px;
  background-color: #0054b9
}
@media (max-width: 1280px) {
  section.flow h2:after,
  footer.flow h2:after {
    width: 3.38385vw;
    height: 0.20833vw
  }
}
section.flow ul,
footer.flow ul {
  margin-top: 100px
}
@media (max-width: 1280px) {
  section.flow ul,
  footer.flow ul {
    max-width: 750px;
    margin-top: 5.20833vw;
    margin-right: auto;
    margin-left: auto
  }
}
@media (max-width: 750px) {
  section.flow ul,
  footer.flow ul {
    margin-top: 10.66667vw
  }
}
section.flow ul li .arrow,
footer.flow ul li .arrow {
  display: block;
  margin: 35px auto 45px auto
}
@media (max-width: 1280px) {
  section.flow ul li .arrow,
  footer.flow ul li .arrow {
    margin: 1.82292vw auto 2.34375vw auto
  }
}
@media (max-width: 750px) {
  section.flow ul li .arrow,
  footer.flow ul li .arrow {
    width: 6.66667vw;
    margin: 4vw auto 6.66667vw auto
  }
}
section.flow ul li .inner,
footer.flow ul li .inner {
  position: relative;
  padding-top: 65px;
  padding-bottom: 60px;
  text-align: center;
  background-color: #fff
}
@media (max-width: 1280px) {
  section.flow ul li .inner,
  footer.flow ul li .inner {
    padding-top: 3.38542vw;
    padding-bottom: 3.125vw
  }
}
@media (max-width: 750px) {
  section.flow ul li .inner,
  footer.flow ul li .inner {
    padding-top: 6.66667vw;
    padding-right: 2.66667vw;
    padding-bottom: 5.33333vw;
    padding-left: 2.66667vw
  }
}
section.flow ul li .inner .num,
footer.flow ul li .inner .num {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  -webkit-transform: translateY(-30%) translateX(-50%);
  transform: translateY(-30%) translateX(-50%)
}
@media (max-width: 1280px) {
  section.flow ul li .inner .num img,
  footer.flow ul li .inner .num img {
    width: 3.80208vw
  }
}
@media (max-width: 750px) {
  section.flow ul li .inner .num img,
  footer.flow ul li .inner .num img {
    width: 8.8vw
  }
}
section.flow ul li .inner h3,
footer.flow ul li .inner h3 {
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 1.5px;
  letter-spacing: 0.1rem
}
@media (max-width: 1280px) {
  section.flow ul li .inner h3,
  footer.flow ul li .inner h3 {
    font-size: 1.5625vw
  }
}
@media (max-width: 750px) {
  section.flow ul li .inner h3,
  footer.flow ul li .inner h3 {
    font-size: 4.8vw
  }
}
section.flow ul li .inner .textBox,
footer.flow ul li .inner .textBox {
  margin-top: 25px
}
@media (max-width: 1280px) {
  section.flow ul li .inner .textBox,
  footer.flow ul li .inner .textBox {
    margin-top: 1.30208vw
  }
}
@media (max-width: 750px) {
  section.flow ul li .inner .textBox,
  footer.flow ul li .inner .textBox {
    margin-top: 4vw
  }
}
section.flow ul li .inner .textBox p,
footer.flow ul li .inner .textBox p {
  font-size: 17px;
  font-weight: 500;
  line-height: 1.76471;
  letter-spacing: 0.899px;
  letter-spacing: 0.06rem
}
@media (max-width: 1280px) {
  section.flow ul li .inner .textBox p,
  footer.flow ul li .inner .textBox p {
    font-size: 0.88542vw
  }
}
@media (max-width: 750px) {
  section.flow ul li .inner .textBox p,
  footer.flow ul li .inner .textBox p {
    font-size: 3.2vw;
    text-align: left
  }
}
section.faq,
footer.faq {
  padding-top: 137px;
  padding-bottom: 120px
}
@media (max-width: 1280px) {
  section.faq,
  footer.faq {
    padding-top: 7.13542vw;
    padding-bottom: 6.25vw
  }
}
@media (max-width: 750px) {
  section.faq,
  footer.faq {
    padding-top: 18.66667vw;
    padding-bottom: 18.66667vw
  }
}
section.faq h2,
footer.faq h2 {
  position: relative;
  padding-bottom: 30px;
  font-size: 42px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 1.5px;
  letter-spacing: 0.1rem
}
@media (max-width: 1280px) {
  section.faq h2,
  footer.faq h2 {
    padding-bottom: 1.5625vw;
    font-size: 2.1875vw
  }
}
@media (max-width: 750px) {
  section.faq h2,
  footer.faq h2 {
    padding-bottom: 4vw;
    font-size: 5.33333vw
  }
}
section.faq h2:after,
footer.faq h2:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  width: 64.97px;
  height: 4px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  border-radius: 99999px;
  background-color: #0054b9
}
@media (max-width: 1280px) {
  section.faq h2:after,
  footer.faq h2:after {
    width: 3.38385vw;
    height: 0.20833vw
  }
}
section.faq .dDown,
footer.faq .dDown {
  margin-top: 60px
}
@media (max-width: 1280px) {
  section.faq .dDown,
  footer.faq .dDown {
    max-width: 750px;
    margin-top: 3.125vw;
    margin-right: auto;
    margin-left: auto
  }
}
@media (max-width: 750px) {
  section.faq .dDown,
  footer.faq .dDown {
    margin-top: 8vw
  }
}
section.faq .dDown li,
footer.faq .dDown li {
  border-bottom: 1px solid #dcdcdc
}
section.faq .dDown li .head,
section.faq .dDown li .cont,
footer.faq .dDown li .head,
footer.faq .dDown li .cont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}
section.faq .dDown li .head p:nth-child(1),
section.faq .dDown li .cont p:nth-child(1),
footer.faq .dDown li .head p:nth-child(1),
footer.faq .dDown li .cont p:nth-child(1) {
  width: 65px;
  text-align: center
}
@media (max-width: 1280px) {
  section.faq .dDown li .head p:nth-child(1),
  section.faq .dDown li .cont p:nth-child(1),
  footer.faq .dDown li .head p:nth-child(1),
  footer.faq .dDown li .cont p:nth-child(1) {
    width: 3.38542vw
  }
}
@media (max-width: 750px) {
  section.faq .dDown li .head p:nth-child(1),
  section.faq .dDown li .cont p:nth-child(1),
  footer.faq .dDown li .head p:nth-child(1),
  footer.faq .dDown li .cont p:nth-child(1) {
    width: 10.66667vw
  }
}
section.faq .dDown li .head,
footer.faq .dDown li .head {
  position: relative;
  padding: 30px 0
}
@media (max-width: 1280px) {
  section.faq .dDown li .head,
  footer.faq .dDown li .head {
    padding: 1.5625vw 0
  }
}
@media (max-width: 750px) {
  section.faq .dDown li .head,
  footer.faq .dDown li .head {
    padding: 4vw 9.33333vw 4vw 0
  }
}
section.faq .dDown li .head:before,
footer.faq .dDown li .head:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  display: block;
  width: 2px;
  height: 15px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-color: #0054b9
}
@media (max-width: 1280px) {
  section.faq .dDown li .head:before,
  footer.faq .dDown li .head:before {
    right: 0.83333vw;
    width: 1px;
    height: 0.78125vw
  }
}
@media (max-width: 750px) {
  section.faq .dDown li .head:before,
  footer.faq .dDown li .head:before {
    right: 4.26667vw;
    width: 1px;
    height: 4vw
  }
}
section.faq .dDown li .head:after,
footer.faq .dDown li .head:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  display: block;
  width: 15px;
  height: 2px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-color: #0054b9
}
@media (max-width: 1280px) {
  section.faq .dDown li .head:after,
  footer.faq .dDown li .head:after {
    right: 0.46875vw;
    width: 0.78125vw;
    height: 1px
  }
}
@media (max-width: 750px) {
  section.faq .dDown li .head:after,
  footer.faq .dDown li .head:after {
    right: 2.4vw;
    width: 4vw;
    height: 1px
  }
}
section.faq .dDown li .head p,
footer.faq .dDown li .head p {
  font-size: 22px;
  font-weight: 500
}
@media (max-width: 1280px) {
  section.faq .dDown li .head p,
  footer.faq .dDown li .head p {
    font-size: 1.14583vw
  }
}
@media (max-width: 750px) {
  section.faq .dDown li .head p,
  footer.faq .dDown li .head p {
    width: calc(100% - 10.66667vw);
    font-size: 3.73333vw
  }
}
section.faq .dDown li .head p:nth-child(1),
footer.faq .dDown li .head p:nth-child(1) {
  font-weight: bold;
  color: #0054b9
}
section.faq .dDown li .head[data-flg="true"]:before,
footer.faq .dDown li .head[data-flg="true"]:before {
  opacity: 0
}
section.faq .dDown li .head[data-flg="true"] + .cont,
footer.faq .dDown li .head[data-flg="true"] + .cont {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 0 0 30px 0
}
@media (max-width: 1280px) {
  section.faq .dDown li .head[data-flg="true"] + .cont,
  footer.faq .dDown li .head[data-flg="true"] + .cont {
    padding: 0 0 1.5625vw 0
  }
}
section.faq .dDown li .cont,
footer.faq .dDown li .cont {
  overflow: hidden;
  height: 0;
  -webkit-transition: .2s;
  transition: .2s
}
section.faq .dDown li .cont p,
footer.faq .dDown li .cont p {
  font-size: 17px;
  font-weight: 500
}
@media (max-width: 1280px) {
  section.faq .dDown li .cont p,
  footer.faq .dDown li .cont p {
    font-size: 0.88542vw
  }
}
@media (max-width: 750px) {
  section.faq .dDown li .cont p,
  footer.faq .dDown li .cont p {
    width: calc(100% - 10.66667vw);
    font-size: 3.73333vw
  }
}
section.faq .dDown li .cont p:nth-child(1),
footer.faq .dDown li .cont p:nth-child(1) {
  font-weight: bold;
  color: #d90629
}
section.contact,
footer.contact {
  padding-top: 137px;
  padding-bottom: 137px
}
@media (max-width: 1280px) {
  section.contact,
  footer.contact {
    padding-top: 7.13542vw;
    padding-bottom: 7.13542vw
  }
}
@media (max-width: 750px) {
  section.contact,
  footer.contact {
    padding-top: 18.66667vw;
    padding-bottom: 18.66667vw
  }
}
section.contact .container,
footer.contact .container {
  max-width: 1080px
}
section.contact h2,
footer.contact h2 {
  position: relative;
  padding-bottom: 30px;
  font-size: 42px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 1.5px;
  letter-spacing: 0.1rem
}
@media (max-width: 1280px) {
  section.contact h2,
  footer.contact h2 {
    padding-bottom: 1.5625vw;
    font-size: 2.1875vw
  }
}
@media (max-width: 750px) {
  section.contact h2,
  footer.contact h2 {
    font-size: 5.33333vw
  }
}
section.contact h2:after,
footer.contact h2:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  width: 64.97px;
  height: 4px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  border-radius: 99999px;
  background-color: #0054b9
}
@media (max-width: 1280px) {
  section.contact h2:after,
  footer.contact h2:after {
    width: 3.38385vw;
    height: 0.20833vw
  }
}
section.contact .form ul,
footer.contact .form ul {
  max-width: 750px;
  margin-right: auto;
  margin-left: auto
}
section.contact .form ul li,
footer.contact .form ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}
@media (max-width: 750px) {
  section.contact .form ul li,
  footer.contact .form ul li {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}
section.contact .form ul li:nth-child(1),
footer.contact .form ul li:nth-child(1) {
  margin-top: 80px
}
@media (max-width: 1280px) {
  section.contact .form ul li:nth-child(1),
  footer.contact .form ul li:nth-child(1) {
    margin-top: 4.16667vw
  }
}
@media (max-width: 750px) {
  section.contact .form ul li:nth-child(1),
  footer.contact .form ul li:nth-child(1) {
    margin-top: 8vw
  }
}
section.contact .form ul li + li,
footer.contact .form ul li + li {
  margin-top: 30px
}
@media (max-width: 1280px) {
  section.contact .form ul li + li,
  footer.contact .form ul li + li {
    margin-top: 1.5625vw
  }
}
@media (max-width: 750px) {
  section.contact .form ul li + li,
  footer.contact .form ul li + li {
    margin-top: 8vw
  }
}
section.contact .form ul li .red,
footer.contact .form ul li .red {
  font-weight: bold;
  color: #d90629
}
section.contact .form ul li .head,
footer.contact .form ul li .head {
  width: 335px
}
@media (max-width: 1280px) {
  section.contact .form ul li .head,
  footer.contact .form ul li .head {
    width: 17.44792vw
  }
}
@media (max-width: 750px) {
  section.contact .form ul li .head,
  footer.contact .form ul li .head {
    width: 100%
  }
}
section.contact .form ul li .head .hiss,
footer.contact .form ul li .head .hiss {
  margin-left: 5px;
  font-style: normal;
  color: #0054b9
}
section.contact .form ul li .head p,
footer.contact .form ul li .head p {
  font-size: 18px;
  font-weight: bold
}
@media (max-width: 1280px) {
  section.contact .form ul li .head p,
  footer.contact .form ul li .head p {
    font-size: 0.9375vw
  }
}
@media (max-width: 750px) {
  section.contact .form ul li .head p,
  footer.contact .form ul li .head p {
    font-size: 3.46667vw;
    line-height: 1
  }
}
section.contact .form ul li .cont,
footer.contact .form ul li .cont {
  width: calc(100% - 335px)
}
@media (max-width: 1280px) {
  section.contact .form ul li .cont,
  footer.contact .form ul li .cont {
    width: calc(100% - 17.44792vw)
  }
}
@media (max-width: 750px) {
  section.contact .form ul li .cont,
  footer.contact .form ul li .cont {
    width: 100%;
    margin-top: 1.33333vw
  }
}
section.contact .form ul li .cont.half input,
footer.contact .form ul li .cont.half input {
  width: 70%;
  max-width: 400px
}
@media (max-width: 1280px) {
  section.contact .form ul li .cont.half input,
  footer.contact .form ul li .cont.half input {
    max-width: 20.83333vw
  }
}
@media (max-width: 750px) {
  section.contact .form ul li .cont.half input,
  footer.contact .form ul li .cont.half input {
    max-width: unset
  }
}
section.contact .form ul li .cont textarea,
footer.contact .form ul li .cont textarea {
  width: 100%;
  margin-bottom: 15px;
  padding: 15px 8px;
  border: unset;
  background-color: #eee
}
@media (max-width: 1280px) {
  section.contact .form ul li .cont textarea,
  footer.contact .form ul li .cont textarea {
    padding: 0.78125vw 0.41667vw
  }
}
section.contact .form ul li .cont input,
footer.contact .form ul li .cont input {
  width: 100%;
  padding: 15px 8px;
  border: unset;
  background-color: #eee
}
@media (max-width: 1280px) {
  section.contact .form ul li .cont input,
  footer.contact .form ul li .cont input {
    padding: 0.78125vw 0.41667vw
  }
}
@media (max-width: 750px) {
  section.contact .form ul li .cont input,
  footer.contact .form ul li .cont input {
    padding: 1.33333vw 0.8vw
  }
}
section.contact .form ul li .cont input[type="checkbox"],
footer.contact .form ul li .cont input[type="checkbox"] {
  width: unset;
  line-height: 1
}
section.contact .form ul li .cont input[type="checkbox"] + label,
footer.contact .form ul li .cont input[type="checkbox"] + label {
  margin-right: 20px;
  font-size: 17px;
  font-weight: bold;
  font-weight: 500;
  line-height: 1;
  vertical-align: bottom
}
@media (max-width: 1280px) {
  section.contact .form ul li .cont input[type="checkbox"] + label,
  footer.contact .form ul li .cont input[type="checkbox"] + label {
    margin-right: 1.04167vw;
    font-size: 0.88542vw
  }
}
@media (max-width: 750px) {
  section.contact .form ul li .cont input[type="checkbox"] + label,
  footer.contact .form ul li .cont input[type="checkbox"] + label {
    margin-top: 10px;
    margin-right: 5.33333vw;
    font-size: 3.46667vw
  }
}
section.contact .form ul li .cont input[type="radio"],
footer.contact .form ul li .cont input[type="radio"] {
  width: unset;
  line-height: 1
}
section.contact .form ul li .cont input[type="radio"] + label,
footer.contact .form ul li .cont input[type="radio"] + label {
  margin-right: 20px;
  font-size: 17px;
  font-weight: bold;
  font-weight: 500;
  line-height: 1;
  vertical-align: middle
}
@media (max-width: 1280px) {
  section.contact .form ul li .cont input[type="radio"] + label,
  footer.contact .form ul li .cont input[type="radio"] + label {
    margin-right: 1.04167vw;
    font-size: 0.88542vw
  }
}
@media (max-width: 750px) {
  section.contact .form ul li .cont input[type="radio"] + label,
  footer.contact .form ul li .cont input[type="radio"] + label {
    margin-top: 10px;
    margin-right: 5.33333vw;
    font-size: 3.46667vw
  }
}
section.contact .form .agree,
footer.contact .form .agree {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 60px;
  margin-right: auto;
  margin-left: auto;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}
@media (max-width: 1280px) {
  section.contact .form .agree,
  footer.contact .form .agree {
    margin-top: 3.125vw;
    vertical-align: middle
  }
}
section.contact .form .agree p,
footer.contact .form .agree p {
  font-size: 16px;
  font-weight: bold;
  text-align: center
}
@media (max-width: 1280px) {
  section.contact .form .agree p,
  footer.contact .form .agree p {
    font-size: 0.83333vw
  }
}
@media (max-width: 750px) {
  section.contact .form .agree p,
  footer.contact .form .agree p {
    font-size: 3.73333vw
  }
}
section.contact .form .agree p button,
footer.contact .form .agree p button {
  font-size: 16px;
  font-weight: bold;
  text-decoration: underline;
  color: #1c5b9a;
  border: unset;
  background-color: #fff
}
@media (max-width: 1280px) {
  section.contact .form .agree p button,
  footer.contact .form .agree p button {
    font-size: 0.83333vw
  }
}
@media (max-width: 750px) {
  section.contact .form .agree p button,
  footer.contact .form .agree p button {
    font-size: 3.73333vw
  }
}
section.contact .form .submit,
footer.contact .form .submit {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 350px;
  margin-top: 50px;
  margin-right: auto;
  margin-left: auto;
  border: unset;
  border-radius: 5px;
  background-color: #ffd41f;
  -webkit-box-shadow: 3px 3px 0px 0px #b29003;
  box-shadow: 3px 3px 0px 0px #b29003;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}
@media (max-width: 1280px) {
  section.contact .form .submit,
  footer.contact .form .submit {
    width: 18.22917vw;
    margin-top: 2.60417vw
  }
}
@media (max-width: 750px) {
  section.contact .form .submit,
  footer.contact .form .submit {
    width: 53.33333vw;
    margin-top: 5.33333vw
  }
}
section.contact .form .submit:after,
footer.contact .form .submit:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  display: block;
  width: 14px;
  height: 14px;
  margin-left: 20px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-image: url(../images/circleallow.png);
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover
}
@media (max-width: 1280px) {
  section.contact .form .submit:after,
  footer.contact .form .submit:after {
    width: 0.72917vw;
    height: 0.72917vw;
    margin-left: 1.04167vw
  }
}
@media (max-width: 750px) {
  section.contact .form .submit:after,
  footer.contact .form .submit:after {
    width: 2.66667vw;
    height: 2.66667vw;
    margin-left: 4vw
  }
}
section.contact .form .submit input,
footer.contact .form .submit input {
  width: 100%;
  padding-top: 15px;
  padding-bottom: 15px;
  font-family: 'Noto Sans JP',sans-serif;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  letter-spacing: 1.2px;
  letter-spacing: 0.08rem;
  color: #333;
  border: unset;
  background-color: rgba(0, 0, 0, 0);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
@media (max-width: 1280px) {
  section.contact .form .submit input,
  footer.contact .form .submit input {
    padding-top: 0.78125vw;
    padding-bottom: 0.78125vw;
    font-size: 0.9375vw
  }
}
@media (max-width: 750px) {
  section.contact .form .submit input,
  footer.contact .form .submit input {
    padding-top: 4vw;
    padding-bottom: 4vw;
    font-size: 3.73333vw
  }
}
section.privacypolicy,
footer.privacypolicy {
  position: fixed;
  z-index: 50;
  top: 0;
  left: 0;
  display: none;
  overflow-y: scroll;
  width: 100%;
  height: 100%;
  background-color: rgba(149, 149, 149, 0.7)
}
@media (max-width: 1280px) {
  section.privacypolicy,
  footer.privacypolicy {
    padding-top: 5.20833vw;
    padding-bottom: 5.20833vw
  }
}
@media (max-width: 750px) {
  section.privacypolicy,
  footer.privacypolicy {
    padding-top: 12vw;
    padding-bottom: 12vw
  }
}
section.privacypolicy .container,
footer.privacypolicy .container {
  width: 90%;
  padding-top: 100px;
  padding-bottom: 100px;
  background-color: #fff
}
@media (max-width: 1280px) {
  section.privacypolicy .container,
  footer.privacypolicy .container {
    padding-top: 5.20833vw;
    padding-bottom: 5.20833vw
  }
}
@media (max-width: 750px) {
  section.privacypolicy .container,
  footer.privacypolicy .container {
    position: unset;
    -webkit-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0)
  }
}
section.privacypolicy .inner,
footer.privacypolicy .inner {
  max-width: 960px;
  margin-right: auto;
  margin-left: auto
}
section.privacypolicy .inner h2,
footer.privacypolicy .inner h2 {
  position: relative;
  padding-bottom: 30px;
  font-size: 42px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 1.5px;
  letter-spacing: 0.1rem
}
@media (max-width: 1280px) {
  section.privacypolicy .inner h2,
  footer.privacypolicy .inner h2 {
    padding-bottom: 1.5625vw;
    font-size: 2.1875vw
  }
}
@media (max-width: 750px) {
  section.privacypolicy .inner h2,
  footer.privacypolicy .inner h2 {
    font-size: 5.33333vw
  }
}
section.privacypolicy .inner h2:after,
footer.privacypolicy .inner h2:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  width: 64.97px;
  height: 4px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  border-radius: 99999px;
  background-color: #0054b9
}
@media (max-width: 1280px) {
  section.privacypolicy .inner h2:after,
  footer.privacypolicy .inner h2:after {
    width: 3.38385vw;
    height: 0.20833vw
  }
}
section.privacypolicy .inner .textBox p,
footer.privacypolicy .inner .textBox p {
  font-size: 16px;
  font-weight: 500
}
section.privacypolicy .inner .textBox p a{
  color:#313131!important;
}
@media (max-width: 1280px) {
  section.privacypolicy .inner .textBox p,
  footer.privacypolicy .inner .textBox p {
    font-size: 0.83333vw
  }
}
@media (max-width: 750px) {
  section.privacypolicy .inner .textBox p,
  footer.privacypolicy .inner .textBox p {
    font-size: 3.2vw;
    line-height: 1.91667em
  }
}
section.privacypolicy .inner .textBox p:nth-child(1),
footer.privacypolicy .inner .textBox p:nth-child(1) {
  margin-top: 70px
}
@media (max-width: 1280px) {
  section.privacypolicy .inner .textBox p:nth-child(1),
  footer.privacypolicy .inner .textBox p:nth-child(1) {
    margin-top: 3.64583vw
  }
}
section.privacypolicy .inner .textBox p + p,
footer.privacypolicy .inner .textBox p + p {
  margin-top: 45px
}
@media (max-width: 1280px) {
  section.privacypolicy .inner .textBox p + p,
  footer.privacypolicy .inner .textBox p + p {
    margin-top: 2.34375vw
  }
}
@media (max-width: 750px) {
  section.privacypolicy .inner .textBox p + p,
  footer.privacypolicy .inner .textBox p + p {
    margin-top: 6.66667vw
  }
}
section.privacypolicy .inner #close,
footer.privacypolicy .inner #close {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 80px;
  margin-right: auto;
  margin-left: auto;
  cursor: pointer
}
@media (max-width: 1280px) {
  section.privacypolicy .inner #close,
  footer.privacypolicy .inner #close {
    margin-top: 4.16667vw
  }
}
section.privacypolicy .inner #close p,
footer.privacypolicy .inner #close p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 20px;
  font-weight: 500;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
@media (max-width: 1280px) {
  section.privacypolicy .inner #close p,
  footer.privacypolicy .inner #close p {
    font-size: 1.04167vw
  }
}
@media (max-width: 750px) {
  section.privacypolicy .inner #close p,
  footer.privacypolicy .inner #close p {
    font-size: 4vw
  }
}
section.privacypolicy .inner #close p:before,
footer.privacypolicy .inner #close p:before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  margin-right: 16px;
  background-image: url(../images/close.png);
  background-position: 50%;
  background-size: cover
}
@media (max-width: 1280px) {
  section.privacypolicy .inner #close p:before,
  footer.privacypolicy .inner #close p:before {
    width: 0.83333vw;
    height: 0.83333vw;
    margin-right: 0.83333vw
  }
}
@media (max-width: 750px) {
  section.privacypolicy .inner #close p:before,
  footer.privacypolicy .inner #close p:before {
    width: 3.73333vw;
    height: 3.73333vw;
    margin-right: 2.66667vw
  }
}
footer {
  position: relative;
  padding-top: 100px;
  padding-bottom: 50px
}
@media (max-width: 1280px) {
  footer {
    padding-top: 5.20833vw;
    padding-bottom: 2.60417vw
  }
}
@media (max-width: 750px) {
  footer {
    padding-top: 13.33333vw;
    padding-bottom: 6.66667vw;
    padding-bottom: 25.86667vw
  }
  footer .container .flex {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}
footer:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: -webkit-gradient(linear, left top, right top, from(#004bac), to(#00a2f1));
  background: linear-gradient(90deg, #004bac 0%, #00a2f1 100%)
}
@media (max-width: 750px) {
  footer .logo {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-right: auto;
    margin-left: auto
  }
}
footer .btn {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 280px;
  padding: 20px 0;
  text-align: center;
  border: 1px solid #16294a;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}
@media (max-width: 1280px) {
  footer .btn {
    width: 14.58333vw;
    padding: 1.04167vw 0
  }
}
@media (max-width: 750px) {
  footer .btn {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 9.33333vw;
    margin-right: auto;
    margin-left: auto;
    padding: 2.66667vw 6.66667vw
  }
}
footer .btn:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  width: 6px;
  height: 10px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%226px%22%20height%3D%2210px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(23%2C%2045%2C%2084)%22%20d%3D%22M1.009%2C9.999%20L5.420%2C5.257%20L1.009%2C0.514%20L-0.000%2C1.584%20L3.416%2C5.257%20L-0.000%2C8.929%20L1.009%2C9.999%20Z%22%2F%3E%3C%2Fsvg%3E");
  background-size: cover
}
@media (max-width: 1280px) {
  footer .btn:after {
    right: 0.9375vw;
    width: 0.3125vw;
    height: 0.52083vw
  }
}
@media (max-width: 750px) {
  footer .btn:after {
    right: 2.13333vw;
    width: 1.6vw;
    height: 2.66667vw
  }
}
footer .btn:hover {
  background-color: #16294a
}
footer .btn:hover span {
  color: #fff
}
footer .btn:hover:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%226px%22%20height%3D%2210px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(255%2C%20255%2C%20255)%22%20d%3D%22M1.009%2C9.999%20L5.420%2C5.257%20L1.009%2C0.514%20L-0.000%2C1.584%20L3.416%2C5.257%20L-0.000%2C8.929%20L1.009%2C9.999%20Z%22%2F%3E%3C%2Fsvg%3E")
}
footer .btn span {
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 1.2px;
  letter-spacing: 0.08rem;
  color: #16294a
}
@media (max-width: 1280px) {
  footer .btn span {
    font-size: 0.72917vw
  }
}
@media (max-width: 750px) {
  footer .btn span {
    font-size: 3.46667vw
  }
}
footer .copy {
  display: block;
  margin-top: 100px;
  font-size: 13px;
  font-weight: 200;
  text-align: center
}
@media (max-width: 1280px) {
  footer .copy {
    margin-top: 5.20833vw;
    font-size: 0.67708vw
  }
}
@media (max-width: 750px) {
  footer .copy {
    margin-top: 8vw;
    font-size: 2.66667vw
  }
}

.banner {
    text-align: center;
    margin-bottom: 150px;
}
.banner img{
    max-width: 100%;
    height: auto;
    transition: 0.3s ease;
}
.banner img:hover{
    opacity: 0.8;
}
@media (max-width: 750px) {
.banner {
    margin-bottom: 60px;
}
}
.address_text_box {
  display: grid;
  gap: 15px;
}
.address-flex input {
  max-width: 200px;
}
.address-flex p {
  display: flex;
  align-items: center;
  gap: 10px;
}

.pull_down {
  border: unset;
  width: 100%;
  max-width: 500px;
  /* height: 60px; */
  color: #7d7d7d;
  font-size: 15px;
  padding: 15px 8px;
  background-color: #eee;
}

@media only screen and (max-width: 740px) {
.pull_down {
  padding: 1.33333vw 0.8vw;
}
}

/*# sourceMappingURL=../sourcemaps/style.css.map */
