@charset "UTF-8";
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, 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, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

img {
  vertical-align: bottom; }

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

body {
  line-height: 1; }

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; }

/**
 * レスポンシブのブレイクポイント設定
 */
html {
  font-size: 62.5%; }
  html * {
    visibility: hidden; }
  html.wf-active * {
    visibility: visible; }

body {
  font-size: 1.6rem;
  color: #333;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  font-family: 'Noto Sans JP', sans-serif; }

.font_serif {
  font-family: 'Noto Serif JP', serif; }

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

#container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  position: relative;
  overflow-x: hidden; }

.inner {
  position: relative;
  height: 100%;
  margin: 0 auto;
  box-sizing: border-box; }
  @media (min-width: 769px) {
    .inner {
      width: 100%;
      max-width: 1320px;
      padding: 0 20px; } }
  @media (max-width: 768px) {
    .inner {
      width: 100%;
      padding: 0 5vw; } }

.clearfix {
  *zoom: 1; }
  .clearfix:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden; }

@media (max-width: 768px) {
  .pc {
    display: none !important; } }

@media (min-width: 769px) {
  .sp {
    display: none !important; } }

/**********************************************************
 * ヘッダー
 **********************************************************/
header {
  z-index: 10;
  position: fixed;
  width: 100%;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s; }
  @media (min-width: 769px) {
    header {
      height: 80px;
      min-width: 1050px; } }
  @media (max-width: 768px) {
    header {
      height: 14.0625vw;
      /*background-color: rgba(0,104,182,.9); スマホだと白いロゴが見えない対策*/ } }
  header.fixed {
    background-color: rgba(0, 104, 182, 0.9); }
  header h1 {
    position: absolute; }
    @media (min-width: 769px) {
      header h1 {
        top: 20px;
        left: 20px; } }
    @media (max-width: 768px) {
      header h1 {
        top: 3.75vw;
        left: 3.75vw; } }
    @media (min-width: 769px) {
      header h1 img {
        width: 312px; } }
    @media (max-width: 768px) {
      header h1 img {
        width: 50vw; } }
  @media (min-width: 769px) {
    header nav {
      position: absolute;
      top: 20px;
      right: 40px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      height: 40px;
      border-radius: 20px;
      background-color: #0096DF; } }
  @media (max-width: 768px) {
    header nav {
      display: none;
      -webkit-transition: all .3s;
      -o-transition: all .3s;
      transition: all .3s; } }
  @media (max-width: 768px) {
    header nav.active {
      position: fixed;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -ms-flex-line-pack: center;
      align-content: center;
      background-color: #FFF; } }
  @media (min-width: 769px) {
    header nav ul.nav_global {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      font-size: 1.4rem;
      font-weight: 500;
      padding: 0 1em; } }
  @media (max-width: 768px) {
    header nav ul.nav_global {
      width: 100%;
      text-align: center;
      font-size: 5vw; } }
  @media (min-width: 769px) {
    header nav ul.nav_global li {
      margin: 0 1em; } }
  @media (max-width: 768px) {
    header nav ul.nav_global li {
      padding: 1em 0; } }
  header nav ul.nav_global li a {
    text-decoration: none; }
    @media (min-width: 769px) {
      header nav ul.nav_global li a {
        color: #FFF;
        -webkit-transition: all .3s;
        -o-transition: all .3s;
        transition: all .3s; } }
    @media (max-width: 768px) {
      header nav ul.nav_global li a {
        color: #0068B6; } }
    @media (min-width: 769px) {
      header nav ul.nav_global li a:hover {
        opacity: .7; } }
  header nav ul.nav_language {
    /*非表示*/
    display: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: 500; }
    @media (min-width: 769px) {
      header nav ul.nav_language {
        font-size: 1.4rem;
        padding: .4em 1em;
        border-left: solid 1px #FFF; } }
    @media (max-width: 768px) {
      header nav ul.nav_language {
        width: 100%;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-top: 10vw;
        padding-top: 15.625vw;
        background-image: url("../img/component/icon_world.svg");
        background-repeat: no-repeat;
        background-size: 9.375vw;
        background-position: center 3.125vw; } }
    header nav ul.nav_language li {
      position: relative;
      margin: 0 1em; }
      header nav ul.nav_language li + li::before {
        content: "/";
        position: absolute;
        top: 50%;
        left: -1.25em;
        transform: translateY(-50%);
        display: inline-block; }
        @media (min-width: 769px) {
          header nav ul.nav_language li + li::before {
            color: #FFF; } }
        @media (max-width: 768px) {
          header nav ul.nav_language li + li::before {
            color: #0068B6; } }
      header nav ul.nav_language li a {
        text-decoration: none; }
        @media (min-width: 769px) {
          header nav ul.nav_language li a {
            color: #FFF;
            -webkit-transition: all .3s;
            -o-transition: all .3s;
            transition: all .3s; } }
        @media (max-width: 768px) {
          header nav ul.nav_language li a {
            color: #0068B6; } }
        header nav ul.nav_language li a.current, header nav ul.nav_language li a.current:hover {
          opacity: .5;
          cursor: default; }
        @media (min-width: 769px) {
          header nav ul.nav_language li a:hover {
            opacity: .7; } }

.menu_trigger {
  z-index: 101;
  position: absolute;
  top: 50%;
  right: 4.0625vw;
  transform: translateY(-50%);
  width: 6.25vw;
  height: 5vw;
  padding: 1.875vw;
  background-color: #0096DF; }
  .menu_trigger .menu_line {
    position: relative;
    width: 6.25vw;
    height: 5vw; }
    .menu_trigger .menu_line span {
      position: absolute;
      left: 0;
      width: 100%;
      height: 0.625vw;
      background-color: #FFF;
      display: inline-block;
      -webkit-transition: all .3s;
      -o-transition: all .3s;
      transition: all .3s;
      box-sizing: border-box; }
      .menu_trigger .menu_line span:nth-of-type(1) {
        top: 0; }
      .menu_trigger .menu_line span:nth-of-type(2) {
        top: 2.1875vw; }
      .menu_trigger .menu_line span:nth-of-type(3) {
        bottom: 0; }
  .menu_trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(2.1875vw) rotate(-45deg);
    transform: translateY(2.1875vw) rotate(-45deg); }
  .menu_trigger.active span:nth-of-type(2) {
    opacity: 0; }
  .menu_trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-2.1875vw) rotate(45deg);
    transform: translateY(-2.1875vw) rotate(45deg); }

/**********************************************************
 * メイン
 **********************************************************/
main section h2 .en {
  font-weight: 500;
  color: #0068B6; }
  @media (min-width: 769px) {
    main section h2 .en {
      font-size: 1.5rem; } }
  @media (max-width: 768px) {
    main section h2 .en {
      font-size: 4.375vw; } }
main section h2 .jp {
  font-weight: 600;
  color: #231815; }
main .btn_default {
  position: relative;
  display: block;
  text-align: center;
  font-weight: 500;
  text-decoration: none;
  color: #FFF;
  background-color: #333;
  box-sizing: border-box;
  padding: 1.3667em 1em 1.3667em 0;
  border-radius: 3.73333em; }
  @media (min-width: 769px) {
    main .btn_default {
      width: 256px;
      font-size: 1.5rem;
      -webkit-transition: all .3s;
      -o-transition: all .3s;
      transition: all .3s; } }
  @media (max-width: 768px) {
    main .btn_default {
      width: 80vw;
      font-size: 4.6875vw;
      margin: 0 auto; } }
  @media (min-width: 769px) {
    main .btn_default:hover {
      opacity: .7; } }
  main .btn_default::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
    width: 1.5em;
    height: 1.5em;
    background-image: url("../img/component/arrow_right_white.svg");
    background-size: 100%; }
main .breadcrumb_wrapper {
  background: #e8e7e9; }
  main .breadcrumb_wrapper .breadcrumb {
    margin: 0 auto; }
    @media (min-width: 769px) {
      main .breadcrumb_wrapper .breadcrumb {
        padding: 13.5px 0;
        max-width: 1240px;
        font-size: 1.3rem; } }
    @media (max-width: 768px) {
      main .breadcrumb_wrapper .breadcrumb {
        padding: 3.2vw;
        font-size: 3.2vw; } }
  main .breadcrumb_wrapper .breadcrumb > li {
    display: inline-block; }
  main .breadcrumb_wrapper .breadcrumb li:not(:last-child)::after {
    content: ">";
    padding: 0 .25em 0 .5em; }
  main .breadcrumb_wrapper a {
    color: #333333;
    text-decoration: none;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s; }
  main .breadcrumb_wrapper a:hover {
    opacity: .7; }
main .m-title {
  font-weight: 600;
  color: #ffffff;
  letter-spacing: 0.2em;
  text-align: center;
  background: #0068b6; }
  @media (min-width: 769px) {
    main .m-title {
      margin: 0 0 60px;
      padding: 25.5px 0;
      font-size: 2.9rem; } }
  @media (max-width: 768px) {
    main .m-title {
      margin: 0 0 8vw;
      padding: 5.33vw 0 5.87vw;
      font-size: 6.93vw; } }
main .business_link {
  display: flex;
  justify-content: center;
  align-items: center; }
  @media (min-width: 769px) {
    main .business_link {
      margin: 0 auto 56px; } }
  @media (max-width: 768px) {
    main .business_link {
      margin: 0 auto 8vw; } }
  main .business_link li a {
    display: block;
    font-weight: 600;
    color: #231815;
    text-decoration: none;
    text-align: center;
    letter-spacing: 0.05em;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s; }
    @media (min-width: 769px) {
      main .business_link li a {
        padding: 15px 0;
        width: 160px;
        font-size: 1.6rem;
        border-bottom: 4px solid #c1c1c1; } }
    @media (max-width: 768px) {
      main .business_link li a {
        padding: 2.67vw 0;
        width: 26.67vw;
        font-size: 3.73vw;
        border-bottom: 0.8vw solid #c1c1c1; } }
  @media (min-width: 769px) {
    main .business_link li a:hover {
      border-bottom: 4px solid #0068b6; } }
  @media (max-width: 768px) {
    main .business_link li a:hover {
      border-bottom: 0.8vw solid #0068b6; } }
  @media (min-width: 769px) {
    main .business_link li.is-active a {
      border-bottom: 4px solid #0068b6; } }
  @media (max-width: 768px) {
    main .business_link li.is-active a {
      border-bottom: 0.8vw solid #0068b6; } }
  @media (min-width: 769px) {
    main .business_link li + li {
      margin: 0 0 0 5px; } }
  @media (max-width: 768px) {
    main .business_link li + li {
      margin: 0 0 0 1.33vw; } }
main .m-page_title {
  font-weight: 600;
  color: #231815;
  letter-spacing: 0.05em;
  text-align: center; }
  @media (min-width: 769px) {
    main .m-page_title {
      font-size: 2.4rem; } }
  @media (max-width: 768px) {
    main .m-page_title {
      font-size: 6.13vw; } }

/**********************************************************
 * フッター
 **********************************************************/
footer {
  margin-top: auto;
  color: #FFF;
  background-color: #0068B6; }
  @media (min-width: 769px) {
    footer {
      padding: 40px 0 50px; } }
  @media (max-width: 768px) {
    footer {
      padding: 5vw 0; } }
  @media (min-width: 769px) {
    footer h2 {
      width: 175px; } }
  @media (max-width: 768px) {
    footer h2 {
      width: 44vw;
      margin: 6.25vw auto; } }
  footer .signature {
    line-height: 1.75; }
    @media (min-width: 769px) {
      footer .signature {
        position: absolute;
        top: 0;
        right: 20px;
        font-size: 1.2rem; } }
    @media (max-width: 768px) {
      footer .signature {
        font-size: 3.75vw; } }
  footer .copyright {
    font-weight: 500; }
    @media (min-width: 769px) {
      footer .copyright {
        position: absolute;
        bottom: 0;
        right: 20px;
        font-size: 1.2rem; } }
    @media (max-width: 768px) {
      footer .copyright {
        display: block;
        text-align: center;
        font-size: 3.75vw; } }

/**********************************************************
 * モーダル
 **********************************************************/
.modal_content {
  display: none;
  position: fixed;
  background-color: #fff;
  box-sizing: border-box;
  z-index: 101;
  height: 100vh;
  overflow: auto; }
  @media (min-width: 769px) {
    .modal_content {
      width: 715px;
      padding: 30px; } }
  @media (max-width: 768px) {
    .modal_content {
      width: 90vw;
      padding: 12.5vw 4.6875vw 4.6875vw; } }
  .modal_content .modal_close {
    position: absolute; }
    @media (min-width: 769px) {
      .modal_content .modal_close {
        top: 20px;
        right: 20px;
        cursor: pointer;
        font-size: 1.6rem; } }
    @media (max-width: 768px) {
      .modal_content .modal_close {
        top: 4.6875vw;
        right: 4.6875vw;
        font-size: 4.375vw; } }
    @media (min-width: 769px) {
      .modal_content .modal_close:hover {
        opacity: .7; } }

.modal_overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 120%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 100; }

/**********************************************************
 * フォーム
 **********************************************************/
input,
textarea,
select,
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.wrapText {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
  box-sizing: border-box; }
  .wrapText input[type="text"],
  .wrapText input[type="email"],
  .wrapText input[type="tel"] {
    width: 100%;
    height: 100%;
    font-size: 1.4rem;
    padding: .6em .8em;
    outline: 0;
    border: solid 1px #4c4c4c;
    border-radius: 5px;
    box-sizing: border-box; }
    @media (max-width: 768px) {
      .wrapText input[type="text"],
      .wrapText input[type="email"],
      .wrapText input[type="tel"] {
        font-size: 3.75vw; } }
    .wrapText input[type="text"]:-webkit-autofill,
    .wrapText input[type="email"]:-webkit-autofill,
    .wrapText input[type="tel"]:-webkit-autofill {
      -webkit-box-shadow: 0 0 0px 1000px #fff inset; }
  .wrapText button {
    border: none;
    background-color: inherit;
    outline: none;
    cursor: pointer;
    box-sizing: border-box; }

.wrapSelect {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%; }
  .wrapSelect::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    width: 15px;
    height: 15px;
    background-image: url("../img/component/arrowBottom@2x.png");
    background-repeat: no-repeat;
    background-size: 15px; }
  .wrapSelect select {
    width: 100%;
    height: 100%;
    font-size: 1.4rem;
    padding: 0 .8em;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-shadow: none;
    outline: none;
    background: #fff;
    border: solid 1px #4c4c4c;
    border-radius: 5px;
    box-sizing: border-box; }
    @media (max-width: 768px) {
      .wrapSelect select {
        font-size: 3.75vw; } }

textarea {
  width: 100%;
  height: 100px;
  font-size: 1.4rem;
  padding: .5em .8em;
  outline: 0;
  border: solid 1px #4c4c4c;
  border-radius: 5px;
  box-sizing: border-box;
  resize: vertical; }
  @media (max-width: 768px) {
    textarea {
      font-size: 3.75vw; } }
