@charset "UTF-8";
.fm {
  font-family: 游明朝, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, Sawarabi Mincho, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
  font-weight: 600
}

.fa:not(.fa-external-link) {
  font-family: Abril Fatface, cursive
}

.fa, .fo {
  font-weight: 400
}

.fo {
  font-family: Oswald, sans-serif
}

.android .fm {
  font-family: Sawarabi Mincho
}

.cb {
  color: #005882
}

.cp {
  color: #e60564
}

.cy {
  color: #f5ff00
}

.clp {
  color: #ff00bf
}

.mobile {
  display: none
}

@media screen and (max-width:768px) {
  .mobile {
    display: block
  }
}

@media screen and (max-width:768px) {
  .desktop {
    display: none!important
  }
}

abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  background: 0 0;
  box-sizing: border-box;
  font: inherit;
  vertical-align: baseline;
  outline: 0;
  word-break: break-word;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt"
}

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

html {
  font-size: 62.5%
}

body {
  width: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  color: #005882;
  font-size: 1.6rem;
  font-family: 游ゴシック, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, sans-serif;
  font-weight: 500;
  word-wrap: break-word;
  line-height: 1;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt"
}

@media screen and (max-width:768px) {
  body {
    font-size: 1.4rem
  }
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  box-sizing: border-box;
  background: 0 0;
  text-decoration: none;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
  color: #005882
}

a:hover {
  -webkit-transform: translateY(2px);
  transform: translateY(2px)
}

ol, ul {
  list-style: none
}

blockquote, q {
  quotes: none
}

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

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

ins {
  text-decoration: none
}

ins, mark {
  background-color: #ff9;
  color: #000
}

mark {
  font-style: italic;
  font-weight: 700
}

del {
  text-decoration: line-through
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0
}

input, select {
  vertical-align: middle
}

input[type=email], input[type=submit], input[type=tel], input[type=text], select {
  width: 100%;
  height: 40px;
  padding: 0 1em;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  cursor: pointer;
  border-radius: 50px;
  box-shadow: none;
  border: none;
  background: #e6f2f8;
  -webkit-transition: all .4s ease;
  transition: all .4s ease;
  box-sizing: border-box;
  font-size: 1.6rem;
  color: #005882
}

@media screen and (max-width:768px) {
  input[type=email], input[type=submit], input[type=tel], input[type=text], select {
    border-radius: 5px;
    font-size: 16px
  }
}

input[type=email]:focus, input[type=submit]:focus, input[type=tel]:focus, input[type=text]:focus, select:focus {
  outline: 0;
  box-shadow: 0 0 3px #e3d6cf
}

select {
  border: none
}

.select-box {
  position: relative;
  border-radius: 50px;
  background: #e6f2f8
}

.select-box select {
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: buttnoneon;
}

.select-box:after {
  content: "\f107";
  position: absolute;
  top: 10px;
  right: 20px;
  font-family: Font Awesome\ 5 free;
  font-weight: 900;
  font-size: 2rem;
  color: #005882
}

.oa {
  overflow: auto
}

.oh {
  overflow: hidden
}

.ti {
  text-indent: -9999px
}

.db {
  display: block
}

.dib {
  display: inline-block
}

.dn {
  display: none
}

.di {
  display: inline
}

.dtc {
  display: table-cell;
  vertical-align: top
}

.flL {
  float: left
}

.flR {
  float: right
}

.clr {
  clear: both
}

.clr_after:after {
  content: "";
  clear: both;
  display: table
}

.tal {
  text-align: left
}

.tar {
  text-align: right
}

.tac {
  text-align: center
}

.vat {
  vertical-align: top
}

.vam {
  vertical-align: middle
}

.vab {
  vertical-align: bottom
}

.vabl {
  vertical-align: baseline
}

.fz12 {
  font-size: 12px
}

.fz16 {
  font-size: 16px
}

.fz18 {
  font-size: 18px
}

.fwb {
  font-weight: 700
}

.m00 {
  margin: 0
}

.p00 {
  padding: 0
}

.m05 {
  margin: 5px
}

.p05 {
  padding: 5px
}

.m10 {
  margin: 10px
}

.p10 {
  padding: 10px
}

.m15 {
  margin: 15px
}

.p15 {
  padding: 15px
}

.m20 {
  margin: 20px
}

.p20 {
  padding: 20px
}

.m25 {
  margin: 25px
}

.p25 {
  padding: 25px
}

.m30 {
  margin: 30px
}

.p30 {
  padding: 30px
}

.m35 {
  margin: 35px
}

.p35 {
  padding: 35px
}

.m40 {
  margin: 40px
}

.p40 {
  padding: 40px
}

.m45 {
  margin: 45px
}

.p45 {
  padding: 45px
}

.m50 {
  margin: 50px
}

.p50 {
  padding: 50px
}

.m55 {
  margin: 55px
}

.p55 {
  padding: 55px
}

.m60 {
  margin: 60px
}

.p60 {
  padding: 60px
}

.m65 {
  margin: 65px
}

.p65 {
  padding: 65px
}

.m70 {
  margin: 70px
}

.p70 {
  padding: 70px
}

.m75 {
  margin: 75px
}

.p75 {
  padding: 75px
}

.m80 {
  margin: 80px
}

.p80 {
  padding: 80px
}

.m85 {
  margin: 85px
}

.p85 {
  padding: 85px
}

.m90 {
  margin: 90px
}

.p90 {
  padding: 90px
}

.m95 {
  margin: 95px
}

.p95 {
  padding: 95px
}

.m100 {
  margin: 100px
}

.p100 {
  padding: 100px
}

.mt00 {
  margin-top: 0
}

.pt00 {
  padding-top: 0
}

.mt05 {
  margin-top: 5px
}

.pt05 {
  padding-top: 5px
}

.mt10 {
  margin-top: 10px
}

.pt10 {
  padding-top: 10px
}

.mt15 {
  margin-top: 15px
}

.pt15 {
  padding-top: 15px
}

.mt20 {
  margin-top: 20px
}

.pt20 {
  padding-top: 20px
}

.mt25 {
  margin-top: 25px
}

.pt25 {
  padding-top: 25px
}

.mt30 {
  margin-top: 30px
}

.pt30 {
  padding-top: 30px
}

.mt35 {
  margin-top: 35px
}

.pt35 {
  padding-top: 35px
}

.mt40 {
  margin-top: 40px
}

.pt40 {
  padding-top: 40px
}

.mt45 {
  margin-top: 45px
}

.pt45 {
  padding-top: 45px
}

.mt50 {
  margin-top: 50px
}

.pt50 {
  padding-top: 50px
}

.mt55 {
  margin-top: 55px
}

.pt55 {
  padding-top: 55px
}

.mt60 {
  margin-top: 60px
}

.pt60 {
  padding-top: 60px
}

.mt65 {
  margin-top: 65px
}

.pt65 {
  padding-top: 65px
}

.mt70 {
  margin-top: 70px
}

.pt70 {
  padding-top: 70px
}

.mt75 {
  margin-top: 75px
}

.pt75 {
  padding-top: 75px
}

.mt80 {
  margin-top: 80px
}

.pt80 {
  padding-top: 80px
}

.mt85 {
  margin-top: 85px
}

.pt85 {
  padding-top: 85px
}

.mt90 {
  margin-top: 90px
}

.pt90 {
  padding-top: 90px
}

.mt95 {
  margin-top: 95px
}

.pt95 {
  padding-top: 95px
}

.mt100 {
  margin-top: 100px
}

.pt100 {
  padding-top: 100px
}

.mb00 {
  margin-bottom: 0
}

.pb00 {
  padding-bottom: 0
}

.mb05 {
  margin-bottom: 5px
}

.pb05 {
  padding-bottom: 5px
}

.mb10 {
  margin-bottom: 10px
}

.pb10 {
  padding-bottom: 10px
}

.mb15 {
  margin-bottom: 15px
}

.pb15 {
  padding-bottom: 15px
}

.mb20 {
  margin-bottom: 20px
}

.pb20 {
  padding-bottom: 20px
}

.mb25 {
  margin-bottom: 25px
}

.pb25 {
  padding-bottom: 25px
}

.mb30 {
  margin-bottom: 30px
}

.pb30 {
  padding-bottom: 30px
}

.mb35 {
  margin-bottom: 35px
}

.pb35 {
  padding-bottom: 35px
}

.mb40 {
  margin-bottom: 40px
}

.pb40 {
  padding-bottom: 40px
}

.mb45 {
  margin-bottom: 45px
}

.pb45 {
  padding-bottom: 45px
}

.mb50 {
  margin-bottom: 50px
}

.pb50 {
  padding-bottom: 50px
}

.mb55 {
  margin-bottom: 55px
}

.pb55 {
  padding-bottom: 55px
}

.mb60 {
  margin-bottom: 60px
}

.pb60 {
  padding-bottom: 60px
}

.mb65 {
  margin-bottom: 65px
}

.pb65 {
  padding-bottom: 65px
}

.mb70 {
  margin-bottom: 70px
}

.pb70 {
  padding-bottom: 70px
}

.mb75 {
  margin-bottom: 75px
}

.pb75 {
  padding-bottom: 75px
}

.mb80 {
  margin-bottom: 80px
}

.pb80 {
  padding-bottom: 80px
}

.mb85 {
  margin-bottom: 85px
}

.pb85 {
  padding-bottom: 85px
}

.mb90 {
  margin-bottom: 90px
}

.pb90 {
  padding-bottom: 90px
}

.mb95 {
  margin-bottom: 95px
}

