body {
  margin: 0;
  padding: 0;
}

/*========================================== 
  0.reset
========================================== */
main div, main span, main object, main iframe, main h1, main h2, main h3, main h4, main h5, main h6, main p, main blockquote, main pre, main abbr, main address, main cite, main code, main del, main dfn, main em, main img, main ins, main kbd, main q, main samp, main small, main strong, main sub, main sup, main var, main b, main i, main dl, main dt, main dd, main ol, main ul, main li, main fieldset, main form, main label, main legend, main table, main caption, main tbody, main tfoot, main thead, main tr, main th, main td, main article, main aside, main canvas, main details, main figcaption, main figure, main footer, main header, main hgroup, main menu, main nav, main section, main summary, main time, main mark, main audio, main video, header div, header span, header object, header iframe, header h1, header h2, header h3, header h4, header h5, header h6, header p, header blockquote, header pre, header abbr, header address, header cite, header code, header del, header dfn, header em, header img, header ins, header kbd, header q, header samp, header small, header strong, header sub, header sup, header var, header b, header i, header dl, header dt, header dd, header ol, header ul, header li, header fieldset, header form, header label, header legend, header table, header caption, header tbody, header tfoot, header thead, header tr, header th, header td, header article, header aside, header canvas, header details, header figcaption, header figure, header footer, header header, header hgroup, header menu, header nav, header section, header summary, header time, header mark, header audio, header video, footer div, footer span, footer object, footer iframe, footer h1, footer h2, footer h3, footer h4, footer h5, footer h6, footer p, footer blockquote, footer pre, footer abbr, footer address, footer cite, footer code, footer del, footer dfn, footer em, footer img, footer ins, footer kbd, footer q, footer samp, footer small, footer strong, footer sub, footer sup, footer var, footer b, footer i, footer dl, footer dt, footer dd, footer ol, footer ul, footer li, footer fieldset, footer form, footer label, footer legend, footer table, footer caption, footer tbody, footer tfoot, footer thead, footer tr, footer th, footer td, footer article, footer aside, footer canvas, footer details, footer figcaption, footer figure, footer footer, footer header, footer hgroup, footer menu, footer nav, footer section, footer summary, footer time, footer mark, footer audio, footer video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
}
main *,
main *::before,
main *::after, header *,
header *::before,
header *::after, footer *,
footer *::before,
footer *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-family: "Inter", sans-serif;
  color: #000;
  font-weight: 500;
}
main article, main aside, main details, main figcaption, main figure, main footer, main header, main hgroup, main menu, main nav, main section, main main, header article, header aside, header details, header figcaption, header figure, header footer, header header, header hgroup, header menu, header nav, header section, header main, footer article, footer aside, footer details, footer figcaption, footer figure, footer footer, footer header, footer hgroup, footer menu, footer nav, footer section, footer main {
  display: block;
}
main ul, main li, header ul, header li, footer ul, footer li {
  list-style: none;
}
main blockquote, main q, header blockquote, header q, footer blockquote, footer q {
  quotes: none;
}
main blockquote::before, main blockquote::after, main q::before, main q::after, header blockquote::before, header blockquote::after, header q::before, header q::after, footer blockquote::before, footer blockquote::after, footer q::before, footer q::after {
  content: "";
  content: none;
}
main a, header a, footer a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  background: transparent;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  display: block;
}
main button, header button, footer button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
main address, header address, footer address {
  font-style: normal;
}
main ins, header ins, footer ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}
main mark, header mark, footer mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}
main del, header del, footer del {
  text-decoration: line-through;
}
main table, header table, footer table {
  border-collapse: collapse;
  border-spacing: 0;
}
main hr, header hr, footer hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #444;
  margin: 1em 0;
  padding: 0;
}
main input, main select, header input, header select, footer input, footer select {
  vertical-align: middle;
}
main button, header button, footer button {
  margin: 0;
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
main a,
main a:link,
main a:visited, header a,
header a:link,
header a:visited, footer a,
footer a:link,
footer a:visited {
  text-decoration: none;
}
main img, header img, footer img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
main video, header video, footer video {
  width: 100%;
}

/*========================================== 
  Common (PC)
========================================== */
main .-tb,
main .-sp, header .-tb,
header .-sp, footer .-tb,
footer .-sp {
  display: none !important;
}
main .-pc, header .-pc, footer .-pc {
  display: block !important;
}
main a, main button, header a, header button, footer a, footer button {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
main a:hover, main button:hover, header a:hover, header button:hover, footer a:hover, footer button:hover {
  opacity: 0.6;
}

main {
  padding-top: 100px;
  overflow: hidden;
}
main .wrap {
  max-width: 893px;
  margin: auto;
  padding: 0 20px;
}
main .mv_child {
  background: #0286DC;
  height: 298px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
main .mv_child h1 {
  font-family: "Noto Sans JP";
  font-weight: 900;
  font-size: 46px;
  color: #fff;
  line-height: 1.4;
}
main h2 {
  text-align: center;
}
main h2 span {
  font-weight: 700;
}
main h2 .main {
  font-size: 35px;
  line-height: 1.2;
  letter-spacing: 0.17em;
  position: relative;
  display: inline-block;
}
main h2 .main::before, main h2 .main::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 12px solid transparent;
  border-left: 12px solid transparent;
  border-bottom: 12px solid #000;
  border-top: 0;
  -webkit-transform: rotate(314deg);
          transform: rotate(314deg);
  position: absolute;
}
main h2 .main::before {
  top: -10px;
  left: -35px;
}
main h2 .main::after {
  -webkit-transform: rotate(136deg);
          transform: rotate(136deg);
  bottom: -13px;
  right: -33px;
}
main h2 .main-linespacing-small {
  letter-spacing: 0.08em;
}
main h2 .sub {
  font-size: 15px;
  line-height: 1.6;
  margin-top: 15px;
  display: block;
}
main h2.white span {
  color: #fff;
}
main h2.white .main::before, main h2.white .main::after {
  border-bottom: 12px solid #fff;
}
main p {
  font-weight: 500;
  font-size: 16px;
  line-height: 2.0625;
  letter-spacing: 0.06em;
}
main .btn a {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: 0.01em;
  padding: 17px 54px 17px 20px;
  display: inline-block;
  color: #fff;
  background: #2D3B52;
  position: relative;
}
main .btn a::before {
  content: "";
  width: 42px;
  height: 2px;
  background: #fff;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
main .btn-bg-red a {
  background: #0286DC;
  text-align: center;
  padding: 17px 54px;
}
main .btn-bg-white a {
  background: #fff;
  color: #000;
}
main .btn-bg-white a::before {
  background: #0286DC;
}
main .btn-txt-large a {
  font-size: 20px;
  letter-spacing: 0.11em;
}
main .btn-txt-small a {
  font-size: 15px;
}
main .appeal {
  background: url("../images/common/appeal_bg.png") center center/cover no-repeat;
  padding: 80px 0;
}
main .appeal h2 {
  font-size: 35px;
  line-height: 1.5;
  font-weight: 700;
  background: #fff;
  padding: 16px;
}
main .appeal .btn_wrap {
  margin-top: 80px;
  background: #2D3B52;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 10px 10px 60px;
}
main .appeal .btn_wrap .btn {
  margin: 50px 25px 0;
}
main .appeal .btn_wrap .btn a {
  min-width: 263px;
}
main .contact_section {
  background: #0286DC;
  padding: 90px 0 78px;
}
main .contact_section p {
  color: #fff;
  margin-top: 40px;
}
main .contact_section .btn {
  margin-top: 64px;
  text-align: center;
}
main .contact_section .btn a {
  width: 384px;
  color: #0286DC;
  text-align: center;
  padding: 17px 54px;
}

header {
  width: 100%;
  height: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background: #fff;
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
}
header .header_cont, header ul, header .externallink_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
header .logo {
  width: 170px;
  margin-left: 49px;
}
header .header_cont {
  height: 100%;
}
header ul li {
  padding: 5px 24px;
}
header ul li a {
  font-weight: 700;
}
header .language {
  padding: 0 40px 0 23px;
}
header .language button {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  padding: 14px 23px;
  background: #0286DC;
}
.bogo-language-name{
  color: #fff;
}
.bogo-language-switcher {
  font-size: 20px;
  font-weight: 700;
  padding: 14px 23px;
  background: #FF6600;
}
.bogo-language-switcher li.first {
  position: relative;
  padding-right: 20px;
}
.bogo-language-switcher li.first::after {
  position: absolute;
  top: -1px;
  right: 6px;
  content: '/';
  color: #fff;
}
.bogo-language-switcher a {
  color: #fff;
}
header .contact{
  height: 100%;
}
header .contact a{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 221px;
  height: 100%;
  font-size: 20px;
  background-color: #FF6600;
  color: #fff;

}
header .contact a:hover{
  opacity: 0.8;
}
header .externallink_wrap {
  height: 100%;
}
header .externallink_wrap .externallink {
  width: 222px;
  height: 100%;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
header .externallink_wrap .externallink01 {
  background: #FFD707;
}
header .externallink_wrap .externallink02 {
  background: #3AE8FF;
}
header .openbtn {
  display: none !important;
}

footer {
  background: #E0EDFF;
  padding: 36px 0 18px;
  position: relative;170
}
footer .logo {
  width: 170px;
  position: absolute;
  top: 32px;
  left: 55px;
}
footer .txt {
  position: absolute;
  right: 18px;
  bottom: 12px;
  color: #000;
}
footer ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
footer ul li {
  padding: 0 8px;
  border-right: solid 1px #000;
  line-height: 1;
}
footer ul li:last-of-type {
  border: none;
}
footer ul li a {
  color: #000;
}
footer .copyright {
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  margin-top: 22px;
  color: #000;
}
@media screen and (min-width: 1080px) and (max-width: 1279px) {
  header .logo {
    margin-left: 20px;
  }
  header ul li {
    padding: 0 10px;
  }
  header .language {
    padding: 0 20px 0 12px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1080px) {
  main {
    padding-top: 145px;
  }
  header {
    height: 75px;
    padding-bottom: 70px;
  }
  header nav {
    width: 100%;
    position: absolute;
    bottom: 20px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  header nav ul {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (min-width: 768px) and (max-width: 900px) {
  footer .logo {
    width: 70px;
    position: absolute;
    top: 32px;
    left: 20px;
  }
  footer .txt {
    position: absolute;
    right: 18px;
    bottom: 12px;
    color: #000;
  }
  footer ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  footer ul li {
    padding: 0 8px;
    border-right: solid 1px #000;
    line-height: 1;
  }
  footer ul li:last-of-type {
    border: none;
  }
  footer ul li a {
    font-size: 15px;
    color: #000;
  }
  footer .copyright {
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    margin-top: 22px;
    color: #000;
  }
}
@media screen and (max-width: 767px) {
  /*========================================== 
    Common (SP)
  ========================================== */
  main .-pc,
  main .-tb, header .-pc,
  header .-tb, footer .-pc,
  footer .-tb {
    display: none !important;
  }
  main .-sp, header .-sp, footer .-sp {
    display: block !important;
  }
  main a:hover, main button:hover, header a:hover, header button:hover, footer a:hover, footer button:hover {
    opacity: 1;
  }
  main {
    padding-top: 13.8666666667vw;
  }
  main .wrap {
    max-width: 93.3333333333vw;
    padding: 0;
  }
  main .mv_child {
    height: 56.5333333333vw;
  }
  main .mv_child h1 {
    font-size: 6.4vw;
  }
  main h2 .main {
    font-size: 5.3333333333vw;
  }
  main h2 .main::before, main h2 .main::after {
    border-right: 2.6666666667vw solid transparent;
    border-left: 2.6666666667vw solid transparent;
    border-bottom: 2.6666666667vw solid #000;
  }
  main h2 .main::before {
    top: -2.6666666667vw;
    left: -5.8666666667vw;
  }
  main h2 .main::after {
    bottom: -4.2666666667vw;
    right: -4vw;
  }
  main h2 .sub {
    font-size: 4vw;
    margin-top: 4.5333333333vw;
  }
  main h2.white .main::before, main h2.white .main::after {
    border-bottom: 2.6666666667vw solid #fff;
  }
  main p {
    font-size: 4.2666666667vw;
    line-height: 1.875;
  }
  main .btn a {
    font-size: 4.5333333333vw;
    letter-spacing: 0.11em;
    padding: 4.5333333333vw 10.6666666667vw 4.5333333333vw 5.3333333333vw;
  }
  main .btn a::before {
    width: 8.5333333333vw;
    height: 2px;
  }
  main .btn-bg-red a {
    padding: 4.5333333333vw 10.6666666667vw;
  }
  main .btn-txt-large a {
    font-size: 4.5333333333vw;
  }
  main .btn-txt-small a {
    font-size: 4.5333333333vw;
  }
  main .contact_section {
    padding: 15.2vw 0 22.1333333333vw;
  }
  main .contact_section p {
    font-size: 4vw;
    margin-top: 9.3333333333vw;
  }
  main .contact_section .btn {
    margin-top: 13.3333333333vw;
  }
  main .contact_section .btn a {
    width: 68.2666666667vw;
    padding: 3.2vw 10.6666666667vw;
  }
  header {
    width: 100%;
    height: 13.8666666667vw;
    background: #fff;
    position: fixed;
    z-index: 100;
  }
  header .logo {
    width: 18.6666666667vw;
    margin-left: 2.6666666667vw;
  }
  header nav {
    display: block;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    background: #fff;
    position: absolute;
    overflow-y: scroll;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 100;
    padding-top: 10.6666666667vw;
  }
  header nav.open {
    opacity: 1;
    visibility: inherit;
  }
  header ul {
    display: block;
  }
  header ul li {
    padding: 0;
    margin: 0 6.4vw;
    border-bottom: 1px solid #0286DC;
  }
  header ul li a {
    font-size: 4vw;
    font-weight: 500;
    padding: 4.2666666667vw 1.6vw;
  }
  header .language {
    padding: 0;
    height: 100%;
    margin-right: 13.8666666667vw;
  }
  header .language button {
    font-size: 4vw;
    height: 100%;
    padding: 0;
    width: 18.9333333333vw;
  }
  .bogo-language-switcher {
    display: flex;
    padding: 5.5px 23px;
    height: 13.8666666667vw;
  }
  .bogo-language-switcher li {
    margin: 0;
    border-bottom: none;
  }
  
  .bogo-language-switcher li a {
    padding: 0;
  }
  header .contact{
    display: none;
  }
  header .externallink_wrap {
    display: none;
  }
  header .openbtn {
    display: block !important;
  }
  header .openbtn {
    position: absolute;
    top: 0;
    right: 0;
    background: #0286DC;
    cursor: pointer;
    width: 13.8666666667vw;
    height: 13.8666666667vw;
  }
  header .openbtn p {
    font-size: 2.6666666667vw;
    color: #fff;
    font-weight: 400;
    text-align: center;
    padding-top: 8vw;
  }
  header .openbtn .close_txt {
    display: none;
  }
  header .openbtn.active .open_txt {
    display: none;
  }
  header .openbtn.active .close_txt {
    display: block;
  }
  header .openbtn span {
    display: inline-block;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    position: absolute;
    left: 50%;
    height: 0.4vw;
    background: #fff;
    width: 55%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  header .openbtn span:nth-of-type(1) {
    top: 2.5333333333vw;
  }
  header .openbtn span:nth-of-type(2) {
    top: 4.4vw;
  }
  header .openbtn span:nth-of-type(3) {
    top: 6.2666666667vw;
  }
  header .openbtn.active span:nth-of-type(1) {
    top: 4.5333333333vw;
    -webkit-transform: translateX(-50%) rotate(-30deg);
            transform: translateX(-50%) rotate(-30deg);
    width: 55%;
  }
  header .openbtn.active span:nth-of-type(2) {
    opacity: 0;
  }
  header .openbtn.active span:nth-of-type(3) {
    top: 4.5333333333vw;
    -webkit-transform: translateX(-50%) rotate(30deg);
            transform: translateX(-50%) rotate(30deg);
    width: 55%;
  }
  footer {
    padding: 4.8vw 0 8.8vw;
  }
  footer .logo {
    display: none;
  }
  footer .txt {
    font-size: 4vw;
    right: 1.6vw;
    bottom: 1.6vw;
  }
  footer ul li {
    padding: 0;
    border: none;
  }
  footer ul li a {
    font-size: 4vw;
  }
  footer .copyright {
    font-size: 4vw;
    margin-top: 2.1333333333vw;
  }
}