@charset "UTF-8";
/**
 * OjiFTex Custom Styles
 */
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, 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:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

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

*, *:before, *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body {
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: #000;
}

a:hover {
  color: #000;
}

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

input {
  margin: 0;
  padding: 0;
}

textarea {
  padding: 0;
  font: inherit;
  color: inherit;
}

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

@media (max-width: 767px) {
  body {
    font-size: 14px;
  }
}
.g-header a,
.g-nav a {
  color: inherit;
  text-decoration: none;
}

/* header */
.g-header_inner {
  display: grid;
  margin: 0 auto;
  max-width: 1200px;
}
.g-header_logo {
  display: block;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.g-header_logo:hover {
  opacity: 0.6;
}
.g-header_logo img {
  display: block;
}
.g-header_logo img.--home {
  display: none;
}
.g-header_cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 14px;
  white-space: nowrap;
}

@media (min-width: 768px) {
  .g-header_inner {
    grid-template-columns: auto 1fr auto;
    grid-template-areas: "logo links cta" ".    tel   cta" "gnav gnav  gnav";
  }
  .g-header_sitename {
    grid-area: logo;
  }
  .g-header_menu {
    grid-area: menu;
    display: contents;
    grid-template-columns: 1fr auto;
    grid-template-areas: "links cta" "tel   cta" "gnav  gnav";
  }
  .g-header_nav {
    grid-area: links;
  }
  .g-header_contact {
    grid-area: tel;
  }
  .g-header_cta {
    grid-area: cta;
  }
  .g-nav {
    grid-area: gnav;
  }
}
@media (max-width: 767px) {
  .g-header_inner {
    grid-template-columns: 1fr auto;
    grid-template-areas: "logo hamburger" "menu menu";
  }
  .g-header_sitename {
    grid-area: logo;
  }
  .g-header_hamburger {
    grid-area: hamburger;
  }
  .g-header_menu {
    grid-area: menu;
    display: grid;
    grid-template-areas: "navbtn" "navmenu" "navlink" "navlang";
  }
  .g-header_menu.is-open {
    display: grid;
  }
  .g-header_nav {
    grid-area: navlang;
  }
  .g-header_cta {
    grid-area: navbtn;
  }
  .g-nav {
    grid-area: navmenu;
  }
}
@media (min-width: 768px) {
  .g-header {
    height: 157px;
  }
  .g-header_inner {
    height: 101px;
    -webkit-box-align: initial;
        -ms-flex-align: initial;
            align-items: initial;
    padding: 0 !important;
    max-width: 1440px;
  }
  .g-header_sitename {
    margin: 30px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .g-header_title {
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .g-header_desc {
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 1.5;
    min-width: 15em;
    margin-left: 40px;
    margin-left: 2.77vw;
  }
  .g-header_nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 19px 0 0;
    margin-right: 1.31vw;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    font-size: 13px;
  }
  .g-header_links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .g-header_links a:hover {
    text-decoration: underline;
  }
  .g-header_links li {
    margin-left: 25px;
    margin-left: 1.73vw;
    white-space: nowrap;
  }
  .g-header_links__recs {
    padding-left: 84px;
    position: relative;
  }
  .g-header_links__recs::before, .g-header_links__recs::after {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .g-header_links__recs::before {
    background: #45B035;
    border-radius: 2px;
    color: #FFF;
    content: "積極採用中！";
    font-size: 11px;
    width: 83px;
    height: 22px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    left: -6px;
  }
  .g-header_links__recs::after {
    border-style: solid;
    border-width: 3px 0 3px 4px;
    border-color: transparent transparent transparent #45B035;
    content: "";
    display: block;
    width: 0;
    height: 0;
    left: 77px;
  }
  .g-header_langs {
    margin-left: 19px;
    position: relative;
  }
  .g-header_langs__btn {
    padding: 0 18px 0 23px;
    position: relative;
  }
  .g-header_langs__btn::before, .g-header_langs__btn::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
  }
  .g-header_langs__btn::before {
    background: url(/assets/images/common/icon_global_gy.svg) no-repeat 0 0/contain;
    width: 16px;
    height: 16px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 0;
  }
  .g-header_langs__btn::after {
    border-style: solid;
    border-width: 6px 4px 0 4px;
    border-color: #0758BE transparent transparent;
    width: 0;
    height: 0;
    right: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .g-header_lang {
    background: #F5F5F5;
    border-radius: 6px;
    font-size: 14px;
    padding: 28px 40px 25px 40px;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 99999;
    margin-top: 10px;
    display: none;
  }
  .g-header_lang a {
    color: #000;
    display: block;
    padding: 0.5em;
  }
  .g-header_lang a.is-current {
    color: #0758BE;
    font-weight: bold;
  }
  .g-header_lang a:hover {
    text-decoration: underline;
  }
  .g-header_lang a[data-stt-changelang][data-stt-active] {
    font-weight: bold;
    text-decoration: none;
  }
  .g-header [data-stt-disabled] .g-header_lang * {
    color: #999;
  }
  .g-header_contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
    width: 100%;
  }
  .g-header_contact__tel {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 25px;
    font-weight: bold;
    line-height: 1.16;
    padding-left: 29px;
    position: relative;
  }
  .g-header_contact__tel::before {
    background: url(/assets/images/common/icon_tel.svg) no-repeat 0 0/contain;
    content: "";
    display: block;
    width: 26px;
    height: 26px;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .g-header_contact__time {
    font-size: 12px;
    margin-left: 10px;
  }
  .g-header_cta {
    height: 100px;
    text-align: center;
    -ms-flex-item-align: center;
        align-self: center;
  }
  .g-header_cta a {
    display: block;
    font-size: 14px;
    font-size: 0.97vw;
    font-size: clamp(10px, 0.97vw, 14px);
    line-height: 1.3;
    padding: 49px 1.6em 13px;
    position: relative;
    width: 130px;
    width: 9.3em;
    height: 100px;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
  }
  .g-header_cta a::before {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    width: 32px;
    height: 32px;
    position: absolute;
    top: 13px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .g-header_cta a:hover {
    opacity: 0.6;
  }
  .g-header_cta a.--catalog {
    background: #EDF5FF;
    color: #0758BE;
  }
  .g-header_cta a.--catalog::before {
    background-image: url(/assets/images/common/icon_document.svg);
  }
  .g-header_cta a.--contact {
    background: #0758BE;
    color: #FFF;
  }
  .g-header_cta a.--contact::before {
    background-image: url(/assets/images/common/icon_letter_wh.svg);
  }
  .g-header_hamburger {
    display: none;
  }
}
@media (max-width: 1239px) {
  .g-header_desc {
    display: none;
  }
}
@media (max-width: 959px) {
  .g-header_links__recs {
    padding-left: 0;
  }
  .g-header_links__recs::before, .g-header_links__recs::after {
    display: none;
  }
  .g-header_contact {
    display: none;
  }
}
@media (max-width: 849px) {
  .g-header {
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
            box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
    height: 106px;
  }
  .g-header_inner {
    height: 50px;
  }
  .g-header_sitename {
    margin: 10px 0;
  }
  .g-header_logo img {
    width: 241px;
    height: 30px;
  }
  .g-header_desc, .g-header_contact {
    display: none;
  }
  .g-header_cta {
    height: 50px;
  }
  .g-header_cta a {
    padding: 10px 20px 9px;
    width: 72px;
    height: 50px;
  }
  .g-header_cta a::before {
    top: 10px;
  }
  .g-header_cta__label {
    display: none;
  }
  .g-header_langs__label span {
    display: none;
  }
}
@media (max-width: 767px) {
  .g-header {
    background: #FFF;
    height: 60px;
  }
  .g-header_inner {
    background: #FFF;
    height: 60px;
    padding: 0;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 99;
  }
  .g-header_sitename {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 17px 15px;
    height: 60px;
    margin: 0;
  }
  .g-header_logo img {
    width: 209px;
    height: auto;
  }
  .g-header_desc {
    display: none;
  }
  .g-header_menu {
    background: #F5F5F5;
  }
  .g-header_menu.--pc {
    display: none;
  }
  .g-header_menu {
    /*
    position: fixed;
    top: 60px;
    right: 0;
    left: 0;
    width: 100%;
    */
  }
  .g-header_menu a {
    color: #000;
  }
  .g-header_hamburger {
    display: block;
    width: 60px;
    height: 60px;
  }
  .g-header_hamburger__btn {
    width: 100%;
    height: 100%;
    position: relative;
  }
  .g-header_hamburger span,
  .g-header_hamburger span::before,
  .g-header_hamburger span::after {
    background: #0758BE;
    display: block;
    width: 20px;
    height: 1px;
    position: absolute;
    left: 50%;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .g-header_hamburger span::before,
  .g-header_hamburger span::after {
    content: "";
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .g-header_hamburger span {
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  .g-header_hamburger span::before {
    top: -7px;
  }
  .g-header_hamburger span::after {
    bottom: -7px;
  }
  .g-header_langs {
    background: #FFF;
    border-radius: 999px;
    margin-top: 30px;
    padding: 13px 40px 13px 70px;
    position: relative;
  }
  .g-header_langs::before {
    background: url(/assets/images/common/icon_global_gy.svg) no-repeat 0 0/contain;
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    position: absolute;
    top: 50%;
    left: 15px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .g-header_langs__label {
    display: none;
  }
  .g-header_lang {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-align: center;
  }
  .g-header_lang li {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .g-header_lang li:nth-child(n+2) {
    border-left: 1px solid #DDD;
    margin-left: 1em;
    padding-left: 1em;
  }
  .g-header_cta {
    gap: 15px;
    height: auto;
  }
  .g-header_cta li {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .g-header_cta a {
    border: 1px solid #0758BE;
    border-radius: 6px;
    display: block;
    font-weight: bold;
    line-height: 1.3;
    padding: 16px 15px 16px 56px;
    width: 100%;
    height: auto;
    white-space: nowrap;
    position: relative;
  }
  .g-header_cta a::before {
    content: "";
    display: block;
    width: 32px;
    height: 32px;
    position: absolute;
    top: 50%;
    left: 13px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .g-header_cta a.--catalog {
    background: #FFF;
    color: #0758BE !important;
  }
  .g-header_cta a.--catalog::before {
    background: url(/assets/images/common/icon_document_bl.svg) no-repeat 0 0/contain !important;
  }
  .g-header_cta a.--contact {
    background: #0758BE;
    color: #FFF;
  }
  .g-header_cta a.--contact::before {
    background: url(/assets/images/common/icon_letter_wh.svg) no-repeat 0 0/contain;
  }
  .g-header_cta__label {
    display: block;
  }
  .g-header_contact {
    display: none;
  }
}
/* global navigation */
.g-nav_inner {
  max-width: 1200px;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .g-nav {
    height: 56px;
  }
  .g-nav::before {
    background: #DDD;
    content: "";
    display: block;
    width: 100%;
    height: 1px;
  }
  .g-nav_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .g-nav_item {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    padding: 0 30px;
    position: relative;
    text-align: center;
  }
  .g-nav_item + .g-nav_item::before {
    background: #DDD;
    content: "";
    display: block;
    width: 1px;
    height: 1.25em;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .g-nav_item:hover .g-nav_child {
    display: grid;
  }
  .g-nav_label {
    display: block;
    padding: 1.25em 0;
    position: relative;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
  }
  .g-nav_label::before {
    background: #45B035;
    content: "";
    display: block;
    width: 120px;
    height: 4px;
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    opacity: 0;
  }
  .g-nav_label.is-current::before, .g-nav_label:hover::before {
    opacity: 1;
  }
  .g-nav_child {
    background: #F5F5F5;
    border-radius: 0 0 6px 6px;
    font-size: 14px;
    display: grid;
    grid-template-columns: auto auto;
    gap: 15px 30px;
    padding: 30px 25px;
    position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    text-align: left;
    width: 415px;
    z-index: 10;
    display: none;
  }
}
.g-list_child li a {
  color: #000 !important;
  padding: 0.7em 0 0.7em 18px;
  position: relative;
}
.g-list_child li a::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent #0758BE;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.g-list_child li a:hover {
  text-decoration: underline;
}

/* sp menu */
@media (max-width: 767px) {
  .g-header_links li {
    border-bottom: 1px solid #DDD;
  }
  .g-header_links li a {
    display: block;
    padding: 20px 0;
  }
  .g-header_menu .g-nav {
    display: block;
  }
  .g-nav {
    display: none;
  }
  .g-nav_list {
    border-top: 1px solid #DDD;
    margin-top: 25px;
  }
  .g-nav_item {
    border-bottom: 1px solid #DDD;
  }
  .g-nav_item a {
    display: block;
    padding: 20px 0;
  }
  .g-accordion_opener {
    padding: 20px 0;
    position: relative;
  }
  .g-accordion_opener::after {
    background: url(/assets/images/common/icon_plus.svg) no-repeat 0 0/contain;
    content: "";
    display: block;
    width: 15px;
    height: 15px;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .g-accordion_opener.is-active::after {
    background-image: url(/assets/images/common/icon_minus.svg);
  }
  .g-accordion_body {
    background: #FFF;
    border-radius: 6px;
    margin-bottom: 20px;
    padding: 25px;
    display: none;
  }
  .g-accordion_body li {
    border-bottom: none;
    padding: 0;
  }
}
@media (min-width: 768px) {
  [data-scrolled=true] .g-header {
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
            box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
    height: 106px;
  }
  [data-scrolled=true] .g-header_inner {
    height: 50px;
  }
  [data-scrolled=true] .g-header_sitename {
    margin: 10px 0;
  }
  [data-scrolled=true] .g-header_logo img {
    width: 241px;
    height: 30px;
  }
  [data-scrolled=true] .g-header_desc, [data-scrolled=true] .g-header_contact {
    display: none;
  }
  [data-scrolled=true] .g-header_cta {
    height: 50px;
  }
  [data-scrolled=true] .g-header_cta a {
    padding: 10px 20px 9px;
    width: 72px;
    height: 50px;
  }
  [data-scrolled=true] .g-header_cta a::before {
    top: 10px;
  }
  [data-scrolled=true] .g-header_cta__label {
    display: none;
  }
}
[data-scrolled=false] .home .g-header,
[data-scrolled=false] .home .g-header_inner {
  background: transparent;
}
[data-scrolled=false] .home .g-header::after {
  display: none;
}
[data-scrolled=false] .home .g-header_logo img.--home {
  display: block;
}
[data-scrolled=false] .home .g-header_logo img.--default {
  display: none;
}

@media (min-width: 768px) {
  [data-scrolled=false] .home .g-header,
  [data-scrolled=false] .home .g-nav {
    z-index: 100;
  }
  [data-scrolled=false] .home .g-header,
  [data-scrolled=false] .home .g-nav a {
    color: #FFF;
  }
  [data-scrolled=false] .home .g-header_langs__btn::before {
    background-image: url(/assets/images/common/icon_global_wh.svg);
  }
  [data-scrolled=false] .home .g-header_contact__tel::before {
    background-image: url(/assets/images/common/icon_tel_wh.svg);
  }
  [data-scrolled=false] .home .g-header_cta a.--catalog {
    background: rgba(255, 255, 255, 0.15);
    color: #FFF;
  }
  [data-scrolled=false] .home .g-header_cta a.--catalog::before {
    background-image: url(/assets/images/common/icon_document_wh.svg);
  }
  [data-scrolled=false] .home .g-header_langs__btn::after {
    border-color: #FFF transparent transparent;
  }
  [data-scrolled=false] .home .g-nav::before {
    background: rgba(255, 255, 255, 0.3);
  }
  [data-scrolled=false] .home .g-nav_item + .g-nav_item::before {
    display: none;
  }
}
@media (max-width: 767px) {
  [data-scrolled=false] .home .g-header_hamburger span,
  [data-scrolled=false] .home .g-header_hamburger span::before,
  [data-scrolled=false] .home .g-header_hamburger span::after {
    background-color: #FFF;
  }
}
.p-drawerUnderlayer,
[data-header-above] .p-drawerUnderlayer {
  background: rgba(0, 0, 0, 0.6);
}

.p-drawer,
[data-header-above] .p-drawer {
  background: none !important;
}

.p-drawer__inner,
[data-drawer-move=fade] .p-drawer__inner {
  max-width: 100%;
}

.p-drawer__body {
  background: #F5F5F5;
  padding: 6.66vw 5.33vw 10.66vw;
}

[data-drawer=opened] .g-header_hamburger__btn span {
  background: transparent !important;
}
[data-drawer=opened] .g-header_hamburger__btn span::before {
  top: 0;
  -webkit-transform: translateX(-50%) rotate(45deg);
          transform: translateX(-50%) rotate(45deg);
}
[data-drawer=opened] .g-header_hamburger__btn span::after {
  top: 0;
  -webkit-transform: translateX(-50%) rotate(-45deg);
          transform: translateX(-50%) rotate(-45deg);
}

/* footer */
.g-footer a {
  color: inherit;
  text-decoration: none;
}
.g-footer_fill {
  background: #F5F5F5 url(/assets/images/common/parts_footer_map.svg) no-repeat 100% 100%/50% auto;
}
.g-footer_inner {
  max-width: 1200px;
  margin: 0 auto;
}
.g-footer_copyright {
  color: #666;
}
.g-footer_groups {
  max-width: 300px;
}
.g-footer_groups__name {
  display: block;
}
.g-footer_groups__name:nth-child(n+2) {
  margin-top: 1.5em;
}
.g-footer_groups__name a {
  background: #FFF;
  border-radius: 999px;
  display: block;
  font-size: 14px;
  padding: 0.85em 1em;
  position: relative;
  text-align: center;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.g-footer_groups__name a::after {
  background: url(/assets/images/common/icon_blank.svg) no-repeat 0 0/contain;
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  top: 50%;
  right: 18px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.g-footer_groups__name a:hover {
  opacity: 0.6;
}
.g-footer_groups__desc {
  font-size: 12px;
  line-height: 1.5;
  margin-top: 0.9em;
}

@media (min-width: 768px) {
  .g-footer_fill {
    padding: 80px 0;
  }
  .g-footer_info {
    max-width: 374px;
  }
  .g-footer_address {
    font-size: 14px;
    line-height: 1.5;
    margin-top: 30px;
  }
  .g-footer_groups {
    margin-top: 60px;
  }
  .g-footer_tel {
    font-size: 14px;
    margin-top: 0.5em;
  }
  .g-footer_nav, .g-footer_maps, .g-footer_data {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .g-footer_nav {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .g-footer_data {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 30px 0;
  }
  .g-footer_map__box {
    margin-left: 60px;
  }
  .g-footer_map__item:nth-child(n+2) {
    margin-top: 40px;
  }
  .g-footer_map__label {
    font-size: 16px;
    font-weight: bold;
  }
  .g-footer_map__list a:hover {
    text-decoration: underline;
  }
  .g-footer_map__list.g-footer_map__child {
    border-left: 1px solid #DDD;
    margin-top: 30px;
    padding-left: 19px;
  }
  .g-footer_map__list.g-footer_map__child li + li {
    margin-top: 1em;
  }
  .g-footer_copyright {
    font-size: 12px;
  }
  .g-footer_links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 14px;
  }
  .g-footer_links a:hover {
    text-decoration: underline;
  }
  .g-footer_links li + li {
    border-left: 1px solid #DDD;
    margin-left: 1em;
    padding-left: 1em;
  }
}
@media (max-width: 767px) {
  .g-footer_nav, .g-footer_data {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .g-footer_info {
    padding: 40px 0 85px;
    text-align: center;
  }
  .g-footer_info address {
    font-size: 12px;
    line-height: 1.5;
    margin-top: 20px;
  }
  .g-footer_groups {
    margin: 40px auto 0;
  }
  .g-footer_groups__desc {
    text-align: left;
  }
  .g-footer_nav {
    padding: 25px 20px 0;
  }
  .g-footer_map__opener {
    position: relative;
  }
  .g-footer_map__opener::after {
    background: url(/assets/images/common/icon_plus.svg) no-repeat 0 0/contain;
    content: "";
    width: 15px;
    height: 15px;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .g-footer_map__opener.is-active::after {
    background-image: url(/assets/images/common/icon_minus.svg);
  }
  .g-footer_map__list li {
    border-bottom: 1px solid #DDD;
  }
  .g-footer_map__list a {
    display: block;
    padding: 20px 0;
    position: relative;
  }
  .g-footer_map__list.g-footer_map__child {
    background: #FFF;
    border-radius: 6px;
    margin-bottom: 20px;
    padding: 25px;
    display: none;
  }
  .g-footer_map__list.g-footer_map__child li {
    border-bottom: none;
    padding: 0;
  }
  .g-footer_map__list.g-footer_map__child li a {
    padding: 0.7em 0 0.7em 18px;
    position: relative;
  }
  .g-footer_map__list.g-footer_map__child li a::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0 4px 6px;
    border-color: transparent transparent transparent #0758BE;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .g-footer_data {
    padding: 20px;
    text-align: center;
  }
  .g-footer_copyright {
    font-size: 10px;
    margin-top: 20px;
  }
  .g-footer_links {
    font-size: 12px;
  }
  .g-footer_links li {
    display: inline-block;
  }
  .g-footer_links li + li {
    border-left: 1px solid #DDD;
    margin-left: 1em;
    padding-left: 1em;
  }
}
/* button: pagetop */
.c-fixBtn {
  background: linear-gradient(225deg, #bed58c 0%, #00ac8d 5.9%, #00849c 42.4%, #046dae 68%, #0758be 100%);
  border-radius: 50px;
  -webkit-box-shadow: none;
          box-shadow: none;
  width: 50px;
  height: 50px;
  opacity: 1;
}
.c-fixBtn:hover {
  opacity: 0.6;
}
.c-fixBtn_icon {
  background: url(/assets/images/common/icon_arrow_up.svg) no-repeat 0 0/contain;
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.l-main {
  padding-bottom: 40px;
}

.l-container,
.l-article {
  margin: 0;
  max-width: 100%;
  padding-right: 0;
  padding-left: 0;
}

.l-layouter,
.l-content_inner {
  margin-right: auto;
  margin-left: auto;
  max-width: 1200px;
}

/* section */
.l-section {
  margin: 60px 0;
}
.l-section_inner {
  margin-right: auto;
  margin-left: auto;
  max-width: 1200px;
  width: 98%;
}
.l-section_inner.--vertical {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-section_inner.--vertical .l-section_head {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 300px;
          flex: 0 0 300px;
}
.l-section_inner.--vertical .l-section_head .c-lead_section {
  margin: 30px 0 0 0;
}
.l-section_inner.--vertical .l-section_main {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.l-section_inner.--vertical .c-card_list.--col3 {
  gap: 25px;
}
.l-section_head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  margin: 0 auto 60px;
  max-width: 1200px;
}
.l-section_head .c-heading--section {
  margin-bottom: 0;
}
.l-section_btn {
  margin-top: 60px;
  text-align: center;
}
.l-section.u-fill_blue {
  margin: 0;
}
@media (min-width: 768px) {
  .l-section_inner.u-fill_blue,
  .u-fill_blue > .l-section_inner {
    padding: 60px 0;
  }
}
@media (max-width: 767px) {
  .l-main {
    padding-bottom: 20px;
  }
  .l-layouter,
  .l-section_inner {
    padding-right: 4%;
    padding-left: 4%;
    width: 100%;
  }
  .l-section {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .l-section_inner.--vertical {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .l-section_inner.--vertical .l-section_head {
    margin-left: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .l-section_inner.--vertical .l-section_head .c-lead_section {
    margin: 30px 0 0 0;
  }
  .l-section_head {
    margin-bottom: 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .l-section_btn {
    margin-top: 40px;
  }
  .l-section_inner.u-fill_blue,
  .u-fill_blue > .l-section_inner {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
/* btn */
.c-btn {
  border-radius: 999px;
  color: inherit;
  display: inline-block;
  font-size: 18px;
  padding: 0.85em 2.5em;
  position: relative;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.c-btn_primary {
  background: #0758BE;
  color: #FFF !important;
  min-width: 300px;
}
.c-btn_rectangle {
  border-radius: 6px;
}
.c-btn_m {
  font-size: 100%;
}
.c-btn_s {
  font-size: 14px;
  padding: 0.6em 3em;
}
.c-btn_box {
  margin-top: 40px;
}
.c-btn.--arrow::before {
  background: url(/assets/images/common/icon_arrow_right_wh.svg) no-repeat 0 0/contain;
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 50%;
  right: 18px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-btn.--back::before {
  background: url(/assets/images/common/icon_arrow_left_wh.svg) no-repeat 0 0/contain;
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 50%;
  left: 18px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-btn.--blue {
  background: #0758BE;
  color: #FFF;
}
.c-btn.--plus::before {
  background: url(/assets/images/common/icon_plus_wh.svg) no-repeat 0 0/contain;
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 50%;
  right: 18px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-btn.--blank::before {
  background: url(/assets/images/common/icon_blank_wh.svg) no-repeat 0 0/contain;
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 50%;
  right: 18px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-btn:hover {
  opacity: 0.6;
  text-decoration: none !important;
}

@media (max-width: 767px) {
  .c-btn_m {
    font-size: 14px;
    padding: 0.6em 1.75em;
  }
  .c-btn_m.--arrow {
    padding-right: 2.65em;
  }
  .c-btn_m.--arrow::before {
    width: 18px;
    height: 18px;
    right: 12px;
  }
  .c-btn_s {
    font-size: 12px;
    padding: 0.45em 2em 0.45em 1em;
  }
  .c-btn_s.--arrow::before {
    width: 14px;
    height: 14px;
    right: 9px;
  }
  .c-btn_box {
    margin-top: 20px;
  }
}
/* cta */
.c-cta {
  background: linear-gradient(225deg, #bed58c 0%, #00ac8d 5.9%, #00849c 42.4%, #046dae 68%, #0758be 100%);
  padding: 48px 0;
  position: relative;
  text-align: center;
}
.c-cta::before {
  background: url(/assets/images/common/bg_cta.png) no-repeat 50% 0/cover;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.c-cta.--empty {
  padding: 10px;
}
.c-cta_inner {
  margin: 0 auto;
  position: relative;
  max-width: 1200px;
}
.c-cta_catch {
  color: #FFF;
  font-size: 32px;
  font-weight: bold;
  line-height: 1.4;
}
.c-cta_desc {
  color: #FFF;
  line-height: 1.5;
  margin-top: 1em;
}
.c-cta_btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 30px;
  margin: 40px auto 0;
  max-width: 1020px;
}
.c-cta_btns.--col1 .c-cta_btn {
  -webkit-box-flex: initial;
      -ms-flex: initial;
          flex: initial;
  max-width: initial;
}
.c-cta_btn {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  max-width: 320px;
}
.c-cta_btn__link {
  background: #FFF;
  border-radius: 999px;
  color: #0758BE;
  display: block;
  font-weight: bold;
  padding: 1em;
  padding-right: 60px;
  padding-left: 76px;
  position: relative;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.c-cta_btn__link:hover {
  color: #0758BE;
  opacity: 0.6;
}
.c-cta_btn__link::before, .c-cta_btn__link::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-cta_btn__link::before {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
  width: 28px;
  height: 28px;
  left: 24px;
}
.c-cta_btn__link::after {
  background: url(/assets/images/common/icon_arrow_right_bl.svg) no-repeat 0 0/contain;
  width: 14px;
  height: 14px;
  right: 27px;
}
.c-cta_btn__link.--letter::before {
  background-image: url(/assets/images/common/icon_letter.svg);
}
.c-cta_btn__link.--document::before {
  background-image: url(/assets/images/common/icon_document.svg);
}
.c-cta_btn__link.--balloon::before {
  background-image: url(/assets/images/common/icon_balloon.svg);
}

@media (min-width: 768px) {
  .l-section_inner .c-cta.--simple {
    border-radius: 10px;
  }
}
@media (max-width: 767px) {
  .c-cta {
    padding: 40px 30px;
  }
  .c-cta_inner {
    text-align: left;
  }
  .c-cta_catch {
    font-size: 24px;
    line-height: 1.38;
  }
  .c-cta_desc {
    font-size: 14px;
    line-height: 1.5;
  }
  .c-cta_btns {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
    margin: 30px 20px 0;
  }
  .c-cta_btns.--col1 {
    margin-right: 0;
    margin-left: 0;
  }
  .c-cta_btn {
    background: #FFF;
    border-radius: 999px;
    max-width: 100%;
  }
  .c-cta_btn__link {
    padding: 1em;
    padding-right: 40px;
    padding-left: 50px;
  }
  .c-cta_btn__link::before {
    width: 22px;
    height: 22px;
    left: 20px;
  }
  .c-cta_btn__link::after {
    width: 10px;
    height: 10px;
    right: 20px;
  }
}
/* heading */
.c-heading, .c-heading--line, h3.wp-block-heading,
h3.ark-block-heading__main {
  color: #0758BE;
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 30px;
}
.c-heading--line, h3.wp-block-heading,
h3.ark-block-heading__main {
  border-bottom: 1px solid #0758BE;
  margin-top: 60px;
  padding-bottom: 15px;
}
.c-heading--section, h2.wp-block-heading,
h2.ark-block-heading__main {
  font-size: 30px;
  font-weight: bold;
  margin-bottom: 50px;
  padding-top: 25px;
  position: relative;
}
.c-heading--section::before, h2.wp-block-heading::before,
h2.ark-block-heading__main::before {
  background: linear-gradient(225deg, #bed58c 0%, #00ac8d 5.9%, #00849c 42.4%, #046dae 68%, #0758be 100%);
  content: "";
  display: block;
  width: 60px;
  height: 5px;
  position: absolute;
  top: 0;
  left: 0;
}
.c-heading_lv4 {
  font-size: 20px;
  font-weight: bold;
  margin-top: 30px;
  margin-bottom: 20px;
  padding-left: 24px;
  position: relative;
}
.c-heading_lv4::before {
  background: linear-gradient(225deg, #bed58c 0%, #00ac8d 5.9%, #00849c 42.4%, #046dae 68%, #0758be 100%);
  border-radius: 100%;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  -webkit-mask-image: radial-gradient(transparent 30%, black 30%);
          mask-image: radial-gradient(transparent 30%, black 30%);
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-heading_lv5 {
  font-weight: bold;
  margin-bottom: 15px;
  padding-left: 1.5em;
  position: relative;
}
.c-heading_lv5::before {
  background: #0758BE;
  content: "";
  display: block;
  width: 1em;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

h2.wp-block-heading,
h2.ark-block-heading__main {
  margin-bottom: 36px;
}
h2.wp-block-heading ~ h2.wp-block-heading,
h2.wp-block-heading ~ h2.ark-block-heading__main,
h2.ark-block-heading__main ~ h2.wp-block-heading,
h2.ark-block-heading__main ~ h2.ark-block-heading__main {
  margin-top: 80px;
}

.l-section_inner h2.wp-block-heading:not(:first-of-type),
.l-section_inner h2.ark-block-heading__main:not(:first-of-type) {
  margin-top: 80px;
}

h3.wp-block-heading,
h3.ark-block-heading__main {
  text-align: left;
}
h3.wp-block-heading + .ark-block-heading__line,
h3.ark-block-heading__main + .ark-block-heading__line {
  display: none;
}

.l-section_inner h3.wp-block-heading:not(:first-of-type),
.l-section_inner h3.ark-block-heading__main:not(:first-of-type) {
  margin-top: 60px;
}

@media (max-width: 767px) {
  .c-heading, .c-heading--line, h3.wp-block-heading,
  h3.ark-block-heading__main {
    font-size: 20px;
    margin-bottom: 20px;
  }
  .c-heading--line, h3.wp-block-heading,
  h3.ark-block-heading__main {
    margin-top: 30px;
  }
  .c-heading--section, h2.wp-block-heading,
  h2.ark-block-heading__main {
    font-size: 24px;
    line-height: 1.4;
    margin-bottom: 30px;
    padding-top: 20px;
  }
  .c-heading--section::before, h2.wp-block-heading::before,
  h2.ark-block-heading__main::before {
    width: 42px;
    height: 4px;
  }
  .c-heading_lv4 {
    font-size: 18px;
    margin-top: 20px;
    margin-bottom: 215x;
    padding-left: 21px;
  }
  .c-heading_lv4::before {
    width: 15px;
    height: 15px;
  }
  .c-heading_lv5 {
    margin-bottom: 10px;
  }
  h2.wp-block-heading,
  h2.ark-block-heading__main {
    margin-bottom: 28px;
  }
  h2.wp-block-heading ~ h2.wp-block-heading,
  h2.wp-block-heading ~ h2.ark-block-heading__main,
  h2.ark-block-heading__main ~ h2.wp-block-heading,
  h2.ark-block-heading__main ~ h2.ark-block-heading__main {
    margin-top: 60px;
  }
}
.c-lead_section {
  font-size: 18px;
  line-height: 1.7;
  margin-left: 40px;
}

@media (max-width: 767px) {
  .c-lead_section {
    font-size: 16px;
    line-height: 1.58;
    margin-top: 5px;
    margin-left: 0;
  }
}
/* link */
.c-link {
  color: #0758BE;
  font-size: 24px;
  line-height: 1.33;
  position: relative;
  text-decoration: none;
}
.c-link:hover {
  text-decoration: underline;
}
.c-link::after {
  background: url("/assets/images/common/icon_arrow_right_wh.svg"), linear-gradient(225deg, #bed58c 0%, #00ac8d 5.9%, #00849c 42.4%, #046dae 68%, #0758be 100%);
  background-position: 50% 50%, 0 0;
  background-repeat: no-repeat;
  background-size: 14px, auto;
  border-radius: 20px;
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 12px;
}
.c-link_more {
  color: #0758BE;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  text-decoration: none;
}
.c-link_more:hover {
  text-decoration: underline;
}
.c-link_more::before {
  background: url(/assets/images/common/icon_arrow_right_bl.svg) no-repeat 50% 50%/10px;
  border: 1px solid #0758BE;
  border-radius: 20px;
  content: "";
  width: 20px;
  height: 20px;
  margin-right: 8px;
}

@media (max-width: 767px) {
  .c-link {
    font-size: 20px;
  }
  .c-link::after {
    background-size: 8px, auto;
    width: 16px;
    height: 16px;
  }
}
/* breadcrumbs */
.c-breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-breadcrumb li + li {
  margin-left: 1em;
  padding-left: 1.45em;
  position: relative;
}
.c-breadcrumb li + li::before {
  border: 1px solid #F00;
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

/* serch */
.c-search_box {
  border-radius: 6px;
}
.c-search_box ~ .c-search_box {
  margin-top: 40px;
}
.c-search_list {
  display: grid;
  margin-top: 30px;
}
.c-search_list.--col4 {
  gap: 8px;
  grid-template-columns: repeat(4, 1fr);
}
.c-search_list.--col5 {
  gap: 16px;
  grid-template-columns: repeat(5, 1fr);
}
.c-search_list.--col6 {
  gap: 12px;
  grid-template-columns: repeat(6, 1fr);
}
.c-search_item {
  background: #FFF;
  border-radius: 6px;
  overflow: hidden;
  text-align: center;
  width: 100%;
}
.c-search_item a {
  display: block;
  color: inherit;
  text-decoration: none;
  -webkit-transform: all 0.2s;
          transform: all 0.2s;
}
.c-search_item a:hover {
  opacity: 0.6;
}
.c-search_item .c-filter_btn {
  border-radius: 6px;
  overflow: hidden;
  width: 100%;
}
.c-search_item .c-filter_btn.is-active {
  border: 1px solid #0758BE;
}
.c-search_item img {
  display: block;
}
.c-search_item__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: bold;
  line-height: 1.4;
  padding: 1.75em 1em;
}
.c-search_item__thumb + .c-search_item__label {
  min-height: 4.475em;
  padding: 0.75em 1em;
}
.c-search_form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 21px 30px;
}
.c-search_form__label {
  font-weight: bold;
  text-align: left;
  width: 8em;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.c-search_form__input {
  background: #EFEFEF;
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.c-search_form__input::before {
  background: url(/assets/images/common/icon_search.svg) no-repeat 0 0/contain;
  content: "";
  width: 29px;
  height: 29px;
  position: absolute;
  top: 50%;
  left: 14px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-search_form__input input {
  background: transparent;
  border: none;
  outline: none;
  padding: 12px 20px 12px 58px;
  width: 100%;
}
.c-search_form__btn {
  background: #0758BE;
  border-radius: 6px;
  color: #FFF;
  font-size: 18px;
  letter-spacing: 0.25em;
  padding: 15px 60px;
}
.c-search_filters {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 20px 0;
  width: 100%;
}
.c-search_filters .c-search_form__btn {
  -ms-flex-item-align: center;
      align-self: center;
}
.c-search_filters.fn-accordion {
  padding: 0;
}
.c-search_filter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.c-search_filter:nth-child(n+2) {
  margin-top: 35px;
}
.c-search_filter .c-search_form__label {
  text-align: left;
  width: 8em;
}
.c-search_filter input[type=checkbox] {
  margin-right: 10px;
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
}
.c-search_filter + .c-search_form__btn {
  margin-top: 20px;
}
.c-search_lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}
.c-search_opener {
  margin: 0;
  padding: 20px 30px;
  position: relative;
}
.c-search_opener::after {
  background: url(/assets/images/common/icon_plus_bold.svg) no-repeat 50% 50%/14px;
  border: 1px solid #0758BE;
  border-radius: 32px;
  content: "";
  display: block;
  width: 32px;
  height: 32px;
  position: absolute;
  top: 50%;
  right: 30px;
  text-align: center;
  line-height: 32px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-search_opener.is-active::after {
  background-image: url(/assets/images/common/icon_minus_bold.svg);
}
.c-search_child {
  border-top: 1px solid #DDD;
}

* + .c-search_box {
  margin-top: 60px;
}

@media (max-width: 767px) {
  .c-search_box ~ .c-search_box {
    margin-top: 40px;
  }
  .c-search_list {
    margin-top: 15px;
  }
  .c-search_list.--col2_s {
    gap: 9px;
    grid-template-columns: repeat(2, 1fr);
  }
  .c-search_item__label {
    padding: 1.5em 0.25em;
  }
  .c-search_form {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 16px;
  }
  .c-search_form__label {
    text-align: left;
    width: 8em;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .c-search_form__input {
    width: 100%;
  }
  .c-search_form__input input {
    padding: 6px 10px 6px 50px;
  }
  .c-search_form__btn {
    font-size: 16px;
    margin: 0 auto;
    padding: 12px 40px;
  }
  .c-search_filters {
    gap: 15px;
    padding: 10px 0;
    width: 100%;
  }
  .c-search_filters .c-search_form__btn {
    -ms-flex-item-align: center;
        align-self: center;
  }
  .c-search_filter {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 15px;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  .c-search_filter:nth-child(n+2) {
    margin-top: 10px;
    padding-top: 10px;
  }
  .c-search_filter .c-search_form__label {
    text-align: left;
    width: 8em;
  }
  .c-search_filter input[type=checkbox] {
    margin-right: 10px;
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
  }
  .c-search_filter + .c-search_form__btn {
    margin-top: 15px;
  }
  .c-search_lists {
    display: grid;
    gap: 14px;
    grid-template-columns: 1fr 1fr;
  }
  .c-search_lists li {
    line-height: 1.5;
    padding-left: 20px;
    text-indent: -20px;
    text-align: left;
  }
  * + .c-search_box {
    margin-top: 60px;
  }
}
.c-search_item.--wh_filter:nth-child(n+2) {
  border-top: 1px solid #DDD;
  margin-top: 15px;
  padding-top: 15px;
}

/* card */
.c-card {
  background: #FFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-card a:hover {
  opacity: 0.6;
}
.c-card_link {
  color: inherit;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.c-card_link:hover {
  opacity: 0.6;
}
.c-card_list {
  display: grid;
  width: 100%;
}
.c-card_list.--col1 {
  grid-template-columns: 1fr;
  gap: 20px;
}
.c-card_list.--col2 {
  grid-template-columns: 1fr 1fr;
  gap: 50px 40px;
}
.c-card_list.--col3 {
  grid-template-columns: 1fr 1fr 1fr;
  gap: 39px;
}
.c-card_list + .c-card_list {
  margin-top: 50px;
}
.c-card_thumb {
  border-radius: 6px;
  overflow: hidden;
}
.c-card_thumb img {
  display: block;
  width: 100%;
}
.c-card_name {
  font-size: 24px;
}
.c-card_desc {
  line-height: 1.5;
  margin-top: 20px;
}
.c-card_links {
  margin-top: 1.75em;
}
.c-card_links li {
  margin-top: 0.5em;
  padding-left: 1.125em;
  position: relative;
}
.c-card_links li::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7.113' height='8.395' viewBox='0 0 7.113 8.395'%3E%3Cpath fill='%230758be' d='M6.643 3.349a1 1 0 0 1 0 1.7l-5.113 3.2A1 1 0 0 1 0 7.397v-6.4A1 1 0 0 1 1.53.153Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  width: 10px;
  height: 8px;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-card_links a {
  text-decoration: underline;
}
.c-card.--horizontal {
  gap: 30px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-card.--vertical {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 25px;
}
.c-card.u-fill_blue {
  gap: 0;
}
.c-card.u-fill_blue .c-card_thumb {
  border-radius: 6px 6px 0 0;
}
.c-card.u-fill_blue .c-card_text {
  padding: 30px;
}
.c-card.--border {
  border: 1px solid #DDD;
  border-radius: 6px;
  display: grid;
  gap: 40px;
  padding: 25px;
  grid-template-columns: minmax(0, 340px) minmax(0, 755px);
}
.c-card.--border .c-card_thumb {
  border-radius: 0;
}

@media (min-width: 768px) {
  .c-card.--horizontal.--half .c-card_thumb,
  .c-card.--horizontal.--half .c-card_text {
    width: 50%;
  }
  .c-card.--horizontal.--leftImg:not(.--half) .c-card_thumb {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 34.4%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    height: 100%;
  }
  .c-card.--horizontal.--leftImg:not(.--half) .c-card_thumb img {
    -o-object-fit: cover;
       object-fit: cover;
    height: 100%;
    width: auto;
  }
  .c-card.u-fill_blue.--horizontal {
    border-radius: 6px;
  }
  .c-card.u-fill_blue.--horizontal .c-card_thumb {
    border-radius: 0 6px 6px 0;
  }
  .c-card.u-fill_blue.--leftImg .c-card_thumb {
    border-radius: 6px 0 0 6px;
  }
}
@media (max-width: 767px) {
  .c-card_list.--col2, .c-card_list.--col3 {
    grid-template-columns: 1fr;
  }
  .c-card_links {
    margin-top: 1em;
  }
  .c-card_name {
    font-size: 20px;
  }
  .c-card.u-fill_blue {
    border-radius: 6px;
    overflow: hidden;
  }
  .c-card.u-fill_blue .c-card_text {
    padding: 20px 16px;
  }
  .c-card.u-fill_blue.--horizontal {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: initial;
        -ms-flex-align: initial;
            align-items: initial;
  }
  .c-card.u-fill_blue.--horizontal .c-card_thumb {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .c-card.u-fill_blue.--horizontal .c-card_text {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .c-card.--border {
    gap: 20px;
    padding: 20px 16px 25px;
    grid-template-columns: 1fr;
  }
}
/* layout column */
.c-cols {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
.c-cols > * {
  min-width: 0;
}
.c-cols + .c-cols {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .c-cols.--col2 {
    grid-template-columns: 1fr 1fr;
  }
  .c-cols.--col3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .c-cols.--col4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .c-cols.--imgR {
    grid-template-columns: minmax(0, 680px) minmax(0, 480px);
  }
  .c-cols.--imgL {
    grid-template-columns: minmax(0, 480px) minmax(0, 680px);
  }
}
@media (max-width: 767px) {
  .c-cols {
    gap: 20px;
  }
  .c-cols_box {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .c-cols_thumb {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .c-cols + .c-cols {
    margin-top: 20px;
  }
}
/* parts: pagehead */
.p-page_head {
  background: url(/assets/images/common/bg_pagehead.png), linear-gradient(225deg, #bed58c 0%, #00ac8d 5.9%, #00849c 42.4%, #046dae 68%, #0758be 100%);
  background-position: 100% 100%, 0 0;
  background-repeat: no-repeat, no-repeat;
  background-size: 725px 280px, auto;
  color: #FFF;
  margin-bottom: 60px;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.p-page_head__inner {
  display: grid;
  grid-template-columns: 1fr minmax(0, 1200px) 1fr;
  grid-template-rows: 1fr;
  max-width: 100%;
  height: 280px;
}
.p-page_head__content {
  grid-column: 2;
  grid-row: 1;
}
.p-page_head .p-breadcrumb {
  grid-column: 2;
  grid-row: 2;
}
.p-page_head__visual {
  grid-column: 3/5;
  grid-row: 1/3;
}
.p-page_head.--images .p-page_head__inner {
  grid-template-columns: 1fr minmax(0, 720px) minmax(0, 480px) 1fr;
  grid-template-rows: 1fr auto;
  height: 400px;
}
.p-page_head__inner {
  position: relative;
}
.p-page_head__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-page_head__category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 10px;
}
.p-page_head__category.--tag {
  border: 1px solid #FFF;
  border-radius: 4px;
  font-size: 14px;
  margin-bottom: 0;
  margin-left: 18px;
  padding: 0 15px;
}
.p-page_head__catchcopy {
  font-size: 18px;
}
.p-page_head__title {
  font-size: 40px;
  font-weight: bold;
  line-height: 1.24;
}
.p-page_head__desc {
  font-size: 18px;
  line-height: 1.4;
  margin-top: 10px;
}
.p-page_head__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 14px;
  margin-top: 15px;
}
.p-page_head__tag {
  background: #FFF;
  color: #000;
  border-radius: 999px;
  font-size: 13px;
  padding: 2px 15px 4px;
  white-space: nowrap;
}
.p-page_head__visual img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 0 50%;
     object-position: 0 50%;
}
.p-page_head__breadcrumb {
  font-size: 14px;
  margin: 0 auto;
  max-width: 1200px;
  padding: 15px 0;
  opacity: 0.7;
}

@media (max-width: 767px) {
  .p-page_head {
    background-size: 305px 121px, auto;
    margin-bottom: 40px;
  }
  .p-page_head__inner {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    height: auto;
  }
  .p-page_head__content, .p-page_head__visual,
  .p-page_head .p-breadcrumb {
    grid-column: 1/-1;
    grid-row: auto;
  }
  .p-page_head__content {
    grid-row: 1;
  }
  .p-page_head .p-breadcrumb {
    grid-row: 2;
  }
  .p-page_head__visual {
    grid-row: 3;
  }
  .p-page_head.--images .p-page_head__inner {
    height: auto;
  }
  .p-page_head__content {
    padding: 40px 20px 20px;
    min-height: 220px;
  }
  .p-page_head__category {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-line-pack: center;
        align-content: center;
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 10px;
  }
  .p-page_head__category.--tag {
    border: 1px solid #FFF;
    border-radius: 4px;
    font-size: 14px;
    margin-bottom: 0;
    margin-left: 18px;
    padding: 6px 15px 8px;
  }
  .p-page_head__catchcopy {
    font-size: 16px;
  }
  .p-page_head__title {
    font-size: 32px;
  }
  .p-page_head__desc {
    font-size: 16px;
    line-height: 1.4;
  }
  .p-page_head__tags {
    gap: 8px;
    margin-top: 10px;
  }
  .p-page_head__tag {
    font-size: 11px;
  }
  .p-page_head__visual img {
    height: auto;
    aspect-ratio: 375/250;
    -o-object-position: 50% 50%;
       object-position: 50% 50%;
    width: 100%;
  }
  .p-page_head__breadcrumb {
    font-size: 14px;
    opacity: 0.7;
    padding: 20px 16px;
  }
}
@media (min-width: 768px) {
  .l-content--archive-products .p-page_head__inner {
    grid-template-columns: 1fr minmax(0, 480px) minmax(0, 720px) 1fr;
  }
}
/* page_head, article_nav のマージン調整 */
.l-content--single-technologies .p-page_head,
.l-content--single-products .p-page_head {
  margin-bottom: 0;
}

.l-content--single-technologies .c-article_nav,
.l-content--single-products .c-article_nav {
  margin-top: 0;
}

/* parts: outline (会社概要) */
.p-outline_map {
  display: inline-block;
  margin-left: 1em;
  vertical-align: middle;
}

.p-outline_table {
  border: 1px solid #DDD;
  border-collapse: collapse;
  font-size: 14px;
  margin-top: 1em;
  width: 100%;
}
.p-outline_table th, .p-outline_table td {
  border-top: 1px solid #DDD;
  padding: 0.75em 1em !important;
  vertical-align: middle;
}
.p-outline_table--overview th {
  background: #EFF2F5;
  border-right: none;
  font-weight: 600;
  width: 8em;
  white-space: nowrap;
}
.p-outline_table--dept thead th {
  background: #0758BE;
  font-weight: 600;
  text-align: left;
}
.p-outline_table--dept tbody td:first-child {
  font-weight: 500;
}

.p-outline_table-wrap {
  overflow-x: auto;
  margin: 1em 0;
}
.p-outline_table-wrap table {
  min-width: 600px;
}

/* parts: lead */
.p-page_lead {
  line-height: 1.6;
  margin: 60px 0;
}
.p-page_lead__inner {
  margin: 0 auto;
  max-width: 1200px;
  width: 90%;
}
.p-page_lead p + p {
  margin-top: 1em;
}

@media (max-width: 767px) {
  .p-page_lead {
    line-height: 1.8;
    margin: 40px 0;
    padding: 0 4%;
  }
  .p-page_lead__inner {
    width: 100%;
  }
}
.p-catch {
  font-size: 24px;
  font-weight: bold;
  line-height: lg(24, 36);
}

@media (max-width: 767px) {
  .p-catch {
    font-size: 20px;
  }
}
/* parts: pickup */
.p-pickup {
  margin-top: 60px;
}
.p-pickup_list {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(4, 1fr);
}
.p-pickup_list + .p-pickup_list {
  margin-top: 24px;
}
.p-pickup_item a {
  background: #FFF;
  border-radius: 6px;
  color: inherit;
  padding: 24px 20px;
  text-decoration: none;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.p-pickup_item a:hover {
  opacity: 0.6;
}
.p-pickup_item__label {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}
.p-pickup_item__thumb {
  margin: 24px auto 20px;
}
.p-pickup_item__thumb img {
  display: block;
}
.p-pickup_item__desc {
  display: block;
  line-height: 1.5;
  margin-bottom: 4px;
  text-align: center;
}

@media (max-width: 767px) {
  .p-pickup {
    margin-top: 40px;
  }
  .p-pickup_list {
    gap: 9px;
    grid-template-columns: repeat(2, 1fr);
  }
  .p-pickup_list + .p-pickup_list {
    margin-top: 9px;
  }
  .p-pickup_item a {
    padding: 12px;
  }
  .p-pickup_item__label {
    font-size: 16px;
  }
  .p-pickup_item__thumb {
    margin: 14px auto;
  }
  .p-pickup_item__desc {
    line-height: 1.62;
    margin-bottom: 3px;
  }
}
/* parts: expo */
.p-expo_contents {
  background: #FFF;
  border-radius: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  margin: 60px auto 0;
  max-width: 1100px;
  padding: 20px 30px;
}
.p-expo_contents .c-heading {
  border-bottom: 1px solid #DDD;
  margin-top: 16px;
  margin-bottom: 24px;
  padding-bottom: 24px;
}
.p-expo_schedule {
  width: 45%;
}
.p-expo_schedule a {
  color: inherit;
  text-decoration: none;
}
.p-expo_schedule a:hover {
  text-decoration: underline;
}
.p-expo_schedule a:hover img {
  opacity: 0.6;
}
.p-expo_schedule__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 20px;
}
.p-expo_schedule__thumb {
  border-radius: 6px;
  max-width: 220px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-expo_schedule__thumb img {
  border-radius: 6px;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 220/165;
}
.p-expo_schedule__text {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  line-height: 1.5;
  word-break: break-all;
}
.p-expo_schedule__text p + p {
  margin-top: 20px;
}
.p-expo_schedule__label {
  background: #000;
  color: #FFF;
  display: inline-block;
  font-size: 14px;
  padding: 10px 20px;
}
.p-expo_product {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 50%;
          flex: 1 0 50%;
}
.p-expo_product a {
  display: block;
  color: inherit;
  position: relative;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.p-expo_product a:hover {
  opacity: 0.6;
}
.p-expo_product__thumb {
  border-radius: 6px;
}
.p-expo_product__thumb img {
  border-radius: 6px;
  width: 100%;
}
.p-expo_product__text {
  background: #FFF;
  padding: 30px 10px 20px 30px;
  position: absolute;
  right: 0;
  bottom: 0;
}
.p-expo_product__label {
  color: #0758BE;
  font-size: 24px;
  margin-bottom: 22px;
  position: relative;
}
.p-expo_product__label::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 12px;
}
.p-expo_product__desc {
  margin-top: 22px;
}

@media (max-width: 767px) {
  .p-expo_contents {
    border-radius: 8px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
    margin: 40px auto 0;
    padding: 30px 16px 20px;
  }
  .p-expo_contents .c-heading {
    border-bottom: none;
    margin-top: 0;
    padding: 0;
  }
  .p-expo_schedule {
    width: 100%;
  }
  .p-expo_schedule__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px;
  }
  .p-expo_schedule__thumb {
    border-radius: 6px;
    max-width: 100%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .p-expo_schedule__thumb img {
    border-radius: 4px;
    aspect-ratio: 259/194;
  }
  .p-expo_schedule__text {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    line-height: 1.5;
  }
  .p-expo_schedule__text p + p {
    margin-top: 8px;
  }
  .p-expo_schedule__label {
    font-size: 12px;
    padding: 7px 14px;
  }
  .p-expo_product {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 100%;
            flex: 1 0 100%;
  }
  .p-expo_product a {
    padding-bottom: 30px;
  }
  .p-expo_product__thumb {
    border-radius: 4px;
  }
  .p-expo_product__thumb img {
    border-radius: 4px;
  }
  .p-expo_product__text {
    padding: 14px 0 20px 20px;
    width: 70%;
  }
  .p-expo_product__label {
    font-size: 20px;
    margin-bottom: 5px;
  }
  .p-expo_product__label::after {
    width: 20px;
    height: 20px;
    margin-left: 12px;
  }
  .p-expo_product__desc {
    line-height: 1.5;
    margin-top: 5px;
  }
}
/* parts: news */
.p-news-list {
  border-bottom: 1px solid #DDD;
  width: 100%;
}
.p-news-item {
  border-top: 1px solid #DDD;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 15px;
  line-height: 1.58;
  padding: 1em 0;
}
.p-news-item_date {
  margin-right: 2.5em;
  white-space: nowrap;
}
.p-news-item_title a {
  color: inherit;
  font-weight: normal;
  text-decoration: underline;
}

@media (max-width: 767px) {
  .p-news-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    line-height: 1.5;
  }
}
/* parts: tag */
.c-list_tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.c-list_tag {
  background: #EFF2F5;
  border-radius: 30px;
  font-size: 13px;
  padding: 3px 20px;
}

/* parts: faq */
summary {
  display: block;
  list-style: none;
}
summary::-webkit-details-marker {
  display: none;
}

.p-faq-item {
  margin-top: 30px;
}
.p-faq-item__q, .p-faq-item__a {
  position: relative;
}
.p-faq-item__q::before, .p-faq-item__a::before {
  border-radius: 6px;
  color: #FFF;
  display: block;
  width: 30px;
  height: 30px;
  text-align: center;
  position: absolute;
}
.p-faq-item__q {
  padding-left: 50px;
}
.p-faq-item__q::before {
  background: #0758BE;
  content: "Q";
  top: 0;
  left: 0;
}
.p-faq-item__a {
  background: #F5F5F5;
  display: block;
  margin-top: 20px;
  padding: 30px 30px 30px 80px;
}
.p-faq-item__a::before {
  background: #000;
  content: "A";
  top: 30px;
  left: 30px;
}

/* news */
.c-news_filter__cats {
  border-bottom: 1px solid #DDD;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding-bottom: 20px;
}
.c-news_filter__catItem + .c-news_filter__catItem {
  border-left: 1px solid #DDD;
  margin-left: 1.8em;
  padding-left: 1.8em;
}
.c-news_filter__cat {
  color: inherit;
  text-decoration: none;
}
.c-news_filter__cat:hover {
  color: #0758BE;
}
.c-news_filter__cat.is-active {
  color: #0758BE;
  font-weight: bold;
}
.c-news_filter__year {
  margin: 20px 0;
  text-align: right;
}
.c-news_filter__year label span {
  font-weight: bold;
}
.c-news_item {
  border-bottom: 1px solid #DDD;
  padding: 25px 0;
}
.c-news_item__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-news_item__cat {
  background: #979F9A;
  color: #FFF;
  font-size: 13px;
  padding: 5px 10px;
  text-align: center;
  width: 11em;
}
.c-news_item__cat.--product {
  background: #0758BE;
}
.c-news_item__cat.--event {
  background: #45B035;
}
.c-news_item__cat.--company {
  background: #00643D;
}
.c-news_item__cat.--recruitment {
  background: #13A9E0;
}
.c-news_item__date {
  font-size: 15px;
  margin-left: 20px;
}
.c-news_item__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
.c-news_item__tag {
  border: 1px solid #0758BE;
  border-radius: 999px;
  color: #0758BE;
  display: inline-block;
  font-size: 12px;
  margin-left: 16px;
  padding: 0.25em 1em;
}
.c-news_item__title {
  display: block;
  margin-top: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
}
.c-news_item__link {
  color: inherit;
  display: block;
  padding-right: 60px;
  position: relative;
  text-decoration: none;
}
.c-news_item__link:hover {
  opacity: 0.6;
}
.c-news_item__link::after {
  background: url(/assets/images/common/icon_arrow_right_bl.svg) no-repeat 50% 50%/contain;
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-news_item__link[href$=".pdf"]::after {
  background-image: url(/assets/images/common/icon_pdf.png);
  width: 32px;
  height: 32px;
}
.c-news_item__link:not([href$=".pdf"])[target=_blank]::after {
  background-image: url(/assets/images/common/icon_blank_bl.svg);
  width: 24px;
  height: 24px;
}

@media (max-width: 767px) {
  .c-news_filter__cats {
    padding-bottom: 18px;
    overflow: scroll;
  }
  .c-news_filter__catItem {
    white-space: nowrap;
  }
  .c-news_filter__catItem + .c-news_filter__catItem {
    margin-left: 1.35em;
    padding-left: 1.35em;
  }
  .c-news_filter__year {
    margin: 20px 0;
    text-align: right;
  }
  .c-news_filter__year label span {
    font-weight: bold;
  }
  .c-news_item {
    padding: 15px 0;
  }
  .c-news_item__cat {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    font-size: 12px;
    padding: 5px 0.5em;
    width: 9em;
  }
  .c-news_item__date {
    font-size: 13px;
    margin-left: 15px;
    white-space: nowrap;
  }
  .c-news_item__tag {
    font-size: 11px;
  }
  .c-news_item__title {
    font-size: 15px;
    line-height: 1.5;
  }
  .c-news_item__link {
    padding-right: 0;
  }
  .c-news_item__link::after {
    display: none;
  }
  .c-news_item__link[href$=".pdf"] {
    padding-right: 32px;
  }
  .c-news_item__link[href$=".pdf"]::after {
    display: block;
    width: 24px;
    height: 24px;
  }
}
.c-article_nav {
  background: #EFF2F5;
}
.c-article_nav__inner {
  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;
  max-width: 1200px;
  margin: 0 auto;
  padding: 22px 0;
}
.c-article_nav .c-list_anchor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px 40px;
}
.c-article_nav .c-list_anchor a {
  color: inherit;
  display: inline-block;
  padding-left: 23px;
  position: relative;
  text-decoration: none;
}
.c-article_nav .c-list_anchor a:hover {
  text-decoration: underline;
}
.c-article_nav .c-list_anchor a::before {
  border-style: solid;
  border-width: 8px 5px 0;
  border-color: #0758BE transparent transparent;
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-article_nav .c-list_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
.c-article_nav .c-list_btn li + li {
  margin-top: 0;
}
.c-article_nav .c-list_btn .c-btn.--arrow {
  padding-right: 40px;
  padding-left: 24px;
  white-space: nowrap;
}
.c-article_nav .c-list_btn .c-btn.--arrow::before {
  width: 18px;
  height: 18px;
  right: 12px;
}

@media (max-width: 767px) {
  .c-article_nav__inner {
    border-top: 1px solid #CCE2FF;
    gap: 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 15px 16px 20px;
  }
  .c-article_nav__opener {
    font-size: 15px;
    font-weight: bold;
    padding: 15px;
    position: relative;
  }
  .c-article_nav__opener::after {
    content: "";
    display: block;
    width: 15px;
    height: 15px;
    line-height: 15px;
    position: absolute;
    top: 50%;
    right: 16px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .c-article_nav__anchor, .c-article_nav__btn {
    width: 100%;
  }
  .c-article_nav .c-list_anchor {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 15px 20px;
  }
  .c-article_nav .c-list_anchor a {
    padding-left: 14px;
  }
  .c-article_nav .c-list_btn {
    gap: 7px;
    width: 100%;
  }
  .c-article_nav .c-list_btn li {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  .c-article_nav .c-list_btn .c-btn.--arrow {
    padding-right: 29px;
    padding-left: 20px;
    text-align: center;
    width: 100%;
  }
  .c-article_nav .c-list_btn .c-btn.--arrow::before {
    width: 14px;
    height: 14px;
    right: 9px;
  }
}
.c-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
}
.c-modal.is-open {
  display: block;
}
.c-modal_overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}
.c-modal_inner {
  background: #fff;
  max-width: 420px;
  padding: 32px;
  width: 90%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
}
.c-modal_text__ja, .c-modal_text__en {
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.02em;
  color: #333;
}
.c-modal_text__en {
  border-top: 1px solid #e0e0e0;
  margin-top: 1em;
  padding-top: 1em;
}
.c-modal_buttons {
  margin-top: 24px;
  text-align: center;
}

.c-list_dot, .c-list_disc {
  margin-top: 1em;
}
.c-list_dot li, .c-list_disc li {
  padding-left: 1em;
  text-indent: -1em;
}
.c-list_dot li::before, .c-list_disc li::before {
  content: "・";
}
.c-list_dot li + li, .c-list_disc li + li {
  margin-top: 0.25em;
}
.c-list_dot {
  font-size: 15px;
}
.c-list_dot li {
  line-height: 1.3;
}
.c-list_disc li::before {
  color: #0758BE;
  font-weight: bold;
}
.c-list_disc + * {
  margin-top: 1em;
}
.c-list_num {
  counter-reset: num;
  margin: 1em 0;
}
.c-list_num li {
  counter-increment: num;
  padding-left: 2em;
  text-indent: -2em;
}
.c-list_num li::before {
  color: #0758BE;
  content: counter(num) "．";
  font-weight: bold;
}
.c-list_note {
  margin: 1em 0;
}
.c-list_note li {
  padding-left: 2em;
  text-indent: -2em;
}
.c-list_note li::before {
  content: "※";
}
.c-list_numnote {
  counter-reset: num;
  margin: 1em 0;
}
.c-list_numnote li {
  counter-increment: num;
  padding-left: 2em;
  text-indent: -2em;
}
.c-list_numnote li::before {
  content: "※" counter(num) " ";
}
.c-list_numparen {
  counter-reset: num;
  margin: 1em 0;
}
.c-list_numparen li {
  counter-increment: num;
  padding-left: 2.5em;
  text-indent: -2.5em;
}
.c-list_numparen li::before {
  color: #0758BE;
  content: "(" counter(num) ") ";
  font-weight: bold;
}

.c-dl_default dt {
  color: #0758BE;
  font-weight: bold;
}
.c-dl_default dt:not(:first-child) {
  margin-top: 1em;
}
.c-dl_dot dt {
  position: relative;
}
.c-dl_dot dt::before {
  content: "・";
}
.c-dl_dot dt:not(:first-child) {
  margin-top: 0.5em;
}
.c-dl_label dt {
  background: #D3E4F5;
  border-radius: 4px;
  display: inline-block;
  line-height: 1.4;
  margin-top: 1.5em;
  padding: 0.25em 1.19em 0.45em;
}
.c-dl_label dd {
  font-size: 93.75%;
}
.c-dl_label dd p {
  margin-top: 1em;
}

@media (min-width: 768px) {
  .c-list_dot li + li, .c-list_disc li + li {
    margin-top: 0.5em;
  }
}
@media (max-width: 767px) {
  .c-list_dot {
    font-size: 13px;
  }
}
.c-box_img {
  margin: 40px auto;
}
.c-box_column {
  margin: 50px auto;
  max-width: 960px;
  padding: 35px 60px 40px;
}
.c-box_column__title {
  border-bottom: 1px solid #DDD;
  padding-bottom: 20px;
}
.c-box_dls {
  background: #F5F9FD;
  margin-top: 30px;
  padding: 20px;
}
.c-box_dls dd {
  line-height: 1.4;
}
.c-box_dls dd li {
  line-height: 1.2;
}

@media (max-width: 767px) {
  .c-box_img {
    margin: 20px auto;
  }
  .c-box_column {
    padding: 25px 16px 30px;
  }
  .c-box_dls {
    gap: 1em;
    margin-top: 21px;
  }
  .c-box_dls .c-list_dot {
    display: grid;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    gap: 5px 1em;
    font-size: 13px;
    grid-template-columns: 1fr 1fr;
  }
}
.c-img_caption {
  margin-top: 0.5em;
}

.c-pagination {
  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;
  margin: 2em 0;
}
.c-pagination_nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-pagination_nav .page-numbers {
  background: #F5F5F5;
  border-radius: 2px;
  font-size: 15px;
  line-height: 30px;
  height: 30px;
  margin: 0 4px;
  min-width: 30px;
}
.c-pagination_nav .page-numbers.current {
  background-color: #000;
}
.c-pagination_nav .page-numbers.prev, .c-pagination_nav .page-numbers.next {
  background: #FFF;
  position: relative;
}
.c-pagination_nav .page-numbers.prev::before, .c-pagination_nav .page-numbers.next::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='14' viewBox='0 0 8 14'%3E%3Cpath d='M8 7a1 1 0 0 1-.293.707l-6 6a1 1 0 0 1-1.414 0 1 1 0 0 1 0-1.414L5.586 7 .293 1.707a1 1 0 0 1 0-1.414 1 1 0 0 1 1.414 0l6 6A1 1 0 0 1 8 7'/%3E%3C/svg%3E");
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 50%;
  left: 50%;
}
.c-pagination_nav .page-numbers.prev::before {
  -webkit-transform: translate(-50%, -50%) rotate(180deg);
          transform: translate(-50%, -50%) rotate(180deg);
}
.c-pagination_nav .page-numbers.next::before {
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.p-product-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.p-product-list__item {
  list-style: none;
}
.p-product-list.--paper, .p-product-list.--col1 {
  grid-template-columns: 1fr;
}

@media (max-width: 767px) {
  .p-product-list {
    grid-template-columns: 1fr;
    gap: 15px;
  }
}
/* ======================================
   Product Card
====================================== */
.c-product-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  padding: 25px;
  background: #FFF;
  border: 1px solid #DDD;
  border-radius: 6px;
}
.c-product-card a, .c-product-card-link {
  color: inherit;
  text-decoration: none;
}
.c-product-card a:hover, .c-product-card-link:hover {
  opacity: 0.6;
}
.c-product-card {
  /* ----------------------------------
     Header
  ---------------------------------- */
}
.c-product-card__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
.c-product-card__thumb {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 40%;
}
.c-product-card__thumb img {
  display: block;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 220/147;
}
.c-product-card__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px 20px;
}
.c-product-card__name {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}
.c-product-card__desc {
  font-size: 15px;
  line-height: 1.5;
}
.c-product-card__catch {
  color: #0758BE;
  font-size: 18px;
}
.c-product-card {
  /* ----------------------------------
     Tags
  ---------------------------------- */
}
.c-product-card__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.c-product-card__tag {
  border-radius: 30px;
  background: #EFF2F5;
  font-size: 13px;
  padding: 4px 20px 6px 20px;
}
.c-product-card {
  /* ----------------------------------
     Buttons
  ---------------------------------- */
}
.c-product-card__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px 8px;
  margin: 15px 0 0;
  padding: 0;
  list-style: none;
}
.c-product-card__buttons a {
  background: #0758BE;
  border-radius: 6px;
  color: #FFF;
  display: inline-block;
  font-size: 14px;
  padding: 9px 32px 9px 15px;
  position: relative;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.c-product-card__buttons a:hover {
  opacity: 0.6;
}
.c-product-card__buttons a::after {
  background: url(/assets/images/common/icon_download_wh.svg) no-repeat 0 0/contain;
  content: "";
  width: 16px;
  height: 16px;
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-product-card {
  /* ----------------------------------
     Footer (Notes)
  ---------------------------------- */
}
.c-product-card__footer {
  margin-top: 16px;
}
.c-product-card__notes {
  margin: 0;
}
.c-product-card__note {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 15px;
}
.c-product-card__note + .c-product-card__note {
  margin-top: 15px;
}
.c-product-card__note-title {
  font-weight: 700;
  white-space: nowrap;
}
.c-product-card__note-title::after {
  content: "：";
  font-weight: normal;
}
.c-product-card__note-desc {
  margin: 0;
}
.c-product-card {
  /* ----------------------------------
     Modifier: Horizontal
  ---------------------------------- */
}
.c-product-card.--horizontal {
  display: grid;
  gap: 12px 20px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  grid-template-columns: 220px 1fr;
  grid-template-areas: "thumb head" "thumb text";
}
.c-product-card.--horizontal .c-product-card__thumb {
  grid-area: thumb;
}
.c-product-card.--horizontal .c-product-card__head {
  grid-area: head;
}
.c-product-card.--horizontal .c-product-card__text {
  grid-area: text;
}
.c-product-card.--horizontal .c-product-card__extend {
  grid-area: extend;
}
.c-product-card.--horizontal .c-product-card__thumb {
  width: auto;
}
.c-product-card.--horizontal .c-product-card__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.c-product-card.--horizontal.--extend {
  grid-template-areas: "thumb head" "thumb text" "extend  extend";
}

@media (max-width: 767px) {
  .c-product-card {
    padding: 20px 16px;
  }
  .c-product-card__header {
    gap: 16px;
  }
  .c-product-card__thumb {
    width: 42%;
  }
  .c-product-card__thumb img {
    aspect-ratio: 130/87;
  }
  .c-product-card__text {
    gap: 10px;
  }
  .c-product-card__name {
    font-size: 18px;
    line-height: 1.4;
  }
  .c-product-card__desc {
    font-size: 13px;
    line-height: 1.5;
  }
  .c-product-card__tags {
    gap: 8px;
  }
  .c-product-card__tag {
    font-size: 11px;
  }
  .c-product-card__buttons {
    gap: 8px 10px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .c-product-card__buttons a {
    font-size: 12px;
    padding: 6px 32px 6px 15px;
  }
  .c-product-card__buttons a::after {
    width: 14px;
    height: 14px;
    right: 9px;
  }
  .c-product-card__extend {
    margin-top: 10px;
  }
  .c-product-card__note {
    font-size: 13px;
  }
  .c-product-card__note + .c-product-card__note {
    margin-top: 5px;
  }
  .c-product-card.--horizontal {
    gap: 16px;
    grid-template-columns: 130px 1fr;
    grid-template-areas: "thumb head" "text  text";
  }
  .c-product-card.--horizontal .c-product-card__thumb {
    grid-area: thumb;
  }
  .c-product-card.--horizontal .c-product-card__title {
    grid-area: head;
  }
  .c-product-card.--horizontal .c-product-card__text {
    grid-area: text;
  }
  .c-product-card.--horizontal .c-product-card__more {
    grid-area: extend;
  }
  .c-product-card.--horizontal.--extend {
    grid-template-areas: "thumb head" "text  text" "extend  extend";
  }
}
/* ======================================
   Product Card
====================================== */
.p-item_paper {
  display: grid;
  gap: 30px;
  grid-template-columns: 240px 1fr;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  padding: 30px;
}
.p-item_paper__sub, .p-item_paper__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.p-item_paper__sub {
  gap: 30px;
}
.p-item_paper__btn .c-btn {
  font-size: 14px;
  min-width: 0;
  padding: 12px 20px;
  text-align: center;
  width: 100%;
}
.p-item_paper__btn .c-btn::before {
  width: 18px;
  height: 18px;
  right: 12px;
}
.p-item_paper__contact {
  display: none;
}
.p-item_paper__contact-title {
  color: #333;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.44;
  margin: 0 0 16px;
}
.p-item_paper__contact-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-item_paper__contact-item {
  margin: 0;
}
.p-item_paper__contact-link {
  background: #f8f9fb;
  border: 1px solid #DDD;
  border-radius: 6px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #0758BE;
  display: block;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.47;
  min-height: 48px;
  padding: 14px 44px 14px 16px;
  position: relative;
  text-decoration: none;
  -webkit-transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.p-item_paper__contact-link::after {
  background: url(/assets/images/common/icon_arrow_right_bl.svg) no-repeat 50% 50%/contain;
  content: "";
  display: block;
  height: 18px;
  position: absolute;
  right: 14px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 18px;
}
.p-item_paper__contact-link[target=_blank]::after {
  background-image: url(/assets/images/common/icon_blank.svg);
  height: 16px;
  width: 16px;
}
.p-item_paper__contact-link:hover {
  background: #fff;
  border-color: #0758BE;
  color: #054d9e;
}
.p-item_paper__contact-link:focus-visible {
  outline: 2px solid #0758BE;
  outline-offset: 2px;
}
.p-item_paper__thumb {
  border-radius: 6px;
  overflow: hidden;
}
.p-item_paper__thumb img {
  display: block;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1/1;
}
.p-item_paper__main {
  gap: 20px;
}
.p-item_paper__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-item_paper__name {
  font-size: 24px;
  font-weight: 700;
}
.p-item_paper__fsc {
  border: 1px solid #0758BE;
  border-radius: 30px;
  color: #0758BE;
  display: inline-block;
  font-size: 13px;
  font-weight: normal;
  margin-right: auto;
  padding: 10px 20px;
}
.p-item_paper__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.p-item_paper__tag {
  background: #000;
  border-radius: 30px;
  color: #FFF;
  font-size: 13px;
  padding: 10px 20px;
}
.p-item_paper__feature {
  color: #0758BE;
  font-size: 18px;
}
.p-item_paper__desc {
  line-height: 1.5;
  margin-top: 0.5em;
}
.p-item_paper__size {
  margin-top: 20px;
}
.p-item_paper__size-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1.8;
}
.p-item_paper__size-grain {
  font-weight: bold;
}
.p-item_paper__colorcount {
  margin-top: 20px;
}
.p-item_paper__colorlist {
  margin-top: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 11px;
}
.p-item_paper__colorlist li {
  border: 1px solid #DDD;
  border-radius: 24px;
  width: 24px;
  height: 24px;
}

@media (max-width: 767px) {
  .p-item_paper {
    gap: 20px;
    grid-template-columns: 100px 1fr;
    grid-template-areas: "thumb head" "text  text" "btn   btn";
    padding: 16px;
  }
  .p-item_paper__thumb {
    grid-area: thumb;
  }
  .p-item_paper__btn {
    grid-area: btn;
  }
  .p-item_paper__head {
    grid-area: head;
  }
  .p-item_paper__text {
    grid-area: text;
  }
  .p-item_paper__main, .p-item_paper__sub {
    display: contents;
  }
  .p-item_paper__btn {
    text-align: center;
  }
  .p-item_paper__btn .c-btn {
    font-size: 14px;
    min-width: 0;
    margin: 0 auto;
    padding: 12px 20px;
    width: 80%;
  }
  .p-item_paper__btn .c-btn::before {
    width: 18px;
    height: 18px;
    right: 12px;
  }
  .p-item_paper__thumb {
    width: 100px;
  }
  .p-item_paper__head {
    gap: 8px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .p-item_paper__name {
    font-size: 18px;
    line-height: 1.4;
    width: 100%;
  }
  .p-item_paper__fsc {
    font-size: 11px;
    margin-right: 0;
    padding: 6px 10px;
  }
  .p-item_paper__tags {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .p-item_paper__tag {
    font-size: 11px;
    padding: 7px 20px;
  }
  .p-item_paper__feature {
    font-size: 16px;
  }
  .p-item_paper__desc {
    font-size: 13px;
    line-height: 1.5;
    margin-top: 0.5em;
  }
  .p-item_paper__size {
    font-size: 13px;
    margin-top: 1em;
  }
  .p-item_paper__size-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    line-height: 1.8;
  }
  .p-item_paper__size-grain {
    font-weight: bold;
  }
  .p-item_paper__colorcount {
    margin-top: 20px;
  }
  .p-item_paper__colorlist {
    margin-top: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 11px;
  }
  .p-item_paper__colorlist li {
    border: 1px solid #DDD;
    border-radius: 24px;
    width: 24px;
    height: 24px;
  }
}
.p-item_project {
  display: grid;
  gap: 30px;
  grid-template-columns: 420px 1fr;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  padding: 30px;
}
.p-item_project__sub, .p-item_project__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.p-item_project__sub {
  gap: 30px;
}
.p-item_project__btn {
  text-align: center;
}
.p-item_project__thumb img {
  aspect-ratio: 420/280;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.p-item_project__name {
  font-size: 24px;
  font-weight: 700;
}
.p-item_project__catch {
  color: #0758BE;
  font-size: 18px;
  margin-top: 10px;
}
.p-item_project__desc {
  line-height: 1.5;
  margin-top: 0.5em;
}
.p-item_project__spec {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1.4;
  margin: 1em 0;
}
.p-item_project__spec dt {
  color: #0758BE;
  font-weight: bold;
  white-space: nowrap;
}
.p-item_project__spec dt::after {
  content: "：";
}
.p-item_project__spec dt:nth-child(n+2) {
  margin-left: 3em;
}

@media (max-width: 767px) {
  .p-item_project {
    gap: 20px;
    grid-template-columns: 1fr;
    grid-template-areas: "thumb" "head" "text" "btn";
    padding: 16px;
  }
  .p-item_project__thumb {
    grid-area: thumb;
  }
  .p-item_project__btn {
    grid-area: btn;
  }
  .p-item_project__head {
    grid-area: head;
  }
  .p-item_project__text {
    grid-area: text;
  }
  .p-item_project__main, .p-item_project__sub {
    display: contents;
  }
  .p-item_project__btn {
    /*
    .c-btn {
    	font-size: 14px;
    	min-width: 0;
    	margin: 0 auto;
    	padding: 12px 20px;
    	width: 80%;
    	&::before {
    		width: 18px;
    		height: 18px;
    		right: 12px;
    	}
    }
    */
  }
  .p-item_project__text .c-list_dot {
    grid-template-columns: 1fr;
  }
  .p-item_project__name {
    font-size: 20px;
    line-height: 1.3;
    width: 100%;
  }
  .p-item_project__catch {
    font-size: 16px;
  }
  .p-item_project__spec {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-item_project__spec dt:nth-child(n+2) {
    margin-top: 1em;
    margin-left: 0;
  }
}
/**
 * Arkhe ステップブロック カスタムスタイル（POINT）
 * デフォルトスタイルを模倣
 */
.ark-block-step.is-style-point {
  --arkb-step-color: var(--ark-color--main, #333);
}
.ark-block-step.is-style-point .ark-block-step__item {
  padding: 1em;
  margin-bottom: 2em;
  border: 2px solid var(--ark-color--border, rgb(200, 200, 200));
  /*
  		&::before {
  			position: absolute;
  			top: 0;
  			left: 23px;
  			display: block;
  			height: 100%;
  			border-left: 1px dashed var(--ark-color--border, rgba(200, 200, 200, 0.5));
  			content: "";
  		}
  */
}
.ark-block-step.is-style-point {
  /*
  	> .ark-block-step__item:last-child {
  		padding-bottom: 0;
  	}
  */
}
.ark-block-step.is-style-point .ark-block-step__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.ark-block-step.is-style-point .ark-block-step__number {
  position: relative;
  width: 48px;
  height: 48px;
  margin-right: 16px;
  color: #fff;
  background-color: var(--arkb-step-color);
  border-radius: 50%;
}
.ark-block-step.is-style-point .ark-block-step__title {
  -ms-flex-item-align: center;
      align-self: center;
  font-size: 20px;
  color: #0758BE;
}
.ark-block-step.is-style-point .ark-block-step__body {
  margin-left: 64px;
  margin-top: 0.25em;
}
@media (max-width: 767px) {
  .ark-block-step.is-style-point .ark-block-step__item::before {
    left: 17px;
  }
  .ark-block-step.is-style-point .ark-block-step__number {
    width: 36px;
    height: 36px;
    margin-right: 12px;
  }
  .ark-block-step.is-style-point .ark-block-step__number::after {
    margin-top: -1px;
    font-size: 16px;
  }
  .ark-block-step.is-style-point .__label {
    -webkit-transform: scale(0.75);
            transform: scale(0.75);
  }
  .ark-block-step.is-style-point .ark-block-step__body {
    margin-left: 48px;
  }
}

/**
 * Arkhe リッチカラム カスタムスタイル（囲み）
 * 影付きスタイルを参考に、影なしでボーダーを付与
 */
.ark-block-columns.is-style-kakomi {
  --arkb-padding--default: 1rem;
}

.is-style-kakomi > .ark-block-column, .is-style-kakomi > .ark-block-columns__inner > .ark-block-column {
  color: #000;
  background-color: #fff;
  border: 2px solid var(--ark-color--border, rgb(200, 200, 200));
  border-radius: 8px;
}

.ark-block-columns[data-scrollable].is-style-kakomi > .ark-block-columns__inner {
  padding: 8px 8px 20px;
}

@media (min-width: 768px) {
  .home .c-heading--section {
    font-size: 40px;
  }
  .home .l-section {
    margin-top: 100px;
    margin-bottom: 100px;
  }
  .home .l-section.u-fill_blue {
    margin-top: 0;
    margin-bottom: 0;
  }
  .home .l-section.u-fill_blue .l-section_inner {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}
@media (max-width: 767px) {
  .home .c-heading--section {
    font-size: 30px;
  }
  .home .l-section {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .home .l-section.u-fill_blue {
    margin-top: 0;
    margin-bottom: 0;
  }
  .home .l-section.u-fill_blue .l-section_inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.slick-initialized .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.slick-slide {
  float: none;
}
.slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 35px;
}
.slick-dots button {
  border: 1px solid #000;
  border-radius: 10px;
  display: block;
  width: 10px;
  height: 10px;
  line-height: 10px;
  overflow: hidden;
  text-indent: 999px;
}
.slick-active button {
  background: #000;
}

@media (max-width: 767px) {
  .slick-dots {
    margin-top: 24px;
  }
}
.p-top_mv.l-section {
  margin-bottom: 30px;
}

.p-mv_contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: -157px;
  overflow: hidden;
  position: relative;
}
.p-mv_item {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
}
.p-mv_img img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-mv_inner {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-mv_text {
  color: #FFF;
  position: relative;
  text-align: center;
}
.p-mv_title {
  font-size: 56px;
  line-height: 1.4;
}
.p-mv_desc {
  border-top: 1px solid #FFF;
  border-bottom: 1px solid #FFF;
  font-size: 20px;
  margin-top: 18px;
  padding: 10px 3em;
}
.p-mv_btn {
  position: absolute;
  bottom: 80px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.p-mv_btn .c-btn {
  padding-right: 55px;
  padding-left: 30px;
}

@media (min-width: 768px) {
  .p-top_mv .slick-list,
  .p-top_mv .slick-track {
    height: 717px;
  }
  .p-mv_img {
    height: 717px;
  }
  .p-mv_inner {
    padding-top: 157px;
  }
  .p-mv_item__about .p-mv_img img {
    -o-object-position: top center;
       object-position: top center;
  }
  .p-mv_item__about .p-mv_text {
    padding-top: 130px;
    text-align: left;
    width: 95%;
    max-width: 1200px;
  }
  .p-mv_item__about .p-mv_title {
    font-size: 50px;
  }
  .p-mv_item__about .p-mv_desc {
    border: none;
    line-height: 1.5;
    margin-top: 3.25em;
    padding: 0;
    text-align: left;
  }
  .p-mv_item__technology .p-mv_img img {
    -o-object-position: bottom center;
       object-position: bottom center;
  }
  .p-mv_item__technology .p-mv_text {
    padding-top: 83px;
  }
  .p-mv_item__recruit .p-mv_text {
    container-type: inline-size;
    font-weight: bold;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-top: 93px;
    width: 95%;
    max-width: 1234px;
  }
  .p-mv_item__recruit .p-mv_text .p-mv_title__sub {
    font-size: 40px;
    font-size: 3.24cqw;
    line-height: 1.3;
    text-align: left;
  }
  .p-mv_item__recruit .p-mv_text .p-mv_title {
    font-size: 79px;
    font-size: 6.04cqw;
    letter-spacing: -0.075em;
  }
  .p-mv_item__recruit .p-mv_text .p-mv_title span {
    font-size: 69px;
    font-size: 5.59cqw;
  }
}
@media (max-width: 767px) {
  .p-top_mv.l-section {
    margin-bottom: 20px;
  }
  .p-mv_contents {
    margin-top: -60px;
  }
  .p-mv_img {
    height: 566px;
  }
  .p-mv_item__about .p-mv_text {
    padding-top: 146px;
    text-align: left;
    width: auto;
  }
  .p-mv_item__about .p-mv_text .p-mv_title {
    font-size: 34px;
    line-height: 1.41;
  }
  .p-mv_item__about .p-mv_text .p-mv_desc {
    border: none;
    margin-top: 2.5em;
    padding: 0;
  }
  .p-mv_item__technology .p-mv_text {
    padding-top: 135px;
  }
  .p-mv_item__recruit .p-mv_text {
    font-weight: bold;
    margin-right: auto;
    margin-left: auto;
    padding-top: 40px;
    width: auto;
  }
  .p-mv_item__recruit .p-mv_text .p-mv_title__sub {
    font-size: 24px;
    line-height: 1.46;
    text-align: left;
  }
  .p-mv_item__recruit .p-mv_text .p-mv_title {
    font-size: 50px;
    letter-spacing: -0.05em;
    text-align: left;
  }
  .p-mv_item__recruit .p-mv_text .p-mv_title span {
    font-size: 39px;
  }
  .p-mv_inner {
    padding-top: 60px;
  }
  .p-mv_text {
    padding-top: 120px;
    width: 85%;
  }
  .p-mv_title {
    font-size: 28px;
    line-height: 1.4;
  }
  .p-mv_desc {
    font-size: 16px;
    line-height: 1.5;
    margin-top: 20px;
  }
  .p-mv_btn {
    bottom: 50px;
  }
  .p-mv_btn .c-btn {
    white-space: nowrap;
    padding-right: 39px;
    padding-left: 25px;
  }
}
.p-top_events a {
  color: inherit;
  text-decoration: none;
}
.p-top_events a:hover .p-top_event__title {
  text-decoration: underline;
}
.p-top_events.l-section {
  margin-top: 30px !important;
  margin-bottom: 50px !important;
}
.p-top_events__list {
  background: #EDF5FF;
  border-radius: 6px;
  padding: 20px 20px 20px 60px;
  position: relative;
}
.p-top_events__list::before {
  background: #0758BE;
  border-radius: 20px;
  color: #FFF;
  content: "!";
  display: block;
  font-size: 14px;
  font-weight: bold;
  line-height: 20px;
  text-align: center;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  left: 27px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-top_events .p-top_event__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
.p-top_events .p-top_event__tag {
  background: #FFF;
  border: 1px solid #0758BE;
  color: #0758BE;
  font-size: 13px;
  padding: 0.5em 1em;
}
.p-top_events .p-top_event__date {
  font-size: 14px;
}

@media (max-width: 767px) {
  .p-top_events.l-section {
    margin-top: 20px !important;
    margin-bottom: 30px !important;
  }
  .p-top_events .l-section_inner {
    padding-top: 0;
    padding-bottom: 0;
  }
  .p-top_events__list {
    padding: 20px 23px;
  }
  .p-top_events__list::before {
    top: 25%;
    left: 20px;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  .p-top_event__item {
    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;
    gap: 16px;
  }
  .p-top_event__tag {
    font-size: 12px;
    margin-left: 35px;
  }
  .p-top_event__date {
    font-size: 13px;
  }
}
.p-top_technology {
  background: #E5E5E5 url(/assets/images/top/bg_technology.jpg) no-repeat 50% 0/cover;
  padding-bottom: 100px;
}
.p-top_technology .c-card {
  background: transparent;
}
.p-top_technology .c-card_item:nth-child(2) {
  margin-top: 40px;
}
.p-top_technology .c-card_item:nth-child(3) {
  margin-top: 80px;
}

@media (max-width: 767px) {
  .p-top_technology {
    background: #FFF url(/assets/images/top/bg_technology.jpg) no-repeat 0 100%/100% auto;
  }
  .p-top_technology .c-card {
    background: transparent;
  }
  .p-top_technology .c-card_item:nth-child(2), .p-top_technology .c-card_item:nth-child(3) {
    margin-top: 0;
  }
  .p-top_technology .c-card_thumb img {
    aspect-ratio: 343/182;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
  }
}
.p-top_corporate__contents {
  padding: 80px 0 40px 260px;
  position: relative;
}
.p-top_corporate__contents::before {
  background: url(/assets/images/top/bg_corporate.jpg) no-repeat 0 0/contain;
  border-radius: 10px;
  content: "";
  width: 100%;
  height: 0;
  padding-top: 46.5%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.p-top_corporate__contents .c-card_list {
  background: #FFF;
  border-radius: 10px 0 0 10px;
  gap: 30px;
  padding: 40px 0 0 40px;
}
.p-top_corporate__contents .c-card_list .c-card_thumb {
  max-width: 280px;
}

@media (max-width: 767px) {
  .p-top_corporate__contents {
    padding: 110px 0 20px 24px;
  }
  .p-top_corporate__contents::before {
    border-radius: 0;
    padding-top: 48%;
  }
  .p-top_corporate__contents .c-card_list {
    gap: 20px;
    padding: 20px 20px 0 20px;
  }
  .p-top_corporate__contents .c-card_list .c-card_thumb {
    max-width: 110px;
  }
  .p-top_corporate__contents .c-card_list .c-card_thumb img {
    aspect-ratio: 1/1;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
  }
  .p-top_corporate__contents .c-card {
    gap: 15px;
  }
  .p-top_corporate__contents .c-card_desc {
    margin-top: 1em;
  }
}
.p-top_banners {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 25px;
  margin: 30px 0;
}
.p-top_banners img {
  max-width: 300px;
}
.p-top_banners .slick-track {
  gap: 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-fancyPapers_info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 80px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 100%;
}
.p-fancyPapers_info-news {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.p-fancyPapers_info-download {
  background: #F5F5F5;
  width: 280px;
  padding: 20px;
  position: relative;
  text-align: center;
}
.p-fancyPapers_info-download::before {
  background: url(/assets/images/common/icon_document.svg) no-repeat 0 0/contain;
  content: "";
  display: block;
  width: 60px;
  height: 60px;
  margin: 0 auto 15px;
}
.p-fancyPapers_info-download .c-btn {
  font-size: 14px;
}
.p-fancyPapers_info-download .c-btn span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
.p-fancyPapers_info-download .c-btn span::after {
  background: url(/assets/images/common/icon_download_wh.svg) no-repeat 0 0/contain;
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 6px;
}

@media (max-width: 767px) {
  .p-fancyPapers_info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 25px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-fancyPapers_info-news {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
  }
  .p-fancyPapers_info-download {
    width: 210px;
    padding: 15px;
  }
  .p-fancyPapers_info-download::before {
    width: 40px;
    height: 40px;
    margin-bottom: 10px;
  }
  .p-fancyPapers_info-download .c-btn {
    font-size: 12px;
  }
  .p-fancyPapers_info-download .c-btn span::after {
    width: 14px;
    height: 14px;
    margin-left: 6px;
  }
}
.p-case-headline {
  display: grid;
  gap: 40px;
  grid-template-columns: 1fr 1fr 1fr;
}
.p-case-card {
  border-radius: 6px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  overflow: hidden;
}
.p-case-card__thumb img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 374/249;
}
.p-case-card__name {
  font-size: 20px;
  line-height: 1.5;
}
.p-case-card__name .c-link {
  display: block;
}
.p-case-card__name .c-link::after {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-case-card__desc {
  font-size: 14px;
  line-height: 1.8;
}

@media (max-width: 767px) {
  .p-case-headline {
    gap: 30px;
    grid-template-columns: 1fr;
  }
  .p-case-card {
    gap: 10px;
  }
  .p-case-card__thumb {
    margin-bottom: 8px;
  }
  .p-case-card__thumb img {
    aspect-ratio: 343/228;
  }
  .p-case-card__name {
    font-size: 18px;
    line-height: 1.5;
  }
}
.p-series_overview__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-events_item__title {
  line-height: 1.5;
}
.p-events_item__info {
  margin-bottom: 0.5em;
}
.p-events_item__status {
  display: inline-block;
  line-height: 1.15;
}
.p-events_item__status.--upcoming {
  background: #0758BE;
}
.p-events_item__status.--ongoing {
  background: #45B035;
}
.p-events_item__status.--ended {
  background: #979F9A;
}
.p-events_data {
  font-size: 15px;
  line-height: 1.5;
  margin-top: 1.25em;
}
.p-events_detail__info {
  text-align: right;
}
.p-events_detail__info p {
  font-size: 15px;
}
.p-events_detail__info p + p {
  margin-top: 0 !important;
}

@media (max-width: 767px) {
  .p-events_data {
    font-size: 13px;
  }
  .p-events_detail__info p {
    font-size: 13px;
  }
}
.p-entry__content {
  margin-right: auto;
  margin-left: auto;
  max-width: 1200px;
}
.p-entry__content.p-products_entry {
  max-width: 1100px;
}

.p-products_main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}
@media (max-width: 767px) {
  .p-products_main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.p-products_main__contents {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-preferred-size: calc(100% - 540px - 40px);
      flex-basis: calc(100% - 540px - 40px);
}
@media (max-width: 767px) {
  .p-products_main__contents {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}
.p-products_main__body {
  line-height: 1.8;
}
.p-products_main__thumb {
  -ms-flex-preferred-size: 540px;
      flex-basis: 540px;
}
@media (max-width: 767px) {
  .p-products_main__thumb {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}
.p-products_main__thumb img {
  width: 100%;
}
.p-products_main__data {
  border: 1px solid #DDD;
  margin-top: 30px;
}
.p-products_main__data th, .p-products_main__data td {
  border-top: 1px solid #DDD;
  font-size: 14px;
  padding: 0.75em 1em !important;
  vertical-align: middle;
}
.p-products_main__data th {
  border-right: none;
  width: 6em;
  white-space: nowrap;
}
.p-products_main__events {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
  margin-top: 30px;
}
.p-products_main__events .p-item-events_label {
  background: #000;
  border-radius: 4px;
  color: #FFF;
  padding: 5px 20px;
}
.p-products_main__events .p-item-events_data a {
  color: #0758BE;
}
.p-case_main {
  margin-bottom: 60px;
}
.p-case_main .p-products_main__data {
  margin-top: 0;
}
.p-case_main__overview {
  margin-top: 30px;
}

@media (max-width: 767px) {
  .p-case_main {
    margin-bottom: 40px;
  }
  .p-case_main__overview {
    margin-top: 20px;
  }
}
.p-download_head .l-section_inner {
  padding-top: 0;
  padding-bottom: 0;
}

.p-inquiry_item {
  border: 1px solid #DDD;
  border-radius: 6px;
  display: grid;
  gap: 30px;
  grid-template-columns: 300px 1fr;
  padding: 30px;
}
.p-inquiry_item:nth-child(n+2) {
  margin-top: 30px;
}
.p-inquiry_item__label {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.3;
}
.p-inquiry_item__desc {
  margin-top: 1em;
  line-height: 1.5;
}
.p-inquiry_item__contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px;
  margin-top: 35px;
}
.p-inquiry_item__btn .c-btn {
  font-size: 16px;
  padding-right: 3em;
  padding-left: 3em;
  text-align: center;
  white-space: nowrap;
}
.p-inquiry_item .p-box_tel {
  border-left: 1px solid #DDD;
  padding-left: 24px;
  text-align: center;
}
.p-inquiry_item .p-box_tel__num {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 44px;
  font-weight: bold;
  line-height: 1;
  padding-left: 44px;
  position: relative;
  white-space: nowrap;
}
.p-inquiry_item .p-box_tel__num::before {
  background: url(/assets/images/common/icon_tel.svg) no-repeat 0 0/contain;
  content: "";
  width: 40px;
  height: 40px;
  position: absolute;
  top: 55%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-inquiry_item .p-box_tel__time {
  font-size: 14px;
}

@media (max-width: 767px) {
  .p-inquiry_item {
    gap: 20px;
    grid-template-columns: 1fr;
    padding: 20px 16px 25px;
  }
  .p-inquiry_item:nth-child(n+2) {
    margin-top: 15px;
  }
  .p-inquiry_item__label {
    font-size: 20px;
  }
  .p-inquiry_item__desc {
    margin-top: 1.45em;
  }
  .p-inquiry_item__contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    margin-top: 20px;
  }
  .p-inquiry_item__btn {
    text-align: center;
    width: 100%;
  }
  .p-inquiry_item__btn .c-btn {
    font-size: 14px;
    line-height: 1.3;
    margin: 0 auto;
    padding-right: 2.75em;
    padding-left: 1.5em;
    text-align: left;
    white-space: initial;
    width: 83%;
  }
  .p-inquiry_item .p-box_tel {
    border-left: none;
    margin-top: 0;
    padding-left: 0;
    text-align: left;
  }
  .p-inquiry_item .p-box_tel__num {
    font-size: 40px;
    padding-left: 40px;
  }
  .p-inquiry_item .p-box_tel__num::before {
    width: 38px;
    height: 38px;
    top: 55%;
  }
  .p-inquiry_item .p-box_tel__time {
    font-size: 12px;
    padding-left: 40px;
  }
}
/* /about/domain/ */
.p-domain_industory .c-search_item .c-search_item__label {
  background: #EFF2F5;
}

.p-item_oji {
  margin-top: 80px !important;
  padding-bottom: 50px;
  position: relative;
}
.p-item_oji::before {
  background: #F5F5F5;
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 90%;
  height: 55%;
  z-index: -1;
}
.p-item_oji__catch {
  font-size: 32px;
  line-height: 1.8;
}
.p-item_oji__desc {
  margin-top: 40px !important;
  padding-top: 30px;
}

@media (min-width: 768px) {
  .p-item_oji {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-item_oji.--imgL::before {
    left: 10%;
  }
  .p-item_oji.--imgL .p-item_oji__catch,
  .p-item_oji.--imgL .p-item_oji__desc {
    padding-right: 50px;
  }
  .p-item_oji.--imgR::before {
    left: 0;
  }
  .p-item_oji.--imgR .p-item_oji__catch,
  .p-item_oji.--imgR .p-item_oji__desc {
    padding-left: 50px;
  }
}
@media (max-width: 767px) {
  .p-item_oji {
    margin-top: 60px !important;
    padding-bottom: 30px;
  }
  .p-item_oji::before {
    display: none;
  }
  .p-item_oji__catch {
    font-size: 24px;
    padding: 0 17px;
  }
  .p-item_oji__desc {
    margin-top: 30px !important;
    padding: 30px 17px;
    position: relative;
    z-index: 0;
  }
  .p-item_oji__desc::before {
    background: #F5F5F5;
    content: "";
    display: block;
    width: 100vw;
    width: calc(100vw + 1px);
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: -1;
    margin-left: -1px;
  }
}
/* /technology/r-and-d/ */
.p-randd_guideline {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 40px 0;
}
.p-randd_guideline__item {
  background: #F5F9FD;
  border-radius: 10px;
  padding: 30px 50px 40px;
  position: relative;
}
.p-randd_guideline__num {
  color: #D3E4F5;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 60px;
  font-weight: bold;
  position: absolute;
  top: 21px;
  left: 28px;
}
.p-randd_guideline__thumb {
  text-align: center;
}
.p-randd_guideline__title {
  color: #0758BE;
  font-size: 24px;
  margin-top: 30px;
  text-align: center;
}

.p-randd_system {
  background: #F5F5F5;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 30px 25px;
  margin: 30px 0;
  padding: 40px 50px;
}
.p-randd_system__item {
  background: #FFF;
  border-radius: 6px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  padding: 30px;
}
.p-randd_system__item:nth-child(-n+3) {
  grid-column: span 2;
}
.p-randd_system__item:nth-child(n+4) {
  grid-column: span 3;
}
.p-randd_system__item:nth-child(n+4) dt {
  color: #45B035;
  margin-bottom: 1em;
}
.p-randd_process__item {
  padding-bottom: 20px;
  padding-left: 120px;
  position: relative;
}
.p-randd_process__item::before {
  background: #0758BE;
  content: "";
  width: 1px;
  height: 100%;
  position: absolute;
  top: 40px;
  left: 50px;
}
.p-randd_process__item:last-child::before {
  display: none;
}
.p-randd_process__num {
  background: #FFF;
  border: 1px solid #0758BE;
  border-radius: 50%;
  color: #0758BE;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 24px;
  font-weight: bold;
  position: absolute;
  top: 40px;
  left: 20px;
  width: 64px;
  height: 64px;
}
.p-randd_process__main {
  background: #F5F5F5;
  border-radius: 6px;
  padding: 30px 20px;
}
.p-randd_process__head {
  display: grid;
  grid-template-columns: 80px 1fr;
  grid-template-rows: auto auto;
  gap: 13px 50px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  padding-right: 100px;
  position: relative;
}
.p-randd_process__head::after {
  background: url(/assets/images/common/icon_plus.svg) no-repeat 0 0/cover;
  content: "";
  width: 40px;
  height: 40px;
  position: absolute;
  top: 50%;
  right: 40px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-randd_process__head.is-active::after {
  background-image: url(/assets/images/common/icon_minus.svg);
}
.p-randd_process__icon {
  width: 80px;
  height: 80px;
  grid-row: span 2;
}
.p-randd_process__catch {
  font-weight: bold;
  font-size: 150%;
}
.p-randd_process__desc {
  margin-top: 0 !important;
}
.p-randd_process__body {
  background: #FFF;
  margin-top: 30px;
  padding: 30px;
}
.p-randd_process__label {
  color: #0758BE;
  font-size: 125%;
  font-weight: bold;
}

@media (max-width: 767px) {
  .p-randd_guideline {
    grid-template-columns: 1fr;
    margin: 20px 0;
  }
  .p-randd_guideline__item {
    padding: 40px 32px 30px;
  }
  .p-randd_guideline__num {
    font-size: 45px;
    top: 15px;
    left: 15px;
  }
  .p-randd_guideline__title {
    font-size: 20px;
    line-height: 1.5;
    margin-top: 25px;
  }
  .p-randd_system {
    grid-template-columns: 1fr;
    gap: 15px;
    margin: 20px 0;
    padding: 20px 16px;
  }
  .p-randd_system__item {
    gap: 32px;
    padding: 20px;
  }
  .p-randd_system__item dt {
    font-size: 18px;
  }
  .p-randd_system__item:nth-child(-n+3) {
    grid-column: span 1;
  }
  .p-randd_system__item:nth-child(n+4) {
    grid-column: span 1;
  }
  .p-randd_process__item {
    padding-bottom: 15px;
    padding-left: 40px;
  }
  .p-randd_process__item::before {
    top: 46px;
    left: 23px;
  }
  .p-randd_process__num {
    font-size: 20px;
    top: 46px;
    left: 0;
    width: 46px;
    height: 46px;
  }
  .p-randd_process__main {
    padding: 17px 20px 20px;
  }
  .p-randd_process__head {
    grid-template-columns: 60px 1fr;
    gap: 7px 15px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-right: 40px;
  }
  .p-randd_process__head::after {
    width: 26px;
    height: 26px;
    right: 5px;
  }
  .p-randd_process__icon {
    width: 60px;
    height: 60px;
    grid-row: span 1;
  }
  .p-randd_process__catch {
    font-size: 20px;
    line-height: 1.3;
  }
  .p-randd_process__desc {
    grid-column: 1/-1;
  }
  .p-randd_process__body {
    font-size: 13px;
    margin-top: 20px;
    padding: 15px;
  }
  .p-randd_process__label {
    font-size: 16px;
  }
}
/* recruit */
@media (min-width: 768px) {
  .p-recruit_factory {
    margin-top: 40px;
  }
  .p-recruit_factory .c-card.u-fill_blue.--leftImg .c-card_thumb {
    width: 42.66%;
  }
}
@media (max-width: 767px) {
  .p-recruit_factory {
    margin-top: 30px;
  }
}
/* corporate */
@media (min-width: 768px) {
  .p-greeting .c-cols.--imgL {
    grid-template-columns: minmax(0, 320px) minmax(0, 840px);
  }
}
/* technologies */
.l-content--single-technologies .ark-block-columns.is-style-kakomi .ark-block-column {
  background: #F5F5F5;
  border: none;
  border-radius: 0;
}

.p-404 {
  margin-bottom: 3em;
}

.p-factory__map {
  margin-bottom: 0;
}
.p-factory__map img {
  display: block;
  width: 100%;
  max-width: 860px;
  height: auto;
  margin: 0 auto;
  border-radius: 8px;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.p-factory__map_link {
  display: inline-block;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.p-factory__map_link:hover {
  opacity: 0.6;
}
.p-factory__section:not(:first-of-type) {
  padding-top: 48px;
  border-top: 1px solid #DDD;
}
.p-factory__content {
  margin-top: 24px;
}
.p-factory__gallery {
  display: grid;
  gap: 39px;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 24px;
}
.p-factory__gallery--tokai {
  grid-template-columns: repeat(2, 1fr);
  max-width: 800px;
}
@media (max-width: 767px) {
  .p-factory__gallery {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 20px;
  }
  .p-factory__gallery--tokai {
    grid-template-columns: 1fr;
  }
}
.p-factory__gallery_item {
  margin: 0;
  overflow: hidden;
}
.p-factory__gallery_item img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 374/249;
}
.p-factory__gallery_item .c-img_caption {
  font-size: 14px;
  color: #666666;
}
.p-factory__desc {
  line-height: 1.75;
  margin: 0 0 20px;
}
@media (max-width: 767px) {
  .p-factory__desc {
    margin-bottom: 16px;
  }
}
.p-factory__subheading {
  font-size: 18px;
  font-weight: 600;
  margin: 28px 0 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid #0758BE;
  color: #000;
}
.p-factory__subheading:first-child {
  margin-top: 0;
}
@media (max-width: 767px) {
  .p-factory__subheading {
    font-size: 16px;
    margin: 24px 0 10px;
  }
}
.p-factory__products {
  display: grid;
  gap: 6px 2em;
  grid-template-columns: repeat(2, 1fr);
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
}
.p-factory__products li {
  position: relative;
  padding-left: 1.2em;
  line-height: 1.71;
  font-size: 14px;
}
.p-factory__products li::before {
  content: "・";
  position: absolute;
  left: 0;
  color: #0758BE;
}
@media (max-width: 767px) {
  .p-factory__products {
    grid-template-columns: 1fr;
    gap: 4px;
    margin-bottom: 20px;
  }
  .p-factory__products li {
    font-size: 13px;
  }
}
.p-factory__address {
  background: #F5F9FD;
  border-radius: 8px;
  padding: 20px 24px;
  margin-top: 0;
}
.p-factory__address p {
  margin: 0 0 4px;
  font-size: 14px;
  line-height: 1.71;
}
.p-factory__address p:last-of-type {
  margin-bottom: 0;
}
.p-factory__address .p-outline_map {
  margin-top: 12px;
  margin-left: 0;
}
.p-factory__address--tokai {
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .p-factory__address {
    padding: 16px 20px;
  }
  .p-factory__address .p-outline_map {
    margin-top: 10px;
  }
}
.p-factory__subfactory {
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px dashed #DDD;
}
.p-factory__subfactory:first-child {
  margin-top: 32px;
  padding-top: 32px;
  border-top: 1px solid #DDD;
}
@media (max-width: 767px) {
  .p-factory__subfactory {
    margin-top: 32px;
    padding-top: 24px;
  }
}
.p-factory__subfactory_content .p-factory__desc {
  margin-bottom: 20px;
}
.p-factory__subfactory_content .p-factory__gallery {
  margin-top: 0;
}

.p-greeting__hero {
  display: grid;
  gap: 40px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  grid-template-columns: minmax(0, 400px) 1fr;
}
@media (max-width: 767px) {
  .p-greeting__hero {
    gap: 30px;
    grid-template-columns: 1fr;
  }
}
.p-greeting__hero_img img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-greeting__hero_body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
.p-greeting__catch {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
  color: #0758BE;
}
@media (max-width: 767px) {
  .p-greeting__catch {
    font-size: 20px;
  }
}
.p-greeting__catch_sub {
  font-size: 18px;
  line-height: 1.67;
  color: #000;
}
@media (max-width: 767px) {
  .p-greeting__catch_sub {
    font-size: 16px;
  }
}
.p-greeting__message {
  line-height: 1.75;
}
.p-greeting__message p {
  margin: 0 0 0.5em;
}
.p-greeting__message p:last-child {
  margin-bottom: 0;
}
.p-greeting__content {
  line-height: 1.8;
}
.p-greeting__content p + p {
  margin-top: 1.5em;
}
.p-greeting__signature {
  margin-top: 2.5em !important;
  text-align: right;
  font-size: 18px;
  font-weight: bold;
}
@media (max-width: 767px) {
  .p-greeting__signature {
    font-size: 16px;
    margin-top: 2em !important;
  }
}

.p-group__link-list {
  display: grid;
  gap: 12px 24px;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  list-style: none;
  margin: 24px 0 0;
  padding: 0;
}
@media (max-width: 767px) {
  .p-group__link-list {
    gap: 10px;
    grid-template-columns: 1fr;
    margin-top: 20px;
  }
}
.p-group__link {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #0758BE;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 15px;
  line-height: 1.6;
  padding: 10px 12px;
  position: relative;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.p-group__link:hover {
  opacity: 0.6;
  text-decoration: underline;
}
.p-group__link.--blank {
  padding-right: 36px;
}
.p-group__link.--blank::after {
  background: url("/assets/images/common/icon_blank.svg") no-repeat 0 0/contain;
  content: "";
  height: 14px;
  margin-left: 8px;
  position: absolute;
  right: 12px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 14px;
}
@media (max-width: 767px) {
  .p-group__link {
    font-size: 14px;
    padding: 8px 10px;
    padding-right: 32px;
  }
  .p-group__link.--blank::after {
    height: 12px;
    right: 10px;
    width: 12px;
  }
}

.p-history__intro {
  line-height: 1.8;
}
.p-history__intro p {
  margin: 0;
}
.p-history__gallery {
  display: grid;
  gap: 39px;
  grid-template-columns: repeat(3, 1fr);
  list-style: none;
  margin: 40px 0 0;
  padding: 0;
}
@media (max-width: 991px) {
  .p-history__gallery {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .p-history__gallery {
    gap: 24px;
    grid-template-columns: 1fr;
    margin-top: 24px;
  }
}
.p-history__gallery_item .c-box_img {
  margin: 0;
}
.p-history__gallery_item img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 374/249;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-history__gallery_item .c-img_caption {
  color: #666;
  font-size: 14px;
  line-height: 1.5;
  margin-top: 8px;
  text-align: center;
}
@media (max-width: 767px) {
  .p-history__gallery_item .c-img_caption {
    font-size: 12px;
    margin-top: 6px;
  }
}
.p-history__table-wrap {
  overflow-x: auto;
  margin-top: 24px;
}
@media (max-width: 767px) {
  .p-history__table-wrap {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    width: 100vw;
  }
}
.p-history__table {
  border: 1px solid #DDD;
  border-collapse: collapse;
  font-size: 14px;
  min-width: 600px;
  width: 100%;
}
.p-history__table th,
.p-history__table td {
  border: 1px solid #DDD;
  padding: 12px 16px;
  vertical-align: top;
}
.p-history__table thead th {
  background: #F5F9FD;
  color: #000;
  font-weight: 600;
  text-align: center;
}
.p-history__table thead th:first-child {
  width: 6em;
  min-width: 5em;
}
.p-history__table tbody td:first-child {
  background: #F5F5F5;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
}
.p-history__table tbody td:empty::before {
  content: "—";
  color: #666;
}
.p-history__table tbody tr.p-history__table-row--merge td {
  background: #EFF2F5;
  font-weight: 500;
  text-align: center;
}
@media (max-width: 767px) {
  .p-history__table {
    font-size: 12px;
  }
  .p-history__table th,
  .p-history__table td {
    padding: 10px 12px;
  }
  .p-history__table thead th:first-child {
    width: 5em;
    min-width: 4em;
  }
}

.p-philosophy__hero {
  background-color: #F8F5F0;
  background-image: radial-gradient(circle at 1px 1px, rgba(74, 60, 46, 0.06) 1px, transparent 0);
  background-size: 24px 24px;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding: 56px 20px 60px;
  width: 100vw;
}
.p-philosophy__hero_inner {
  margin: 0 auto;
  max-width: 1200px;
  text-align: center;
  width: 90%;
}
.p-philosophy__hero_title {
  color: #4A3C2E;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 28px;
  font-weight: bold;
  line-height: 1.4;
  margin: 0;
}
.p-philosophy__hero_title::before, .p-philosophy__hero_title::after {
  background-color: #4A3C2E;
  content: "";
  display: block;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 1px;
  max-width: 80px;
  margin: 0 24px;
}
.p-philosophy__hero_desc {
  color: #4A3C2E;
  font-size: 16px;
  line-height: 1.75;
  margin: 20px 0 0;
}
@media (max-width: 767px) {
  .p-philosophy__hero {
    padding: 40px 16px 48px;
  }
  .p-philosophy__hero_title {
    font-size: 22px;
  }
  .p-philosophy__hero_title::before, .p-philosophy__hero_title::after {
    max-width: 40px;
    margin: 0 16px;
  }
  .p-philosophy__hero_desc {
    font-size: 14px;
    margin-top: 16px;
  }
}
.p-philosophy__intro {
  line-height: 1.8;
  margin: 0;
  padding-left: 2em;
}
.p-philosophy__intro--roman {
  list-style-type: upper-roman;
}
.p-philosophy__intro li {
  margin-top: 1em;
}
.p-philosophy__intro li:first-child {
  margin-top: 0;
}
.p-philosophy__charter {
  margin-top: 20px;
}
.p-philosophy__charter_list {
  counter-reset: charter;
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-philosophy__charter_item {
  background: #EFF2F5;
  border-radius: 8px;
  margin-top: 24px;
  overflow: hidden;
  padding: 28px 32px;
  position: relative;
}
.p-philosophy__charter_item:first-child {
  margin-top: 0;
}
.p-philosophy__charter_item::before {
  background: linear-gradient(225deg, #bed58c 0%, #00ac8d 5.9%, #00849c 42.4%, #046dae 68%, #0758be 100%);
  border-radius: 50%;
  color: #FFF;
  content: counter(charter);
  counter-increment: charter;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 18px;
  font-weight: bold;
  height: 36px;
  left: 32px;
  line-height: 1;
  position: absolute;
  top: 28px;
  width: 36px;
}
.p-philosophy__charter_item .c-heading--line {
  border-bottom: none;
  font-size: 18px;
  margin: 0 0 12px 48px;
  padding: 0;
}
.p-philosophy__charter_item .c-heading--line::before {
  display: none;
}
.p-philosophy__charter_item p {
  line-height: 1.75;
  margin: 0 0 0 48px;
}
.p-philosophy__policy {
  line-height: 1.8;
}

@media (max-width: 767px) {
  .p-philosophy__charter_item {
    padding: 20px 16px 24px;
  }
  .p-philosophy__charter_item::before {
    height: 28px;
    width: 28px;
    font-size: 14px;
    left: 16px;
    top: 20px;
  }
  .p-philosophy__charter_item .c-heading--line {
    font-size: 16px;
    margin: 0 0 10px 36px;
  }
  .p-philosophy__charter_item p {
    margin-left: 36px;
  }
}
/*
.c-postContent {

  // -------------------------------------
  // ブロック余白（投稿用）
  // -------------------------------------
  .p-block {
    margin: 0 0 24px;

    &:last-child {
      margin-bottom: 0;
    }
  }

  // -------------------------------------
  // 段組み（共通）
  // -------------------------------------
  .p-cols {
    display: grid;
    gap: 16px;
    align-items: start;

    > * {
      min-width: 0;
    }

    @media (min-width: 768px) {
      gap: 24px;
    }
  }

  // 1カラム（段組みなし）
  .p-cols--1 {
    grid-template-columns: 1fr;
  }

  // 2カラム（均等）
  .p-cols--2 {
    grid-template-columns: 1fr;

    @media (min-width: 768px) {
      grid-template-columns: 1fr 1fr;
    }
  }

  // 2カラム（画像右：左680 / 右480）
  .p-cols--2-imgR {
    grid-template-columns: 1fr;

    @media (min-width: 768px) {
      grid-template-columns: minmax(0, 680px) minmax(0, 480px);
      justify-content: center; // 親が広い場合に中央寄せ
    }
  }

  // 2カラム（画像左：左480 / 右680）
  .p-cols--2-imgL {
    grid-template-columns: 1fr;

    @media (min-width: 768px) {
      grid-template-columns: minmax(0, 480px) minmax(0, 680px);
      justify-content: center; // 親が広い場合に中央寄せ
    }
  }

  // 3カラム
  .p-cols--3 {
    grid-template-columns: 1fr;

    @media (min-width: 768px) {
      grid-template-columns: repeat(3, 1fr);
    }
  }

  // 4カラム
  .p-cols--4 {
    grid-template-columns: 1fr 1fr;

    @media (min-width: 768px) {
      grid-template-columns: repeat(4, 1fr);
    }
  }

  // -------------------------------------
  // リスト（共通）
  // -------------------------------------
  .p-list {
    margin: 0 0 20px;
    padding-left: 1.25em;

    li {
      margin: 0 0 8px;
    }

    li:last-child {
      margin-bottom: 0;
    }
  }

  // 通常リスト
  .p-list--default {
    list-style: disc;
  }

  // -------------------------------------
  // 注釈用リスト（※）
  // -------------------------------------
  .p-noteList {
    margin: 0 0 20px;
    padding-left: 0;
    list-style: none;

    li {
      position: relative;
      padding-left: 1.4em;
      margin: 0 0 8px;
      line-height: 1.6;
    }

    li:last-child {
      margin-bottom: 0;
    }

    li::before {
      content: "※";
      position: absolute;
      left: 0;
      top: 0;
    }
  }

  // -------------------------------------
  // 数字付き注釈用リスト（※1 ※2）
  // -------------------------------------
  .p-noteListNum {
    counter-reset: note;
    margin: 0 0 20px;
    padding-left: 0;
    list-style: none;

    li {
      counter-increment: note;
      position: relative;
      padding-left: 2.2em;
      margin: 0 0 8px;
      line-height: 1.6;
    }

    li:last-child {
      margin-bottom: 0;
    }

    li::before {
      content: "※" counter(note);
      position: absolute;
      left: 0;
      top: 0;
      white-space: nowrap;
    }
  }

  // -------------------------------------
  // 画像ボックス（共通）
  // -------------------------------------
  .p-imgbox {
    margin: 0 0 24px;
    border-radius: 12px;
    overflow: hidden;
    background: #f6f6f6;

    figure {
      margin: 0;
    }

    img {
      display: block;
      width: 100%;
      height: auto;
    }
  }

  // キャプション付き
  .p-imgbox--caption {
    figcaption {
      padding: 12px 14px;
      font-size: 14px;
      line-height: 1.6;
      background: #f6f6f6;
    }
  }

  // 見出し付き
  .p-imgbox--title {
    .p-imgbox__title {
      padding: 12px 14px;
      font-weight: 700;
      line-height: 1.4;
      background: #eee;
    }
  }

  // 画像 + テキストをセットで使う場合
  .p-imgbox--padded {
    padding: 14px;

    img {
      border-radius: 10px;
    }
  }
}
*/
/* =========================================================
  Entry Content Base
========================================================= */
.c-postContent {
  /* -------------------------
    Text
  ------------------------- */
}
.c-postContent strong {
  font-weight: bold;
}
.c-postContent {
  /* -------------------------
    Paragraph
  ------------------------- */
}
.c-postContent p + p {
  margin-top: 1em;
}
.c-postContent .c-caption {
  margin-top: 0.75em;
}
.c-postContent {
  /* -------------------------
    List
  ------------------------- */
}
.c-postContent .wp-block-list {
  margin-top: 1em;
}
.c-postContent .wp-block-list li {
  padding-left: 1em;
  text-indent: -1em;
}
.c-postContent .wp-block-list li::before {
  content: "・";
}
.c-postContent {
  /* -------------------------
    Table
  ------------------------- */
}
.c-postContent .wp-block-table {
  margin: 1.5em 0;
}
.c-postContent .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.c-postContent .wp-block-table th,
.c-postContent .wp-block-table td {
  border: 1px solid #DDD;
  padding: 12px 14px;
  vertical-align: top;
}
.c-postContent .wp-block-table thead th {
  background: #F5F5F5;
  font-weight: 700;
}
.c-postContent {
  /* -------------------------
    CTA
  ------------------------- */
}
.c-postContent .l-section_inner .c-cta.--simple {
  margin-top: 60px;
}
.c-postContent {
  /* -------------------------
    HEADINGS
  ------------------------- */
}
.c-postContent h4.wp-block-heading,
.c-postContent h5.wp-block-heading,
.c-postContent h6.wp-block-heading {
  font-weight: 700;
  line-height: 1.5;
}
.c-postContent h4.wp-block-heading {
  font-size: 1.25em;
  margin-bottom: 1.5em;
}
.c-postContent h5.wp-block-heading {
  font-size: 1.1em;
  margin-bottom: 1em;
}
.c-postContent h6.wp-block-heading {
  font-size: 1em;
  margin-bottom: 1em;
}
.c-postContent {
  /* =========================================================
    Columns Block Styles
  ========================================================= */
}
.c-postContent * + .wp-block-columns {
  margin-top: 30px;
}
.c-postContent .wp-block-columns + .wp-block-columns {
  margin-top: 60px;
}
.c-postContent {
  /* 2カラム｜均等 */
}
.c-postContent .wp-block-columns.is-style-cols-2-eq {
  gap: 40px;
}
.c-postContent {
  /* 2カラム｜左40% */
}
.c-postContent .wp-block-columns.is-style-cols-2-left40 {
  gap: 40px;
}
.c-postContent .wp-block-columns.is-style-cols-2-left40 > .wp-block-column:first-child {
  -ms-flex-preferred-size: 40%;
      flex-basis: 40%;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}
.c-postContent .wp-block-columns.is-style-cols-2-left40 > .wp-block-column:last-child {
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.c-postContent {
  /* 2カラム｜右40% */
}
.c-postContent .wp-block-columns.is-style-cols-2-right40 {
  gap: 40px;
}
.c-postContent .wp-block-columns.is-style-cols-2-right40 > .wp-block-column:last-child {
  -ms-flex-preferred-size: 40%;
      flex-basis: 40%;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}
.c-postContent .wp-block-columns.is-style-cols-2-right40 > .wp-block-column:first-child {
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.c-postContent {
  /* 3カラム｜均等 */
}
.c-postContent .wp-block-columns.is-style-cols-3-eq {
  gap: 39px;
}
.c-postContent .wp-block-columns.is-style-cols-3-eq > .wp-block-column {
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

@media (max-width: 767px) {
  .c-postContent .l-section_inner .c-cta.--simple {
    margin-top: 40px;
  }
  .c-postContent .wp-block-columns.is-style-cols-2-eq,
  .c-postContent .wp-block-columns.is-style-cols-2-left40,
  .c-postContent .wp-block-columns.is-style-cols-2-right40 {
    gap: 20px !important;
  }
  .c-postContent .wp-block-columns.is-style-cols-2-left40 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .c-postContent .wp-block-columns.is-style-cols-3-eq {
    gap: 30px !important;
  }
}
/* mq only */
@media (min-width: 768px) {
  .sponly {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .pconly {
    display: none !important;
  }
}
/* utility */
.u-c_key, .u-c_blue {
  color: #0758BE;
}
.u-c_red {
  color: #C6061C;
}
.u-c_black {
  color: #000;
}
.u-c_black li::before {
  color: #000;
}
.u-c_caption {
  color: #666666;
}

.u-fw_b {
  font-weight: bold !important;
}
.u-fw_n {
  font-weight: normal !important;
}

.u-ta_l {
  text-align: left !important;
}
.u-ta_c {
  text-align: center !important;
}
.u-ta_r {
  text-align: right !important;
}

.u-fs_s {
  font-size: 87.5%;
}
@media (min-width: 768px) {
  .u-fs_s--sp {
    font-size: 14px;
    line-height: 1.6 !important;
  }
}

.u-sup {
  font-size: 75%;
  vertical-align: top;
}

.u-fill_blue {
  background: #EFF2F5;
}
.u-fill_gray {
  background: #F5F5F5;
}

.u-marker {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(85%, transparent), color-stop(90%, #FF0));
  background: linear-gradient(transparent 85%, #FF0 90%);
}
.u-marker--bold {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(82%, transparent), color-stop(82%, #FF0));
  background: linear-gradient(transparent 82%, #FF0 82%);
}

@media (max-width: 991px) {
  .u-note {
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  .u-note {
    font-size: 12px;
  }
}

.u-mt_0 {
  margin-top: 0 !important;
}
.u-mt_1em {
  margin-top: 1em !important;
}
.u-mt_2em {
  margin-top: 2em !important;
}

@media (max-width: 767px) {
  table.u-sp_vertical {
    display: block;
  }
  table.u-sp_vertical thead,
  table.u-sp_vertical tbody,
  table.u-sp_vertical tr,
  table.u-sp_vertical th,
  table.u-sp_vertical td {
    display: block;
  }
  table.u-sp_vertical td {
    border-top: none !important;
  }
  table.u-sp_vertical tr + tr th {
    border-top: none !important;
  }
}/*# sourceMappingURL=style.css.map */