.pb95 {
  padding-bottom: 95px
}

.mb100 {
  margin-bottom: 100px
}

.pb100 {
  padding-bottom: 100px
}

.ml00 {
  margin-left: 0
}

.pl00 {
  padding-left: 0
}

.ml05 {
  margin-left: 5px
}

.pl05 {
  padding-left: 5px
}

.ml10 {
  margin-left: 10px
}

.pl10 {
  padding-left: 10px
}

.ml15 {
  margin-left: 15px
}

.pl15 {
  padding-left: 15px
}

.ml20 {
  margin-left: 20px
}

.pl20 {
  padding-left: 20px
}

.ml25 {
  margin-left: 25px
}

.pl25 {
  padding-left: 25px
}

.ml30 {
  margin-left: 30px
}

.pl30 {
  padding-left: 30px
}

.ml35 {
  margin-left: 35px
}

.pl35 {
  padding-left: 35px
}

.ml40 {
  margin-left: 40px
}

.pl40 {
  padding-left: 40px
}

.ml45 {
  margin-left: 45px
}

.pl45 {
  padding-left: 45px
}

.ml50 {
  margin-left: 50px
}

.pl50 {
  padding-left: 50px
}

.ml55 {
  margin-left: 55px
}

.pl55 {
  padding-left: 55px
}

.ml60 {
  margin-left: 60px
}

.pl60 {
  padding-left: 60px
}

.ml65 {
  margin-left: 65px
}

.pl65 {
  padding-left: 65px
}

.ml70 {
  margin-left: 70px
}

.pl70 {
  padding-left: 70px
}

.ml75 {
  margin-left: 75px
}

.pl75 {
  padding-left: 75px
}

.ml80 {
  margin-left: 80px
}

.pl80 {
  padding-left: 80px
}

.ml85 {
  margin-left: 85px
}

.pl85 {
  padding-left: 85px
}

.ml90 {
  margin-left: 90px
}

.pl90 {
  padding-left: 90px
}

.ml95 {
  margin-left: 95px
}

.pl95 {
  padding-left: 95px
}

.ml100 {
  margin-left: 100px
}

.pl100 {
  padding-left: 100px
}

.mr00 {
  margin-right: 0
}

.pr00 {
  padding-right: 0
}

.mr05 {
  margin-right: 5px
}

.pr05 {
  padding-right: 5px
}

.mr10 {
  margin-right: 10px
}

.pr10 {
  padding-right: 10px
}

.mr15 {
  margin-right: 15px
}

.pr15 {
  padding-right: 15px
}

.mr20 {
  margin-right: 20px
}

.pr20 {
  padding-right: 20px
}

.mr25 {
  margin-right: 25px
}

.pr25 {
  padding-right: 25px
}

.mr30 {
  margin-right: 30px
}

.pr30 {
  padding-right: 30px
}

.mr35 {
  margin-right: 35px
}

.pr35 {
  padding-right: 35px
}

.mr40 {
  margin-right: 40px
}

.pr40 {
  padding-right: 40px
}

.mr45 {
  margin-right: 45px
}

.pr45 {
  padding-right: 45px
}

.mr50 {
  margin-right: 50px
}

.pr50 {
  padding-right: 50px
}

.mr55 {
  margin-right: 55px
}

.pr55 {
  padding-right: 55px
}

.mr60 {
  margin-right: 60px
}

.pr60 {
  padding-right: 60px
}

.mr65 {
  margin-right: 65px
}

.pr65 {
  padding-right: 65px
}

.mr70 {
  margin-right: 70px
}

.pr70 {
  padding-right: 70px
}

.mr75 {
  margin-right: 75px
}

.pr75 {
  padding-right: 75px
}

.mr80 {
  margin-right: 80px
}

.pr80 {
  padding-right: 80px
}

.mr85 {
  margin-right: 85px
}

.pr85 {
  padding-right: 85px
}

.mr90 {
  margin-right: 90px
}

.pr90 {
  padding-right: 90px
}

.mr95 {
  margin-right: 95px
}

.pr95 {
  padding-right: 95px
}

.mr100 {
  margin-right: 100px
}

.pr100 {
  padding-right: 100px
}

.bdn {
  border: none
}

.bdtn {
  border-top: none
}

.bdrn {
  border-right: none
}

.bdbn {
  border-bottom: none
}

.bdln {
  border-left: none
}

.por {
  position: relative
}

.poa {
  position: absolute
}

.pof {
  position: fixed
}

.flex-wrap {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around
}

.flex-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  flex-direction: row
}

.underline>span {
  display: inline-block;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(40%, #ff0));
  background: linear-gradient(180deg, transparent 60%, #ff0 0)
}

.circle {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  width: 133px;
  height: 133px;
  border-radius: 50%;
  background: #00324a;
  font-family: Abril Fatface, cursive;
  color: #fff
}

@media screen and (max-width:768px) {
  .circle {
    width: 67px;
    height: 67px;
    font-size: .9rem;
    -webkit-transform: scale(.7);
    transform: scale(.7)
  }
}

.en {
  font-family: Abril Fatface, cursive
}

@media screen and (max-width:768px) {
  .en {
    font-size: 1.1rem
  }
}

.container {
  position: relative;
  z-index: 10;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  max-width: 1500px;
  min-width: 1260px;
  width: 100%;
  margin: auto
}

@media screen and (max-width:1440px) {
  .container {
    padding: 0 50px
  }
}

@media screen and (max-width:768px) {
  .container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    min-width: 0;
    max-width: 1260px;
    padding: 0 15px
  }
}

.dt {
  display: table;
  max-width: 1500px;
  min-width: 1260px;
  width: 100%;
  margin: auto;
  border-collapse: collapse
}

@media screen and (max-width:1440px) {
  .dt {
    width: calc(100% - 100px)
  }
}

@media screen and (max-width:768px) {
  .dt {
    display: block;
    min-width: 0;
    max-width: 1260px;
    width: 100%;
    padding: 0 15px
  }
}

.dtr {
  display: table-row
}

.sec {
  position: relative;
  padding: 80px 0
}

@media screen and (max-width:768px) {
  .sec {
    padding: 35px 0
  }
}

.sec-title {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  margin-bottom: 50px;
  text-align: center
}

@media screen and (max-width:768px) {
  .sec-title {
    margin-bottom: 20px
  }
}

.sec-title .en {
  font-size: 1.8rem
}

@media screen and (max-width:768px) {
  .sec-title .en {
    margin-bottom: 10px;
    font-size: calc(40% + 2vw)
  }
}

.sec-title .jp {
  font-size: 4rem
}

@media screen and (max-width:768px) {
  .sec-title .jp {
    font-size: calc(70% + 3vw);
    line-height: 1.2
  }
}

.sec-title .jp .large {
  font-size: 8rem
}

@media screen and (max-width:768px) {
  .sec-title .jp .large {
    font-size: calc(90% + 3vw)
  }
}

.sec-title .line {
  position: relative;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  margin: 5px 0 30px
}

@media screen and (max-width:768px) {
  .sec-title .line {
    margin-bottom: 15px
  }
}

.sec-title .line:after, .sec-title .line:before {
  content: "";
  display: block;
  width: calc(50% - 15px);
  height: 4px;
  background: #0181bf
}

@media screen and (max-width:768px) {
  .sec-title .line:after, .sec-title .line:before {
    width: calc(50% - 10px);
    height: 3px
  }
}

.sec-title .line-inner {
  -webkit-transform: rotate(-45deg) translate(1.5px, 1.5px);
  transform: rotate(-45deg) translate(1.5px, 1.5px);
  -webkit-transform-origin: right top;
  transform-origin: right top;
  display: block;
  width: 25px;
  height: 4px;
  background: #0181bf
}

@media screen and (max-width:768px) {
  .sec-title .line-inner {
    -webkit-transform: rotate(-45deg) translate(0);
    transform: rotate(-45deg) translate(0);
    width: 20px;
    height: 3px
  }
}

.link {
  position: absolute;
  top: -40px;
  left: 0
}

.header {
  padding: 35px 0
}

@media screen and (max-width:768px) {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    align-items: center;
    width: 100%;
    height: 40px;
    padding: 0;
    background: #fff
  }
}

.header-logo {
  margin-bottom: 25px;
  text-align: center
}

@media screen and (max-width:768px) {
  .header-logo {
    width: 110px;
    margin: 0 0 0 15px
  }
}

@media screen and (max-width:768px) {
  .header-logo img {
    width: 100%
  }
}

.gnav {
  width: 1000px;
  margin: auto
}

@media screen and (max-width:768px) {
  .gnav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 0 20px;
    background: #0181bf;
    -webkit-transition: all .4s ease;
    transition: all .4s ease;
    -webkit-transform: translateY(-120%);
    transform: translateY(-120%)
  }
}

@media screen and (max-width:768px) {
  .gnav.is-shown {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

.gnav a {
  font-size: 20px;
  font-weight: 700
}

@media screen and (max-width:768px) {
  .gnav a {
    display: block;
    padding: 20px 0;
    border-bottom: 1px dotted #fff;
    font-size: 1.6rem;
    color: #fff;
    text-align: center
  }
}

@media screen and (max-width:768px) {
  .gnav li:last-child a {
    border-bottom: none
  }
}

@media screen and (max-width:768px) {
  .gnav .flex-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    width: 100%
  }
}

.toggle {
  position: relative;
  z-index: 10;
  display: none;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  width: 40px;
  height: 40px;
  background: #0181bf
}

@media screen and (max-width:768px) {
  .toggle {
    display: -webkit-box;
    display: flex
  }
}

.toggle span {
  display: block;
  width: 15px;
  height: 2px;
  margin-bottom: 3px;
  background: #fff;
  -webkit-transition: all .4s ease;
  transition: all .4s ease;
  text-align: center
}

.toggle span:nth-child(3) {
  margin-bottom: 0
}

.toggle.is-active span {
  width: 26px;
  height: 1px;
  margin-bottom: 0
}

.toggle.is-active span:first-child {
  -webkit-transform: rotate(45deg) translateY(1px);
  transform: rotate(45deg) translateY(1px)
}

.toggle.is-active span:nth-child(2) {
  -webkit-transform: rotate(-45deg) translateY(-1px);
  transform: rotate(-45deg) translateY(-1px)
}

.toggle.is-active span:nth-child(3) {
  display: none
}

.cv {
  padding: 60px 0;
  border-color: #fff;
  border-style: solid;
  border-width: 40px 30px;
  background: #f5ff00;
  text-align: center
}

@media screen and (max-width:768px) {
  .cv {
    padding: 20px 15px;
    border-width: 15px;
    line-height: 1.2
  }
}

.cv-title {
  margin-bottom: 20px;
  font-size: 4rem;
  font-weight: 400
}

@media screen and (max-width:768px) {
  .cv-title {
    margin-bottom: 5px;
    font-size: calc(80% + 3vw)
  }
}

.cv-p {
  margin-bottom: 50px;
  font-size: 2rem;
  font-weight: 700
}

@media screen and (max-width:768px) {
  .cv-p {
    margin-bottom: 20px;
    font-size: calc(30% + 2.5vw)
  }
}

.cv-btn {
  position: relative;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  width: 800px;
  height: 120px;
  margin: auto;
  padding-left: 40px;
  border-radius: 200px;
  box-shadow: 0 8px 0 rgba(0, 0, 0, .35);
  background: #e60564;
  font-size: 5rem;
  font-weight: 700;
  color: #fff;
  text-align: center
}

@media screen and (max-width:768px) {
  .cv-btn {
    width: 100%;
    height: auto;
    padding: 20px 0 15px;
    box-shadow: 0 4px 0 rgba(0, 0, 0, .35);
    font-size: calc(70% + 3vw)
  }
}

.cv-circle {
  position: absolute;
  top: -30px;
  left: 50px;
  padding-top: 10px;
  font-size: 1.85rem;
  line-height: 1.4
}

@media screen and (max-width:768px) {
  .cv-circle {
    top: -9px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 57%;
    height: auto;
    padding: 6px 20px;
    border-radius: 20px;
    font-size: calc(20% + 2vw);
    line-height: 1
  }
  .cv-circle br {
    display: none
  }
}

@media screen and (max-width:768px) {
  .main {
    padding-top: 40px
  }
}

.keyvisual-wrap {
  position: relative;
  padding: 25px 0;
  background: url(../img/keyvisual.jpg) center 0/cover no-repeat
}

@media screen and (max-width:768px) {
  .keyvisual-wrap {
    padding-bottom: 40px
  }
}

.keyvisual-copy {
  width: 1200px;
  margin: auto
}

@media screen and (max-width:768px) {
  .keyvisual-copy {
    width: 50%;
    margin: 0 0 0 15px
  }
}

@media screen and (max-width:768px) {
  .keyvisual-copy img {
    width: 100%
  }
}

.keyvisual .cv-btn {
  position: absolute;
  bottom: 30px;
  right: 30px;
  width: 465px;
  height: 80px;
  padding: 0 120px 0 0;
  font-size: 3.3rem
}

@media screen and (max-width:768px) {
  .keyvisual .cv-btn {
    bottom: 44px;
    right: 15px;
    width: 45%;
    height: auto;
    padding: 10px 40px 10px 10px;
    box-shadow: 0 2px 0 rgba(0, 0, 0, .35);
    border-radius: 5px;
    font-size: calc(40% + 2vw)
  }
}

.keyvisual .cv-circle {
  top: auto;
  left: auto;
  bottom: 20px;
  right: 20px;
  background: #f5ff00;
  color: #002674
}

@media screen and (max-width:768px) {
  .keyvisual .cv-circle {
    top: -40px;
    right: -25px;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    padding: 10px 0 0;
    font-size: .9rem
  }
}

@media screen and (max-width:768px) {
  .keyvisual .cv-circle br {
    display: block
  }
}

.keyvisual-point {
  -webkit-box-pack: justify;
  justify-content: space-between;
  min-width: 1260px;
  width: 100%;
  padding: 25px 30px 15px;
  background: #f5ff00
}

@media screen and (max-width:768px) {
  .keyvisual-point {
    position: relative;
    z-index: 5;
    min-width: 0;
    padding: 0 15px 15px
  }
}

.keyvisual-point li {
  width: 32.5%
}

@media screen and (max-width:768px) {
  .keyvisual-point li {
    width: 100%;
    margin-bottom: 20px
  }
}

@media screen and (max-width:768px) {
  .keyvisual-point li:first-child {
    margin-top: -20px
  }
}

@media screen and (max-width:768px) {
  .keyvisual-point li:last-child {
    margin-bottom: 0
  }
}

.keyvisual-point dl {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  padding-bottom: 16px;
  background: #fff;
  font-size: 1.9rem
}

@media screen and (max-width:768px) {
  .keyvisual-point dl {
    padding-bottom: 15px;
    font-size: calc(40% + 2vw)
  }
}

.keyvisual-point dt {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  padding: 13px 40px 8px;
  border-radius: 100px;
  background: #005882;
  color: #fff;
  line-height: .8;
  margin: -10px 0 15px
}

@media screen and (max-width:768px) {
  .keyvisual-point dt {
    margin: -10px 0 7px;
    padding: 6px 25px;
    font-size: calc(20% + 2vw)
  }
}

.keyvisual-point dd {
  font-weight: 700;
  color: #002674;
  text-align: center;
  line-height: 1.4
}

.sec1 {
  z-index: 5
}

.sec1-list {
  -webkit-box-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%
}

.sec1 li {
  position: relative;
  width: 24%;
  height: 205px;
  margin-bottom: 25px;
  padding: 30px 2%;
  background: #0181bf;
  color: #fff;
  overflow: hidden
}

@media screen and (max-width:768px) {
  .sec1 li {
    width: 100%;
    min-height: 100px;
    height: auto;
    margin-bottom: 10px;
    padding: 15px 25px
  }
}

@media screen and (max-width:768px) {
  .sec1 li:last-child {
    margin-bottom: 30px
  }
}

.sec1 .fa {
  font-size: 1.8rem
}

@media screen and (max-width:768px) {
  .sec1 .fa {
    font-size: calc(40% + 2vw)
  }
}

.sec1 .fo {
  margin-left: 10px;
  font-size: 3.2rem
}

@media screen and (max-width:768px) {
  .sec1 .fo {
    margin-left: 5px;
    font-size: calc(80% + 3vw)
  }
}

.sec1 dd {
  margin-top: 20px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4
}

@media screen and (max-width:1440px) {
  .sec1 dd {
    font-size: 1.6rem
  }
}

@media screen and (max-width:768px) {
  .sec1 dd {
    margin-top: 10px;
    font-size: calc(50% + 2vw);
    line-height: 1.2
  }
}

.sec1 dd.r2 {
  margin-top: 30px
}

@media screen and (max-width:768px) {
  .sec1 dd.r2 {
    margin-top: 10px
  }
}

.sec1 dd.r4 {
  margin-top: 10px
}

.sec1 img {
  position: absolute;
  top: 30px;
  right: 10px
}

@media screen and (max-width:1440px) {
  .sec1 img {
    right: -10px
  }
}

@media screen and (max-width:768px) {
  .sec1 img {
    top: 10px;
    right: 15px;
    width: 15%
  }
}

.sec1 p {
  width: 100%;
  text-align: center
}

.sec1-strong {
  margin-bottom: 20px
}

@media screen and (max-width:768px) {
  .sec1-strong {
    margin-bottom: 10px
  }
}

.sec1-strong span {
  display: block
}

.sec1-strong .cp {
  padding: 30px 0 20px;
  font-size: 7.7rem
}

@media screen and (max-width:768px) {
  .sec1-strong .cp {
    padding: 0 0 10px;
    font-size: calc(80% + 3vw);
    font-weight: 400
  }
}

.sec1-strong .small {
  font-size: 2.6rem;
  font-weight: 700
}

@media screen and (max-width:768px) {
  .sec1-strong .small {
    font-size: calc(20% + 3vw)
  }
}

.sec1-p {
  margin-bottom: 30px;
  font-size: 3.9rem;
  font-weight: 700
}

@media screen and (max-width:768px) {
  .sec1-p {
    margin-bottom: 0;
    font-size: calc(70% + 3vw)
  }
}

.sec1-bottom {
  background: url(../img/sec1-bottom.svg) center -100px/100% 208px no-repeat
}

.sec1-bottom .circle {
  width: 208px;
  height: 208px;
  margin: auto;
  font-size: 3.1rem;
  font-family: 游明朝, YuMincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, Sawarabi Mincho, ＭＳ Ｐ明朝, ＭＳ 明朝, serif;
  font-weight: 700;
  line-height: 1.2;
  color: #f5ff00
}

@media screen and (max-width:768px) {
  .sec1-bottom .circle {
    width: 150px;
    height: 150px;
    font-size: 2.2rem
  }
}

@media screen and (max-width:1440px) {
  .sec1 li:nth-of-type(6) img {
    right: 10px
  }
}

@media screen and (max-width:768px) {
  .sec1 li:nth-of-type(3) img, .sec1 li:nth-of-type(4) img, .sec1 li:nth-of-type(5) img {
    top: auto;
    bottom: 0
  }
}

.sec2 {
  margin-top: -250px;
  padding-top: 220px;
  background: #e6f2f8;
  color: #002674
}

@media screen and (max-width:768px) {
  .sec2 {
    margin-top: -150px;
    padding-top: 130px
  }
}

.sec2 .dt {
  margin-bottom: 1px
}

.sec2-box {
  display: table-cell;
  padding: 50px;
  border-right: 1px solid #fff;
  border-left: 1px solid #fff;
  background: #0181bf;
  color: #fff;
  text-align: center
}

@media screen and (max-width:768px) {
  .sec2-box {
    display: block;
    width: 100%;
    padding: 20px 20px 15px;
    border: none;
    border-bottom: 1px solid #fff
  }
}

.sec2-title {
  margin-bottom: 20px;
  text-align: center
}

@media screen and (max-width:768px) {
  .sec2-title {
    margin-bottom: 0
  }
}

.sec2-title span {
  display: block
}

.sec2-title .fa {
  font-size: 1.8rem
}

@media screen and (max-width:768px) {
  .sec2-title .fa {
    font-size: calc(20% + 2vw)
  }
}

.sec2-title .fo {
  font-size: 7.6rem
}

@media screen and (max-width:768px) {
  .sec2-title .fo {
    font-size: calc(100% + 8vw)
  }
}

.sec2-img {
  margin: 0 auto 20px;
  background: #fff
}

@media screen and (max-width:768px) {
  .sec2-img {
    width: 100px;
    height: 100px;
    margin-bottom: 0
  }
}

@media screen and (max-width:768px) {
  .sec2-img img {
    width: 40%
  }
}

.sec2-subtitle {
  margin-bottom: 20px;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.4
}

@media screen and (max-width:768px) {
  .sec2-subtitle {
    margin-bottom: 10px;
    font-size: calc(40% + 3vw)
  }
}

.sec2-p {
  font-weight: 700;
  text-align: left;
  line-height: 1.6
}

@media screen and (max-width:768px) {
  .sec2-p {
    font-weight: 400
  }
}

@media screen and (max-width:768px) {
  .sec2 .first {
    border-radius: 10px 10px 0 0
  }
}

@media screen and (max-width:768px) {
  .sec2 .last {
    border-radius: 0 0 10px 10px
  }
}

.sec3 {
  padding-bottom: 0;
  background: #e6f2f8;
  color: #002674
}

@media screen and (max-width:768px) {
  .sec3 {
    padding-bottom: 30px
  }
}

.sec3 .sec-title {
  margin-bottom: 120px
}

@media screen and (max-width:768px) {
  .sec3 .sec-title {
    margin-bottom: 0
  }
}

.sec3-box {
  width: 30%;
  margin: 0 0 120px 15px;
  background: #0181bf;
  color: #fff;
  text-align: center;
  line-height: 1.4
}

@media screen and (max-width:768px) {
  .sec3-box {
    width: 100%;
    margin: 60px 0 0;
    padding-top: 15px;
    background: 0 0
  }
}

.sec3-box .fa {
  top: -80px;
  left: 0;
  z-index: 5;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 3.8rem;
  color: #fff
}

@media screen and (max-width:768px) {
  .sec3-box .fa {
    top: -45px;
    left: 10px;
    font-size: calc(100% + 4vw)
  }
}

.sec3-box-img {
  margin: -70px 0 25px;
  -webkit-transform: translateX(-15px);
  transform: translateX(-15px)
}

@media screen and (max-width:768px) {
  .sec3-box-img {
    width: calc(100% - 10px);
    margin: -50px 0 20px;
    -webkit-transform: none;
    transform: none
  }
}

.sec3-box-img img {
  width: 100%
}

.sec3-box h4, .sec3-box h5 {
  font-weight: 700;
  text-align: center
}

.sec3-box h4 {
  margin-bottom: 20px;
  font-size: 2.6rem
}

@media screen and (max-width:768px) {
  .sec3-box h4 {
    margin-bottom: 10px;
    font-size: calc(50% + 3vw)
  }
}

.sec3-box h4.r1 {
  padding: .7em 0
}

@media screen and (max-width:768px) {
  .sec3-box h4.r1 {
    padding: 0
  }
}

.sec3-box h5 {
  margin-bottom: 25px
}

@media screen and (max-width:768px) {
  .sec3-box h5 {
    margin-bottom: 10px
  }
}

.sec3-box p {
  padding: 0 40px 40px;
  text-align: left;
  line-height: 1.8
}

@media screen and (max-width:768px) {
  .sec3-box:after {
    content: "";
    position: absolute;
    top: 0;
    left: 10px;
    display: block;
    width: calc(100% - 10px);
    height: 100%;
    background: #0181bf;
    z-index: -1
  }
}

.sec3 .slick-arrow {
  position: absolute;
  top: 35%;
  z-index: 7777;
  width: 35px;
  height: 100px;
  border: none;
  background: #e60564;
  font-size: 2rem;
  color: #fff;
  outline: 0
}

.sec3 .slick-prev {
  left: 0
}

.sec3 .slick-next {
  right: 0
}

.sec4 {
  padding-bottom: 0
}

.sec4-box1 {
  min-width: 1260px;
  width: 100%
}

@media screen and (max-width:768px) {
  .sec4-box1 {
    min-width: 0
  }
}

.sec4-box1-child {
  flex-wrap: nowrap;
  -webkit-box-align: center;
  align-items: center;
  width: 50%;
  height: 210px;
  padding: 0 20px;
  color: #fff
}

@media screen and (max-width:768px) {
  .sec4-box1-child {
    width: 100%;
    height: auto;
    padding: 25px 15px
  }
}

.sec4-box1-child:first-of-type {
  background: url(../img/sec4-img1.png) 0 0/cover no-repeat
}

.sec4-box1-child:nth-of-type(2) {
  background: url(../img/sec4-img2.png) 0 0/cover no-repeat
}

.sec4-box1-child:nth-of-type(2) h3 {
  -webkit-box-ordinal-group: 3;
  order: 2;
  text-align: right
}

.sec4-box1-child:nth-of-type(2) ul {
  -webkit-box-ordinal-group: 2;
  order: 1
}

.sec4-box1 h3 {
  width: 2em;
  font-size: 9.2rem
}

@media screen and (max-width:768px) {
  .sec4-box1 h3 {
    width: 3em;
    font-size: calc(120% + 6vw)
  }
}

.sec4-box1 ul {
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  max-width: 540px;
  width: 100%;
  padding: 30px 0;
  border: 4px solid #fff;
  font-size: 2.6rem;
  font-weight: 700
}

@media screen and (max-width:768px) {
  .sec4-box1 ul {
    padding: 15px 0;
    border-width: 2px;
    font-size: calc(50% + 2vw)
  }
}

.sec4-box1 li {
  margin: 0 3px
}

.sec4-box2 {
  padding: 70px 0 0;
  background: url(../img/sec4-img3.png) 0 0/200px no-repeat, url(../img/sec4-img4.png) 100% 0/200px no-repeat
}

@media screen and (max-width:768px) {
  .sec4-box2 {
    padding-top: 30px;
    background-size: 16%
  }
}

.sec4-box2-head {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center
}

.sec4-box2 h3 {
  margin-bottom: 60px;
  padding-bottom: 20px;
  background: url(../img/sec4-line.png) 0 100% repeat-x;
  font-size: 6.7rem;
  text-align: center
}

@media screen and (max-width:768px) {
  .sec4-box2 h3 {
    margin-bottom: 10px;
    background: 0 0;
    font-size: calc(110% + 4vw);
    line-height: 1.3
  }
}

.sec4-box2 h3 .small {
  font-size: 4.7rem
}

@media screen and (max-width:768px) {
  .sec4-box2 h3 .small {
    font-size: calc(40% + 2vw)
  }
}

@media screen and (max-width:768px) {
  .sec4-box2 h3 .line {
    background: url(../img/sec4-line.png) 0 100%/20px repeat-x
  }
}

.sec4-box2 li {
  width: 25%;
  text-align: center
}

@media screen and (max-width:768px) {
  .sec4-box2 li {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    width: 50%;
    margin-bottom: 25px
  }
}

.sec4-box2 li:nth-of-type(3), .sec4-box2 li:nth-of-type(4) {
  margin-bottom: 0
}

.sec4-box2 li h4 {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-align: center;
  align-items: center;
  margin-bottom: 20px
}

@media screen and (max-width:768px) {
  .sec4-box2 li h4 {
    margin-bottom: 0
  }
}

.sec4-box2 li h4 .underline {
  margin-bottom: 10px;
  font-size: 3.8rem;
  font-weight: 700
}

@media screen and (max-width:768px) {
  .sec4-box2 li h4 .underline {
    margin-bottom: 5px;
    font-size: calc(80% + 3vw)
  }
}

.sec4-box2 li h4 .normal {
  font-size: 1.8rem
}

@media screen and (max-width:768px) {
  .sec4-box2 li h4 .normal {
    font-size: calc(40% + 2vw)
  }
}

.sec4-box2 li p {
  padding: 0 16%;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.8;
  text-align: left
}

@media screen and (max-width:768px) {
  .sec4-box2 li p {
    padding: 10px;
    font-size: 1.3rem;
    line-height: 1.6
  }
}

.sec4-box2 li .baloon {
  width: 90%;
  margin-bottom: 30px
}

@media screen and (max-width:768px) {
  .sec4-box2 li .baloon {
    margin: 0 auto 10px
  }
}

@media screen and (max-width:768px) {
  .sec4-box2 li .photo {
    width: 70%;
    margin: auto
  }
}

.sec12 {
  z-index: 15;
  margin-top: -20px;
  background: #00324a;
  color: #fff
}

@media screen and (max-width:768px) {
  .sec12 {
    margin-top: -10px;
    padding: 25px 15px
  }
}

@media screen and (max-width:768px) {
  .sec12 .sec-title {
    margin-bottom: 25px
  }
}

.sec12 .line-inner, .sec12 .line:after, .sec12 .line:before {
  background: #fff
}

.sec12-box {
  width: 1000px;
  margin: auto;
  padding: 0 50px 50px;
  border: 4px solid #fff;
  border-top: none;
  text-align: center
}

@media screen and (max-width:768px) {
  .sec12-box {
    width: 100%;
    padding: 15px
  }
}

.sec12-box h3 {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  margin: 0 -54px 30px;
  -webkit-transform: translateY(-15px);
  transform: translateY(-15px);
  font-size: 3.4rem;
  font-weight: 700
}

@media screen and (max-width:768px) {
  .sec12-box h3 {
    margin: -12px -19px 0;
    font-size: calc(60% + 3vw)
  }
}

.sec12-box h3 .text {
  margin: 0 30px
}

@media screen and (max-width:768px) {
  .sec12-box h3 .text {
    margin: 0 20px
  }
}

.sec12-box h3 .small {
  font-size: 2.4rem
}

@media screen and (max-width:768px) {
  .sec12-box h3 .small {
    font-size: calc(40% + 2vw)
  }
}

.sec12-box h3:after, .sec12-box h3:before {
  content: "";
  display: block;
  -webkit-box-flex: 2;
  flex: 2;
  height: 4px;
  background: #fff
}

.sec12-box .fm {
  margin-bottom: 25px;
  font-size: 3.4rem
}

@media screen and (max-width:768px) {
  .sec12-box .fm {
    margin-bottom: 5px;
    font-size: calc(50% + 3vw);
    line-height: 1.6
  }
}

.sec12-box .fm .point {
  position: relative
}

.sec12-box .fm .point:before {
  content: "";
  position: absolute;
  top: -13px;
  left: 50%;
  display: block;
  width: 5px;
  height: 5px;
  margin-left: -2px;
  border-radius: 50%;
  background: #fff
}

@media screen and (max-width:768px) {
  .sec12-box .fm .point:before {
    top: -5px;
    width: 3px;
    height: 3px
  }
}

.sec12-box h4 {
  margin-bottom: 15px
}

.sec12-box h4, .sec12-box h4 .text {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center
}

.sec12-box h4 .text {
  margin: 0 20px;
  padding: 10px 25px;
  border-radius: 100px;
  background: #fff;
  color: #00324a;
  line-height: .8;
  font-size: 2rem;
  font-weight: 700
}

@media screen and (max-width:768px) {
  .sec12-box h4 .text {
    margin: 0;
    padding: 12px 20px;
    font-size: calc(50% + 2vw)
  }
}

.sec12-box h4:after, .sec12-box h4:before {
  content: "";
  display: block;
  -webkit-box-flex: 2;
  flex: 2;
  height: 3px;
  background-size: auto auto;
  background-color: #fff;
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 4px, #0036a5 0, #0036a5 8px)
}

@media screen and (max-width:768px) {
  .sec12-box h4:after, .sec12-box h4:before {
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 2px, #0036a5 0, #0036a5 4px)
  }
}

.sec12-box .fa {
  margin-bottom: 20px;
  font-size: 2rem
}

@media screen and (max-width:768px) {
  .sec12-box .fa {
    margin-bottom: 10px;
    font-size: calc(50% + 2vw)
  }
}

.sec12-p {
  line-height: 1.6
}

@media screen and (max-width:768px) {
  .sec12-p {
    font-weight: 700;
    text-align: left
  }
}

.sec5 {
  background: url(../img/sec5-bg.png) 0 0/cover no-repeat
}

@media screen and (max-width:768px) {
  .sec5 {
    padding-bottom: 0
  }
}

.sec5 h2 {
  width: 100%;
  height: 440px;
  padding: 80px 0 0;
  background: #00324a;
  color: #fff;
  font-size: 5rem;
  text-align: center
}

@media screen and (max-width:768px) {
  .sec5 h2 {
    height: 200px;
    padding: 20px 0 0;
    font-size: calc(70% + 3vw)
  }
}

@media screen and (max-width:768px) {
  .sec5 ul {
    padding: 0 20px
  }
}

.sec5 li {
  width: 30%;
  margin-top: -275px
}

@media screen and (max-width:768px) {
  .sec5 li {
    width: 100%;
    margin: 0 0 35px
  }
}

@media screen and (max-width:768px) {
  .sec5 li:first-child {
    margin-top: -44%
  }
}

.sec5 .head {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  height: 275px;
  border-radius: 10px 10px 0 0;
  background: #138bc2
}

@media screen and (max-width:768px) {
  .sec5 .head {
    height: auto;
    padding-bottom: 20px
  }
}

.sec5 .fa {
  margin: -15px 0 25px;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  padding: 10px 20px;
  border-radius: 100px;
  background: #f5ff00;
  color: #005882;
  line-height: .8;
  font-size: 2rem
}

@media screen and (max-width:768px) {
  .sec5 .fa {
    margin: -13px 0 10px;
    padding: 8px 15px;
    font-size: calc(50% + 2vw)
  }
}

.sec5 img {
  margin-bottom: 25px
}

@media screen and (max-width:768px) {
  .sec5 img {
    max-width: 110px;
    width: 35%;
    margin-bottom: 10px
  }
}

.sec5 h4 {
  font-size: 2.6rem;
  font-weight: 700;
  color: #fff
}

@media screen and (max-width:768px) {
  .sec5 h4 {
    font-size: calc(50% + 3vw)
  }
}

.sec5 p {
  padding: 50px;
  border-radius: 0 0 10px 10px;
  background: #e6f2f8;
  font-weight: 700;
  line-height: 1.8
}

@media screen and (max-width:768px) {
  .sec5 p {
    padding: 20px;
    line-height: 1.6
  }
}

.sec6 {
  background: url(../img/sec6-bg1.png) 0 0/cover no-repeat
}

.sec6-point {
  margin-top: 165px;
  padding: 0 50px 70px;
  background: #138bc2;
  color: #fff
}

@media screen and (max-width:768px) {
  .sec6-point {
    margin-top: 0;
    padding: 0 17px;
    background: 0 0
  }
}

.sec6 li {
  width: 32%;
  margin-top: -110px
}

@media screen and (max-width:768px) {
  .sec6 li {
    width: 100%;
    margin: 0 0 20px
  }
}

.sec6 li img {
  width: 100%
}

.sec6 h3 {
  margin-bottom: 15px;
  padding: 0 5px;
  font-size: 4rem;
  font-weight: 700;
  color: #005882;
  text-align: center
}

@media screen and (max-width:768px) {
  .sec6 h3 {
    margin-bottom: 5px;
    padding: 0 7px 6px;
    font-size: calc(70% + 3vw)
  }
}

.sec6 h4 {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-align: center;
  align-items: center;
  margin: -45px 0 25px
}

@media screen and (max-width:768px) {
  .sec6 h4 {
    margin-top: -60px;
    line-height: .8
  }
}

.sec6 h4 .fa {
  font-size: 1.4rem
}

@media screen and (max-width:768px) {
  .sec6 h4 .fa {
    font-size: calc(20% + 2vw)
  }
}

.sec6 h4 .fo {
  font-size: 5rem
}

@media screen and (max-width:768px) {
  .sec6 h4 .fo {
    font-size: calc(100% + 8vw)
  }
}

.sec6 p {
  padding: 0 15px;
  font-weight: 700;
  line-height: 1.8
}

@media screen and (max-width:768px) {
  .sec6 p {
    padding: 0;
    font-weight: 400;
    color: #005882;
    line-height: 1.6
  }
}

.sec6-support {
  padding: 60px 0 100px
}

@media screen and (max-width:768px) {
  .sec6-support {
    padding: 10px 15px 30px
  }
}

.sec6-support img {
  margin-right: auto
}

@media screen and (max-width:768px) {
  .sec6-support img {
    width: 100%
  }
}

.sec6-support-box {
  position: absolute;
  top: 210px;
  right: 0;
  padding: 60px 30px 60px 130px;
  background: #fff;
  text-align: right
}

@media screen and (max-width:768px) {
  .sec6-support-box {
    position: static;
    margin-top: 20px;
    padding: 0;
    background: 0 0;
    text-align: left
  }
}

.sec6-support-box h2 {
  margin: -130px 0 20px;
  font-size: 5rem;
  line-height: 1.4
}

@media screen and (max-width:768px) {
  .sec6-support-box h2 {
    position: absolute;
    width: 50%;
    top: 27%;
    right: 15px;
    margin: 0;
    padding-bottom: 10px;
    background: #fff;
    font-size: calc(55% + 2vw);
    text-align: right
  }
}

.sec6-support-box h2 img {
  margin-bottom: -30px
}

@media screen and (max-width:768px) {
  .sec6-support-box h2 img {
    width: 90%;
    margin: -20px 0 0
  }
}

.sec6-support-box p {
  padding: 0
}

.sec6-message {
  padding: 80px 0;
  background: url(../img/sec6-bg2.png) 0 0/cover no-repeat
}

@media screen and (max-width:768px) {
  .sec6-message {
    padding: 25px 15px
  }
}

.sec6-message-inner {
  width: 1000px;
  margin: auto;
  padding: 80px 0;
  background: #fff;
  text-align: center
}

@media screen and (max-width:768px) {
  .sec6-message-inner {
    width: 100%;
    padding: 15px 30px 30px
  }
}

.sec6-message h2 {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  margin-bottom: 50px
}

@media screen and (max-width:768px) {
  .sec6-message h2 {
    margin-bottom: 20px
  }
}

.sec6-message .fa {
  -webkit-transform: translateY(-100px);
  transform: translateY(-100px);
  font-size: 4rem
}

@media screen and (max-width:768px) {
  .sec6-message .fa {
    -webkit-transform: translateY(-22px);
    transform: translateY(-22px);
    font-size: calc(80% + 3vw)
  }
}

.sec6-message .fm>span {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(80%, transparent), color-stop(80%, #ff0));
  background: linear-gradient(180deg, transparent 80%, #ff0 0);
  font-size: 5.6rem
}

@media screen and (max-width:768px) {
  .sec6-message .fm>span {
    font-size: calc(80% + 3vw);
    line-height: 1.2
  }
}

.sec6-message p {
  font-size: 1.8rem;
  line-height: 2.2
}

@media screen and (max-width:768px) {
  .sec6-message p {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.8
  }
}

.sec7 {
  padding-bottom: 40px;
  background: #e6f2f8
}

@media screen and (max-width:768px) {
  .sec7 {
    padding-bottom: 0
  }
}

.sec7 .container {
  -webkit-box-pack: justify;
  justify-content: space-between
}

@media screen and (max-width:768px) {
  .sec7 .container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row
  }
}

.sec7 li {
  width: 30%;
  margin-bottom: 40px
}

@media screen and (max-width:768px) {
  .sec7 li {
    width: 48%;
    margin-bottom: 10px
  }
}

.sec7 img {
  width: 100%
}

.sec7 figcaption {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-align: center;
  align-items: center;
  margin-top: -65px;
  color: #fff
}

@media screen and (max-width:768px) {
  .sec7 figcaption {
    -webkit-transform: translateY(-24px);
    transform: translateY(-24px);
    margin-top: 0
  }
}

.sec7 figcaption .fa {
  font-size: 2.9rem
}

@media screen and (max-width:768px) {
  .sec7 figcaption .fa {
    font-size: calc(20% + 2vw)
  }
}

.sec7 figcaption .fo {
  font-size: 5.8rem
}

@media screen and (max-width:768px) {
  .sec7 figcaption .fo {
    font-size: calc(100% + 2vw)
  }
}

.sec8 {
  padding: 0
}

.sec8-box1 {
  background: url(../img/sec8-bg.png) 0 0/cover no-repeat
}

.sec8-box1 .container {
  -webkit-box-pack: justify;
  justify-content: center;
  max-width: 100%;
  padding: 50px 30px 20px
}

@media screen and (max-width:768px) {
  .sec8-box1 .container {
    padding: 15px 20px 15px 15px
  }
}

.sec8-box1 .container li {
  width: 31.5%;
  margin: 0 12px 35px;
  padding: 40px 30px;
  box-shadow: 6px 6px 0 #ff0;
  background: #fff
}

@media screen and (max-width:768px) {
  .sec8-box1 .container li {
    width: 100%;
      margin: 0 0 20px;
    padding: 20px
  }
}

.sec8-box1 .container h3 {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: end;
  align-items: flex-end;
  margin-bottom: 20px
}

@media screen and (max-width:768px) {
  .sec8-box1 .container h3 {
    margin-bottom: 10px
  }
}

.sec8-box1 .container .jp {
  font-size: 3.6rem
}

@media screen and (max-width:768px) {
  .sec8-box1 .container .jp {
    font-size: calc(70% + 3vw)
  }
}

.sec8-box1 .container .fa {
  font-size: 2.6rem
}

@media screen and (max-width:768px) {
  .sec8-box1 .container .fa {
    font-size: calc(50% + 2vw)
  }
}

.sec8-box1 .container p {
  font-size: 1.4rem;
  font-weight: 700;
  word-break: break-all;
  line-height: 1.8
}

@media screen and (max-width:768px) {
  .sec8-box1 .container p {
    font-size: 1.1rem;
    line-height: 1.4
  }
}

.sec8-box2 {
  padding: 80px 0
}

@media screen and (max-width:768px) {
  .sec8-box2 {
    padding: 15px 0
  }
}

.sec8-box2-img {
  margin-left: auto
}

@media screen and (max-width:768px) {
  .sec8-box2-img {
    width: 70%;
    margin-bottom: 15px
  }
}

@media screen and (max-width:768px) {
  .sec8-box2 img {
    width: 100%
  }
}

.sec8-box2-summary {
  position: absolute;
  top: 145px;
  left: 0;
  padding: 80px 40px 30px 30px;
  background: #fff
}

@media screen and (max-width:768px) {
  .sec8-box2-summary {
    position: static;
    padding: 0;
    background: 0 0
  }
}

.sec8-box2-summary h2 {
  margin: 0 0 20px;
  font-size: 5rem;
  line-height: 1.4
}

@media screen and (max-width:768px) {
  .sec8-box2-summary h2 {
    position: absolute;
    top: 22%;
    left: 15px;
    margin: 0;
    padding: 10px 10px 10px 0;
    background: #fff;
    font-size: calc(40% + 3vw)
  }
}

.sec8-box2-summary p {
  font-weight: 700;
  line-height: 1.8
}

@media screen and (max-width:768px) {
  .sec8-box2-summary p {
    font-weight: 400;
    line-height: 1.4
  }
}

.sec9 {
  padding: 0
}

.sec9-head {
  padding-top: 60px;
  background: url(../img/sec9-bg1.png) center 0/cover no-repeat;
  color: #fff
}

@media screen and (max-width:768px) {
  .sec9-head {
    padding-top: 20px
  }
}

@media screen and (max-width:768px) {
  .sec9-head .sec-title {
    margin-bottom: 10px
  }
}

.sec9-head .sec-title .line-inner, .sec9-head .sec-title .line:after, .sec9-head .sec-title .line:before {
  background: #fff
}

.sec9 .container {
  min-width: 1000px;
  width: 1000px
}

@media screen and (max-width:768px) {
  .sec9 .container {
    min-width: 0;
    width: 100%
  }
}

@media screen and (max-width:768px) {
  .sec9-tab {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row
  }
}

.sec9-tab li {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  width: 50%;
  padding: 25px 0;
  background: #005882;
  font-size: 3rem;
  font-weight: 700;
  color: #fff;
  -webkit-transition: all .4s ease;
  transition: all .4s ease;
  cursor: pointer
}

@media screen and (max-width:768px) {
  .sec9-tab li {
    padding: 18px 0;
    font-size: calc(60% + 2vw)
  }
}

.sec9-tab li.active {
  background: #fff;
  color: #005882
}

.sec9-price {
  padding: 50px 0
}

@media screen and (max-width:768px) {
  .sec9-price {
    padding: 15px
  }
}

.sec9-price .fee {
  -webkit-box-pack: justify;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 40px
}

@media screen and (max-width:768px) {
  .sec9-price .fee {
    margin-bottom: 10px
  }
}

.sec9-price dl {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  width: 49%;
  min-height: 75px;
  border-radius: 10px;
  overflow: hidden
}

@media screen and (max-width:768px) {
  .sec9-price dl {
    width: 100%;
    min-height: 50px;
    margin-bottom: 10px;
    border-radius: 5px
  }
}

.sec9-price dl dd, .sec9-price dl dt {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  justify-content: center;
  height: 100%;
  padding: 20px
}

@media screen and (max-width:768px) {
  .sec9-price dl dd, .sec9-price dl dt {
    -webkit-box-align: center;
    align-items: center;
    padding: 0
  }
}

.sec9-price dl dt {
  width: 40%;
  background: #005882;
  font-size: 2.6rem;
  font-weight: 700;
  color: #fff
}

@media screen and (max-width:768px) {
  .sec9-price dl dt {
    width: 45%;
    font-size: calc(50% + 2vw)
  }
}

.sec9-price dl dd {
  width: 60%;
  background: #e6f2f8;
  font-size: 3.1rem
}

@media screen and (max-width:768px) {
  .sec9-price dl dd {
    width: 55%;
    font-size: calc(100% + 2vw)
  }
}

.sec9-price dl dd .small {
  font-size: 1.9rem;
  font-weight: 700
}

@media screen and (max-width:768px) {
  .sec9-price dl dd .small {
    font-size: calc(40% + 2vw)
  }
}

.sec9-price h3 {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  width: 100%;
  margin-bottom: 20px
}

@media screen and (max-width:768px) {
  .sec9-price h3 {
    margin-bottom: 10px
  }
}

.sec9-price h3 .large {
  margin: 0 20px 30px;
  font-size: 3.6rem;
  font-weight: 700
}

@media screen and (max-width:768px) {
  .sec9-price h3 .large {
    margin: 0 0 15px;
    font-size: calc(60% + 3vw);
    text-align: center
  }
}

.sec9-price h3 .large .small {
  display: block;
  margin-top: 10px;
  font-size: 1.6rem
}

@media screen and (max-width:768px) {
  .sec9-price h3 .large .small {
    font-size: calc(30% + 2vw)
  }
}

.sec9-price h3:after, .sec9-price h3:before {
  content: "";
  -webkit-box-flex: 2;
  flex: 2;
  display: block;
  height: 5px;
  margin-top: 20px;
  background: #005882
}

@media screen and (max-width:768px) {
  .sec9-price h3:after, .sec9-price h3:before {
    height: 3px;
    margin-top: 10px
  }
}

@media screen and (max-width:768px) {
  .sec9-price h3:before {
    margin-right: -20px
  }
}

@media screen and (max-width:768px) {
  .sec9-price h3:after {
    margin-left: -20px
  }
}

.sec9-price .dt {
  min-width: 1000px;
  width: 1000px
}

@media screen and (max-width:768px) {
  .sec9-price .dt {
    min-width: 0;
    width: 100%
  }
}

@media screen and (max-width:768px) {
  .sec9-price .dt:last-child {
    margin-bottom: 0
  }
}

.sec9-price ul {
  margin-bottom: 50px;
  border-radius: 10px;
  background: #e6f2f8
}

@media screen and (max-width:768px) {
  .sec9-price ul {
    padding: 0;
    border-radius: 5px
  }
}

.sec9-price ul li {
  position: relative;
  display: table-cell;
  padding: 40px;
  text-align: center
}

@media screen and (max-width:768px) {
  .sec9-price ul li {
    display: block;
    padding: 20px 20px 25px
  }
}

.sec9-price ul li:nth-of-type(2) {
  border-left: 1px solid #b6daeb;
  border-right: 1px solid #b6daeb
}

@media screen and (max-width:768px) {
  .sec9-price ul li:nth-of-type(2) {
    border: 1px solid #b6daeb;
    border-right: none;
    border-left: none
  }
}

.sec9-price ul h4 {
  position: absolute;
  top: -15px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  padding: 12px 30px;
  border-radius: 100px;
  background: #005882;
  color: #fff;
  line-height: .8;
  font-weight: 700
}

@media screen and (max-width:768px) {
  .sec9-price ul h4 {
    top: -10px;
    padding: 5px 13px;
    border-radius: 3px;
    font-size: calc(30% + 2vw)
  }
}

.sec9-price ul p {
  margin-bottom: 10px;
  font-size: 2.8rem
}

@media screen and (max-width:768px) {
  .sec9-price ul p {
    margin-bottom: 5px;
    font-size: calc(60% + 2vw)
  }
}

.sec9-price ul p.clp {
  margin-bottom: 0;
  font-size: 6.5rem
}

@media screen and (max-width:768px) {
  .sec9-price ul p.clp {
    font-size: calc(200% + 3vw)
  }
}

.sec9-price ul p.clp .small {
  font-size: 2rem;
  font-weight: 700
}

@media screen and (max-width:768px) {
  .sec9-price ul p.clp .small {
    font-size: calc(10% + 2vw)
  }
}

.sec9-plan {
  display: none;
  width: 100%
}

.sec9-plan.shown {
  display: block
}

.sec9 .zaitaku h3 .large {
  margin: 0 10px 15px
}

.sec9 .zaitaku h3:after, .sec9 .zaitaku h3:before {
  margin: 8px 0 0
}

.sec9-foot {
  padding: 30px 0 60px;
  background: url(../img/sec9-bg2.png) center 0/cover no-repeat;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 2
}

@media screen and (max-width:768px) {
  .sec9-foot {
    padding: 20px 15px 30px;
    font-size: 1.3rem;
    line-height: 1.5;
    text-align: left
  }
}

@media screen and (max-width:768px) {
  .sec10 {
    padding: 35px 15px 10px
  }
}

@media screen and (max-width:768px) {
  .sec10 .sec-title {
    margin-bottom: 10px
  }
}

.sec10-box {
  width: 1000px;
  margin: 0 auto 20px;
  padding: 40px;
  border-radius: 10px;
  background: #138bc2;
  color: #fff
}

@media screen and (max-width:768px) {
  .sec10-box {
    width: 100%;
    margin-bottom: 10px;
    padding: 15px;
    border-radius: 3px
  }
}

.sec10-box h3 {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  cursor: pointer
}

@media screen and (max-width:768px) {
  .sec10-box h3 {
    -webkit-box-align: start;
    align-items: flex-start;
    margin-bottom: 10px
  }
}

.sec10-box h3:hover {
  -webkit-transition: all .4s ease;
  transition: all .4s ease;
  opacity: .8
}

.sec10-box h3 .fo {
  margin-right: 20px;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  width: 57px;
  height: 57px;
  border-radius: 50%;
  background: #fff;
  font-family: Abril Fatface, cursive;
  color: #0181bf;
  font-size: 2.2rem
}

@media screen and (max-width:768px) {
  .sec10-box h3 .fo {
    width: 67px;
    height: 67px;
    font-size: .9rem;
    width: 20px;
    height: 20px;
    margin-right: 5px
  }
}

.sec10-box h3 .text {
  font-size: 2rem;
  font-weight: 700
}

@media screen and (max-width:768px) {
  .sec10-box h3 .text {
    width: calc(100% - 30px);
    font-size: calc(50% + 2vw);
    line-height: 1.6
  }
}

.sec10-box h3:after {
  content: "\f107";
  display: block;
  margin-left: auto;
  font-family: Font Awesome\ 5 Free;
  font-weight: 900
}

.sec10-box p {
  display: none;
  margin-top: 20px;
  line-height: 1.8
}

@media screen and (max-width:768px) {
  .sec10-box p {
    font-size: 1.3rem;
    line-height: 1.6
  }
}

.sec11 {
  background: #e6f2f8
}

@media screen and (max-width:768px) {
  .sec11 {
    padding: 20px 15px
  }
}

@media screen and (max-width:768px) {
  .sec11 .sec-title {
    margin-bottom: 10px
  }
  .sec11 .sec-title .en {
    line-height: 1.2
  }
}

.sec11-notice {
  margin-bottom: 30px;
  text-align: center;
  line-height: 1.8
}

@media screen and (max-width:768px) {
  .sec11-notice {
    margin-bottom: 10px;
    line-height: 1.6
  }
}

.sec11-form {
  width: 1000px;
  margin: auto;
  padding: 40px 100px;
  background: #fff
}

@media screen and (max-width:768px) {
  .sec11-form {
    width: 100%;
    padding: 20px 15px
  }
}

.sec11-form .container {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  max-width: 1000px;
  min-width: 960px;
  padding: 30px 80px;
  background: #fff
}

@media screen and (max-width:768px) {
  .sec11-form .container {
    max-width: 960px;
    min-width: 0
  }
}

@media screen and (max-width:768px) and (max-width:768px) {
  .sec11-form .container {
    padding: 20px
  }
}

.sec11-form p {
  margin-bottom: 30px;
  text-align: center
}

@media screen and (max-width:768px) {
  .sec11-form p {
    margin-bottom: 15px;
    font-size: 1.2rem
  }
}

.sec11-form p:nth-of-type(2) {
  font-size: 1.4rem
}

@media screen and (max-width:768px) {
  .sec11-form p:nth-of-type(2) {
    margin-bottom: 10px;
    font-size: 1.2rem
  }
}

.sec11-form p a {
  text-decoration: underline
}

.sec11-form .notice {
  color: #ff00bf
}

.sec11 [type=submit] {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  width: 200px;
  height: 60px;
  margin: auto;
  border: none;
  border-radius: 100px;
  box-shadow: 0 4px 0 #969c00;
  background: #f5ff00;
  font-size: 2rem;
  font-weight: 700;
  color: #005882;
  cursor: pointer
}

@media screen and (max-width:768px) {
  .sec11 [type=submit] {
    height: 50px;
    box-shadow: 0 2px 0 #969c00
  }
}

.form-dl {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  width: 100%;
  margin-bottom: 20px
}

@media screen and (max-width:768px) {
  .form-dl {
    flex-wrap: wrap;
    margin-bottom: 20px
  }
}

.form-dl:last-of-type {
  margin-bottom: 20px
}

.form-dl dt {
  width: 190px;
  font-size: 2rem;
  font-weight: 700
}

@media screen and (max-width:768px) {
  .form-dl dt {
    width: 100%;
    margin-bottom: 5px;
    font-size: 1.3rem
  }
}

.form-dl dd {
  -webkit-box-flex: 1;
  flex: 1
}

@media screen and (max-width:768px) {
  .form-dl dd {
    width: 100%
  }
}

.form-dl .select-box {
  width: 300px
}

@media screen and (max-width:768px) {
  .form-dl .select-box {
    width: 100%
  }
}

.stalking {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 8888;
  width: 100%;
  padding: 15px 0;
  background: #005882;
  opacity: 0;
  -webkit-transform: scale(.8);
  transform: scale(.8);
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

@media screen and (max-width:768px) {
  .stalking {
    padding: 10px 15px
  }
}

.stalking.is-shown {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1)
}

@media screen and (max-width:768px) {
  .stalking img {
    display: none
  }
}

.stalking .container {
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  justify-content: space-between;
  max-width: 1000px;
  min-width: 960px;
  padding: 0;
  color: #fff
}

@media screen and (max-width:768px) {
  .stalking .container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
    max-width: 960px;
    min-width: 0
  }
}

.stalking-info {
  display: -webkit-box;
  display: flex
}

@media screen and (max-width:768px) {
  .stalking-info {
    width: calc(50% - 5px)
  }
}

.stalking-phone {
  margin-right: 20px;
  text-align: center
}

@media screen and (max-width:768px) {
  .stalking-phone {
    width: 100%;
    margin-right: 0
  }
}

.stalking-phone a {
  display: block;
  margin-bottom: 5px;
  padding: 7px 20px;
  border: 2px solid #fff;
  border-radius: 50px;
  font-size: 2rem;
  font-weight: 900;
  color: #fff
}

@media screen and (max-width:768px) {
  .stalking-phone a {
    border-width: 1px;
    border-radius: 5px;
    padding: 3px 6px;
    font-size: calc(50% + 2vw)
  }
}

.stalking-phone a i {
  margin-right: 4px;
  font-size: 1.6rem
}

@media screen and (max-width:768px) {
  .stalking-phone a i {
    font-size: calc(25% + 2vw)
  }
}

.stalking-phone p {
  font-size: 1rem
}

@media screen and (max-width:768px) {
  .stalking-phone p {
    font-size: calc(20% + 1vw)
  }
}

.stalking .cv-btn {
  width: 415px;
  height: 50px;
  margin: 0;
  padding: 0;
  border: none;
  box-shadow: none;
  font-size: 2.4rem;
  font-weight: 700
}

@media screen and (max-width:768px) {
  .stalking .cv-btn {
    width: calc(50% - 5px);
    height: auto;
    padding: 14px 0 8px;
    border-radius: 10px;
    font-size: calc(40% + 2vw)
  }
}

.stalking .cv-circle {
  position: static;
  margin-right: 10px;
  padding: 5px 10px;
  border-radius: 40px;
  background: #00324a;
  font-size: 1.3rem
}

@media screen and (max-width:768px) {
  .stalking .cv-circle {
    position: absolute;
    top: -8px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 80%;
    padding: 4px 10px;
    border-radius: 5px;
    font-size: calc(10% + 2vw)
  }
}

.footer {
  padding: 20px 0;
  font-size: 1rem;
  text-align: center;
  margin-bottom: 100px
}

@media screen and (max-width:768px) {
  .footer {
    margin-bottom: 70px;
    padding: 10px 0
  }
}

.footer-logo {
  margin-bottom: 15px
}

@media screen and (max-width:768px) {
  .footer-logo img {
    width: 40%
  }
}


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



/*20200229 cpBlock*/

.cpBlock a {
  display: block;
}
.cpBlock a:hover {
  transform: translate(0);
  opacity: .7;
}
.cpBlock img {
  display: block;
  margin: 0 auto;
}
.cpBody {
  background: #033349;
  text-align: center;
  padding: 2%;
}
.cpBody img {
  width: 980px;
  max-width: 96%;  
}
.cpBody img:last-of-type {
  width: 800px;
  max-width: 96%;
  margin: 2% auto 0;
}
.cpBtn {
  background: #e41466;
  padding: 1% 0;
}  
.cpBtn img {
  width: 800px;
  max-width: 94%;  
}

/*20200812 modal*/

.modal {
  position: fixed;
  display: block;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  box-sizing: border-box;
  transition: .3s;
  opacity: 0;
  visibility: hidden;
  background: rgba(0, 0, 0, 0.6);
  z-index: 10000;
}

.modal.is-active {
  opacity: 1;
  visibility: visible;
}

.modal__wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-70%);
  width: 90%;
  max-width: 420px;
  margin: 0 auto;
  padding: 30px 0;
  box-sizing: border-box;
  border-radius: 20px;
  background: #fff;
}

.modal__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 4%;
}

.modal__item dt {
  margin-bottom: 3%;
  font-size: 18px;
  line-height: 1.14286;
  font-weight: bold;
}

.modal__item dd {
  text-align: center;
}

.modal__item dd span {
  display: flex;
  align-items: center;
  margin-bottom: 3%;
  font-size: 34px;
  line-height: 0.88895;
  color: #005882;
  font-family: "Oswald", "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: .05em;
  text-indent: .05em;
}
.modal__item dd span i {
  font-size: 25px;
  margin: 3px 5px 0 0;
}
.modal__item dd small {
  font-size: 12px;
  line-height: 1.26394;
  font-weight: bold;
}

.modal__cv {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 80%;
  margin: 0 auto;
  background: #005882;
}

.modal__cv span {
  display: flex;
  justify-content: center;
  font-size: 20px;
  line-height: 1;
  padding: .5em 0;
  color: #fff;
}
.modal__cv span i {
  font-size: 16px;
  margin: 0 5px 0 0;
}

.modal__btn {
  position: absolute;
  width: 20px;
  height: 20px;
  top: 25px;
  right: 15px;
  -webkit-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  cursor: pointer;
}

.modal__btn::before,.modal__btn::after {
  content: '';
  position: absolute;
  width: 20px;
  height: 2px;
  top: 0;
  left: 0;
  background: #00324a;
}

.modal__btn::before {
  transform: rotate(45deg);
}

.modal__btn::after {
  transform: rotate(-45deg);
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(0 0 99.9% 99.9%);
  border: 0;
}

/*202103 add sec-flow*/
.sec-flow {
  background: #1482bd;
  color: #fff;
  padding: 80px 20px 220px 20px;
  position: relative;
}
.sec-flow .sec-title .line:after,
.sec-flow .sec-title .line:before,
.sec-flow .sec-title .line-inner {
  background: #fff;
}
.secflow-desc {
  line-height: 2;
  text-align: center;
  margin: 0 0 50px;
}
.secflow-box {
  background: #fff;
  border-radius: 10px;
  width: 800px;
  max-width: 100%;
  padding: 30px 15px;
  margin: 0 auto;
}
.secflow-box ul {
  display: flex;
}
.secflow-box_icon {
  width: calc((100% - 80px) / 5);
  text-align: center;
}
.secflow-box_icon img {
  width: 60%;
}
.secflow-box_icon p {
  font-size: 1.8rem;
  color: #1482bd;
  font-weight: bold;
  margin: 10px 0 0;
}
.secflow-box_arrow {
  width: 20px;
  padding-bottom: 35px;
  display: flex;
  align-items: center;
}
.secflow-box_arrow img {
  max-width: 100%;
}
.secflow-block {
  text-align: center;
}
.secflow-block ul {
  display: inline-block;
}
.secflow-item {
  display: flex;
  margin: 50px 0 0;
  align-items: center;
}
.secflow-item__icon {
  margin: 0 30px 0 0;
  flex: 0 0 auto;
}
.secflow-item__icon img {
  width: 110px; 
}
.secflow-item__txt {
  text-align: left;
}
.secflow-item__txt h3 {
  font-weight: bold;
  font-size: 2.5rem;
}
.secflow-item__txt h3 span {
  font-size: 3rem;
  margin: 0 .3em 0 0;
}
.secflow-item__txt p {
  line-height: 1.6;
  margin: 20px 0 0;
  font-weight: bold;
}
.secflow-foot {
  text-align: center;
  position: absolute;
  bottom: 0px;
  left: 50%;
  width: 100%;
  height: 160px;
  transform: translate(-50%,0);
  background: url(../img/flow-bg.png) no-repeat bottom center  #e6f2f8;
  background-size: cover;
}
.secflow-foot__txt1 {
  font-weight: bold;
  font-size: 3rem;
}
.secflow-foot__txt1 strong {
  color: #f5fd37;
}
.secflow-foot__txt2 {
  font-weight: bold;
  font-size: 1.8rem;
  margin: 20px 0 0;
}
@media screen and (max-width: 768px) {
  .sec-flow {
    padding: 35px 15px 120px;
  }
  .secflow-desc {
    line-height: 1.6;
    margin: 0 0 25px;
    text-align: left;
  }
  .secflow-box {
    padding: 10px;
    margin: 0 auto 30px;
  }
  .secflow-box_icon {
    width: calc((100% - 24px) / 5);
    text-align: center;
  }
  .secflow-box_icon img {
    width: 70%;
  }
  .secflow-box_icon p {
    font-size: 1rem;
    margin: 5px 0 0;
    white-space: nowrap;
  }
  .secflow-box_arrow {
    width: 6px;
    padding-bottom: 15px;
  }
  .secflow-box_arrow img {
    max-width: 100%;
  }

  .secflow-block {
    text-align: center;
  }
  .secflow-block ul {
    display: inline-block;
  }
  .secflow-item {
    margin: 0 0 40px;
    align-items: flex-start;
    position: relative;
  }
  .secflow-item::after {
    content: "";
    border-style: solid;
    border-width: 10px 15px 0 15px;
    border-color: rgba(255,255,255,.7) transparent transparent transparent;
    position: absolute;
    bottom: -26px;
    left: 50%;
    transform: translate(-50%,0);
  }
  .secflow-item:last-of-type {
    margin: 0;
  }
  .secflow-item:last-of-type::after {
    display: none;
  }
  .secflow-item__icon {
    margin: 0 15px 0 0;
  }
  .secflow-item__icon img {
    width: 60px; 
  }
  .secflow-item__txt h3 {
    font-size: 1.8rem;
    line-height: 1.4;
  }
  .secflow-item__txt h3 span {
    font-size: 2rem;
    color: #f5fd37;
  }
  .secflow-item__txt p {
    margin: 5px 0 0;
    font-weight: normal;
  }
  .secflow-item__txt p br {
    display: none;
  }
  .secflow-foot {
    height: 90px;
    background-size: cover;
  }
  .secflow-foot__txt1 {
    font-size: 1.8rem;
  }
  .secflow-foot__txt2 {
    font-size: 1.4rem;
    margin: 15px 0 0;
  }
}

.campaign {
  background: #0082be;
  padding: 50px 0 65px;
}
.campaign img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .campaign {
    padding: 25px 0;
  }
}
