@charset "UTF-8";

/* === ブランドカラー === */
:root {
  --color-primary: #1c4f9c;        /* メインの青 */
  --color-primary-dark: #163e7d;   /* ホバー用ダーク */
  --color-navy: #193569;           /* ナビ・ロゴの濃紺 */
  --color-text: #333;
  --color-border: #ddd;
}

*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0; }

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent; }

body {
  margin: 0; }

main {
  display: block; }

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0; }

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none; }

dt {
  font-weight: bold; }

dd {
  margin-left: 0; }

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit; }

pre {
  font-family: monospace, monospace;
  font-size: inherit; }

address {
  font-style: inherit; }

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit; }

abbr[title] {
  text-decoration: underline;
  text-decoration: underline dotted; }

b,
strong {
  font-weight: bolder; }

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: inherit; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img,
embed,
object,
iframe {
  vertical-align: bottom; }

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit; }

[type="checkbox"] {
  -webkit-appearance: checkbox;
  appearance: checkbox; }

[type="radio"] {
  -webkit-appearance: radio;
  appearance: radio; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none; }

button[disabled],
[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled] {
  cursor: default; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

select::-ms-expand {
  display: none; }

option {
  padding: 0; }

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0; }

legend {
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  outline-offset: -2px; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

label[for] {
  cursor: pointer; }

details {
  display: block; }

summary {
  display: list-item; }

[contenteditable] {
  outline: none; }

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

caption {
  text-align: left; }

td,
th {
  vertical-align: top;
  padding: 0; }

th {
  text-align: left;
  font-weight: bold; }

template {
  display: none; }

[hidden] {
  display: none; }

/*********************
#all
*********************/
body {
  font-size: 15px;
  position: relative;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif"; }

#wrapper._block footer {
  position: fixed;
  bottom: 0;
  width: 100%; }

.container {
  max-width: 1280px;
  margin: 0 auto; }
  .container.s-page {
    width: 1000px; }
    .container.s-page section:first-child {
      margin-top: calc(60 / 1280 * 100vw); }
    .container.s-page .thanks {
      border: 1px solid #666;
      padding: 1rem;
      padding-bottom: 2rem; }

p
.l-flex {
  display: flex;
  justify-content: space-between; }

p {
  color: #333;
  line-height: 1.6; }

ul li {
  color: #333;
  line-height: 1.8; }

a {
  transition: .3s; }
  a.scrollbtn {
    position: fixed;
    right: 0;
    bottom: 10%;
    border: 1px solid #193569;
    color: #193569;
    background: #fff;
    text-align: center;
    padding: 1rem 1rem;
    font-size: 1.2rem;
    letter-spacing: 0.07rem;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl; }
    a.scrollbtn:hover {
      opacity: 1;
      color: #fff;
      border-color: #fff;
      background: #193569; }
  a.normalbtn {
    padding: 1rem 0;
    color: #193569;
    border: 1px solid #193569;
    font-size: 1.1rem;
    letter-spacing: 0.07rem;
    font-weight: bold;
    text-align: center;
    border-radius: 100px;
    display: block;
    margin: 0 auto;
    width: 300px; }
    a.normalbtn:hover {
      opacity: 1;
      color: #fff;
      border-color: #fff;
      background: #193569; }

.blank {
  padding: .5rem 0; }

.col-2 {
  width: 49%; }

/*********************
#all
*********************/
/*********************
#header
*********************/
header {
  position: relative; }



/*********************
#header
*********************/
/*********************
#footer
*********************/


/*********************
#footer
*********************/
/*********************
#nav
*********************/

/*********************
#nav
*********************/
/*********************
#slide
*********************/


/*********************
#slide
*********************/
/*********************
#toppage
*********************/
.t-page h2 {
  font-size: 1.8rem;
  font-weight: bold;
  border-bottom: 3px solid #193569;
  padding-bottom: 1rem; }
  .t-page h2.anti-border {
    border: 0;
    text-align: center; }
.t-page .center {
  text-align: center; }

.p-txt {
  margin: 1.5rem 0; }
  .p-txt p {
    margin-bottom: 1rem; }
    .p-txt p.point {
      font-weight: bold; }

.t-item_outer {
  border: 2px solid #193569; }
  .t-item_outer._box {
    margin-bottom: 2rem; }

/*********************
#toppage
*********************/
.t-company_sttl {
  font-weight: bold;
  margin-top: 1rem;
  line-height: 1.4;
  margin-bottom: .5rem; }
  .t-company_sttl span {
    padding-left: 3rem;
    position: relative; }
    .t-company_sttl span:after {
      position: absolute;
      content: '';
      top: 1vh;
      left: 1vh;
      height: 1px;
      width: 30px;
      background: #000; }

.t-company_option {
  margin-top: 1rem; }

.wpcf7-form {
  padding: 1rem 1rem 0 1rem; }
  .wpcf7-form p label span textarea {
    width: 98%;
    border: 2px solid #ccc; }
  .wpcf7-form p label span span.wpcf7-not-valid-tip {
    width: 97%; }
  .wpcf7-form .c-flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap; }
    .wpcf7-form .c-flex p {
      width: 50%; }
      .wpcf7-form .c-flex p:nth-child(2) {
        display: none; }
  .wpcf7-form label {
    width: 45%;
    margin-bottom: 1.5rem; }
    .wpcf7-form label span.wpcf7-form-control-wrap {
      overflow: visible; }
    .wpcf7-form label span input {
      width: 100%;
      margin: 0;
      border: 2px solid #ccc;
      margin-top: .5rem; }
    .wpcf7-form label span .wpcf7-not-valid-tip {
      width: 97.7%; }
  .wpcf7-form .wpcf7-submit {
    border: none;
    font-size: 1rem;
    background: #193569;
    margin-top: 1.5rem; }
    .wpcf7-form .wpcf7-submit:hover {
      background: #284d92; }

section {
  padding-bottom: calc(42 / 1280 * 100vw); }
  section.pagemain {
    position: relative;
    margin-bottom: calc(112 / 1280 * 100vw);
    max-width: 900px;
    margin: 0 auto; }
  section:first-child {
    margin-top: calc(82 / 1280 * 100vw); }

.mainvisual {
  position: relative;
  height: 420px;
  border-top: 10px solid #ddd;
  border-bottom: 10px solid #ddd;
  /*&.anti{
      border: none;
  }*/ }
  .mainvisual.-boxcase {
    background: url("/assets/img/boxcase/top.webp") center/cover no-repeat; }
  .mainvisual.-boxsafe {
    background: url("/assets/img/boxsafe/top.webp") center/cover no-repeat; }
  .mainvisual.-key {
    background: url("/assets/img/key/top.webp") center/cover no-repeat; }
  .mainvisual.-skb {
    background: url("/assets/img/key/skb-top.jpg") center/cover no-repeat; }
  .mainvisual.-desktop {
    background: url("/assets/img/desktop/top.webp") center/cover no-repeat; }
  .mainvisual.-handy {
    background: url("/assets/img/handy/top.webp") center/cover no-repeat; }
  .mainvisual.-imprinter {
    background: url("/assets/img/imprinter/top.webp") center/cover no-repeat; }
  .mainvisual.-imprinter-m {
    background: url("/assets/img/imprinter/top-m.webp") center/cover no-repeat; }
  .mainvisual.-embosser {
    background: url("/assets/img/embosser/top.webp") center/cover no-repeat; }
  .mainvisual.-application {
    background: url("/assets/img/application/top.webp") center/cover no-repeat; }
  .mainvisual.-cleaner {
    background: url("/assets/img/cleaner/top.jpg") center/cover no-repeat; }
  .mainvisual.-passport {
    background: url("/assets/img/passport/top.webp") center/cover no-repeat; }
  .mainvisual.-uv {
    background: url("/assets/img/uv/top.webp") center/cover no-repeat; }
  .mainvisual.-security {
    background: url("/assets/img/securitypatrol/top.webp") center/cover no-repeat; }
  .mainvisual .mainvisual_inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%); }
    .mainvisual .mainvisual_inner h3 {
      color: #fff;
      font-size: 2.2rem;
      font-weight: bold;
      letter-spacing: 2px; }
    .mainvisual .mainvisual_inner h4 {
      color: #fff;
      line-height: 1.6;
      font-size: 1rem;
      text-align: center; }
      .mainvisual .mainvisual_inner h4 span {
        display: block;
        font-size: 1.2rem; }

.p-flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start; }
  .p-flex .p-flex p {
    width: 100%;
    display: block;
    max-width: 440px;
    margin-bottom: 0;
    padding: 0; }

.p-main_inner .pagelist {
  width: 400px; }
  .p-main_inner .pagelist li {
    font-size: 1rem;
    position: relative;
    padding-left: 1.3rem;
    line-height: 1.8; }
    .p-main_inner .pagelist li:first-child {
      font-size: 2rem;
      text-align: left;
      font-weight: bold;
      position: relative;
      padding-left: 0;
      line-height: 1.4;
      margin-bottom: 1rem; }
      .p-main_inner .pagelist li:first-child span {
        display: block; }
      .p-main_inner .pagelist li:first-child:before {
        content: none; }
    .p-main_inner .pagelist li:before {
      position: absolute;
      left: 0;
      top: 3px;
      font-family: "Font Awesome 5 Free";
      content: '\f058';
      font-weight: 400;
      font-size: .9rem;
      color: darkred; }
  .p-main_inner .pagelist.-right {
    float: right; }
  .p-main_inner .pagelist.normal li {
    padding-left: 0;
    font-size: .9rem; }
    .p-main_inner .pagelist.normal li:before {
      content: none; }
    .p-main_inner .pagelist.normal li:first-child {
      font-size: 2.2rem; }
  .p-main_inner .pagelist.-dis li:first-child {
    font-size: 1rem;
    position: relative;
    padding-left: 1.3rem;
    line-height: 1.8;
    margin-bottom: 0;
    font-weight: normal; }
  .p-main_inner .pagelist.-dis li:before {
    position: absolute;
    left: 0;
    top: 3px;
    font-family: "Font Awesome 5 Free";
    content: '\f058';
    font-weight: 400;
    font-size: .9rem;
    color: darkred; }
.p-main_inner .p-flex.m-top {
  margin-top: calc(60 / 1280 * 100vw);
  padding-top: calc(60 / 1280 * 100vw); }
  .p-main_inner .p-flex.m-top:first-child {
    padding-top: 0;
    margin-top: 0; }
  .p-main_inner .p-flex.m-top:nth-child(n+2) {
    border-top: 1px dashed #193569; }
  .p-main_inner .p-flex.m-top .name p {
    text-align: center;
    font-size: .9rem;
    margin-bottom: .5rem; }
.p-main_inner .p-flex .option {
  border: 1px solid #193569;
  padding: .5rem 1rem;
  width: 460px;
  margin-top: 1rem; }
  .p-main_inner .p-flex .option p {
    text-align: left; }
    .p-main_inner .p-flex .option p:first-child {
      font-weight: bold;
      color: #193569; }
.p-main_inner .p-main_details {
  border: 1px solid #193569;
  padding: 1rem 1.5rem;
  margin-top: 1.5rem; }
  .p-main_inner .p-main_details p {
    font-size: .9rem; }
    .p-main_inner .p-main_details p:first-child {
      font-weight: bold;
      font-size: 1rem; }
    .p-main_inner .p-main_details p:last-child {
      margin-top: 1rem; }
.p-main_inner .pv video {
  width: 100%; }

.p-option_inner ul.t-flex {
  flex-wrap: wrap;
  justify-content: flex-start; }
  .p-option_inner ul.t-flex li {
    border: 1px solid #193569;
    width: 33%; }
    .p-option_inner ul.t-flex li a {
      transition: none;
      display: block; }
      .p-option_inner ul.t-flex li a.block {
        pointer-events: none; }
      .p-option_inner ul.t-flex li a h4 {
        font-size: 1rem;
        background: #193569;
        padding: .5rem 0;
        color: #fff; }
      .p-option_inner ul.t-flex li a p {
        text-align: center;
        font-weight: bold;
        font-size: 1.1rem;
        padding-bottom: 1rem; }
        .p-option_inner ul.t-flex li a p i {
          padding-right: .5rem;
          color: red;
          font-size: 1.1rem; }
      .p-option_inner ul.t-flex li a img {
        padding: 1rem 0;
        width: auto;
        height: 130px;
        margin: 0 auto;
        display: block; }
      .p-option_inner ul.t-flex li a:hover {
        opacity: .6; }
    .p-option_inner ul.t-flex li:nth-child(n+4) {
      margin-top: .25rem; }
    .p-option_inner ul.t-flex li:nth-child(n+1) {
      margin-right: .25rem; }
    .p-option_inner ul.t-flex li:nth-child(3n) {
      margin-right: 0; }
.p-option_inner table {
  width: 100%; }
  .p-option_inner table tr:first-child th {
    font-size: 1rem;
    font-weight: bold; }
  .p-option_inner table tr th,
  .p-option_inner table tr td {
    padding: .5rem;
    border: 1px solid #666;
    text-align: center; }
  .p-option_inner table tr th {
    width: 25%;
    font-weight: normal;
    font-size: .8rem; }
    .p-option_inner table tr th img {
      height: 100px;
      width: auto;
      margin-bottom: .5rem; }
    .p-option_inner table tr th p {
      line-height: 1.6; }
      .p-option_inner table tr th p span {
        display: block; }
  .p-option_inner table tr td {
    vertical-align: middle; }
    .p-option_inner table tr td span {
      display: block;
      line-height: 2;
      font-size: .8rem; }
    .p-option_inner table tr td i {
      font-size: 1.6rem;
      color: #333; }

.p-performance {
  /*    margin-bottom: calc(80 / 1280 * 100vw);*/ }
  .p-performance .p-performance_inner p {
    margin-bottom: 0;
    font-size: 1rem; }
  .p-performance .p-performance_inner.p-flex {
    flex-wrap: wrap; }
  .p-performance .p-performance_inner li {
    width: 49%;
    font-weight: bold;
    font-size: 1rem; }
    .p-performance .p-performance_inner li.col-1 {
      width: 100%; }
    .p-performance .p-performance_inner li span {
      display: block;
      font-weight: normal; }
  .p-performance .p-performance_details {
    border: 1px solid #193569;
    padding: 1rem 1.5rem;
    margin-top: 1.5rem; }
    .p-performance .p-performance_details p {
      font-size: .9rem; }

p.p-item_ttl {
  font-size: 2rem;
  text-align: center;
  font-weight: bold;
  position: relative;
  margin-bottom: 3rem; }
p.p-item_subttl {
  font-size: 1rem;
  position: relative;
  text-align: center;
  font-weight: bold;
  color: #193569;
  margin-bottom: .5rem; }
  p.p-item_subttl:before {
    position: absolute;
    content: '';
    background: #193569;
    width: 370px;
    height: 2px;
    top: 1.5vh;
    left: 0; }
  p.p-item_subttl:after {
    position: absolute;
    content: '';
    background: #193569;
    width: 370px;
    height: 2px;
    top: 1.5vh;
    right: 0; }

.p-lineup .p-lineup_inner h3 {
  font-weight: bold;
  text-align: center;
  font-size: 1rem;
  margin: 0;
  margin-bottom: 1rem;
  padding: 0; }
.p-lineup .p-lineup_inner li {
  width: 30%;
  font-size: 1rem; }
  .p-lineup .p-lineup_inner li p {
    font-size: .9rem;
    /* &:nth-child(2){
         text-align: center;
         font-weight: bold;                    
         font-size: 1.2rem;
         margin-top: 1rem;
     }    */ }
    .p-lineup .p-lineup_inner li p.ov {
      text-align: center;
      font-weight: bold;
      margin-top: 1rem; }
  .p-lineup .p-lineup_inner li img {
    object-fit: contain;
    height: 180px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    display: block; }
.p-lineup .p-lineup_inner.col-2 {
  flex-wrap: wrap;
  width: 100%; }
  .p-lineup .p-lineup_inner.col-2 li {
    width: 49%; }
    .p-lineup .p-lineup_inner.col-2 li:nth-child(n+3) {
      margin-top: 2rem; }
.p-lineup .p-lineup_details {
  border: 1px solid #193569;
  padding: 1rem 1.5rem;
  margin-top: 1.5rem; }
  .p-lineup .p-lineup_details p {
    margin-bottom: 0;
    font-size: .9rem; }
    .p-lineup .p-lineup_details p:first-child {
      font-weight: bold; }
    .p-lineup .p-lineup_details p.bold {
      font-weight: bold; }

.p-question .p-question_inner li {
  line-height: 2.4;
  font-size: 1rem; }
  .p-question .p-question_inner li:nth-child(even) {
    border-bottom: 1px dashed #333;
    margin-top: .25rem;
    margin-bottom: 1rem;
    padding-bottom: 1rem; }
    .p-question .p-question_inner li:nth-child(even) span {
      background: #182180;
      color: #fff;
      border-radius: 30px;
      font-size: .8rem;
      padding: .5rem .3rem; }
  .p-question .p-question_inner li:nth-child(odd) span {
    background: #8F213B;
    color: #fff;
    border-radius: 30px;
    font-size: .8rem;
    padding: .5rem .3rem; }
  .p-question .p-question_inner li span {
    margin-right: 1rem; }

.p-flow .p-flow_inner p {
  margin: 0;
  font-size: 1rem;
  /*&:last-child{
      margin-top: 1rem;
  }*/ }
  .p-flow .p-flow_inner p.imp {
    color: red; }
    .p-flow .p-flow_inner p.imp span {
      display: block;
      font-size: .8rem; }

.p-relation .p-relation_inner.col-3 li {
  width: 30%;
  font-size: 1rem; }
  .p-relation .p-relation_inner.col-3 li p:nth-child(3) {
    font-weight: bold;
    margin: .5rem 0; }
  .p-relation .p-relation_inner.col-3 li img {
    object-fit: contain;
    height: 180px;
    width: 280px;
    margin: 0 auto;
    text-align: center;
    display: block;
    margin-top: 1rem; }
  .p-relation .p-relation_inner.col-3 li a {
    min-height: 360px; }
  .p-relation .p-relation_inner.col-3 li ul {
    margin: 0 auto;
    width: 90%;
    margin-top: 1rem; }
    .p-relation .p-relation_inner.col-3 li ul li {
      width: 100%;
      list-style: none;
      min-height: inherit;
      font-size: .9rem; }
.p-relation .p-relation_inner li {
  width: 49%; }
  .p-relation .p-relation_inner li p {
    margin: 0;
    padding: 0;
    font-size: 1rem; }
    .p-relation .p-relation_inner li p:last-child {
      display: none; }
  .p-relation .p-relation_inner li h3 {
    text-align: center;
    margin: 0;
    background: #193569;
    color: #fff;
    font-size: 1rem; }
  .p-relation .p-relation_inner li img {
    object-fit: contain;
    height: 240px;
    width: 90%;
    margin: 0 auto;
    text-align: center;
    display: block;
    margin-top: 1rem; }
  .p-relation .p-relation_inner li a {
    text-decoration: none;
    color: inherit;
    display: block;
    border: 1px solid #193569;
    min-height: 460px;
    padding-bottom: 1rem; }
    .p-relation .p-relation_inner li a p:first-child {
      display: none; }
    .p-relation .p-relation_inner li a.block {
      pointer-events: none; }
  .p-relation .p-relation_inner li ul {
    margin: 0 auto;
    width: 90%;
    margin-top: 1rem; }
    .p-relation .p-relation_inner li ul li {
      width: 100%;
      list-style: none;
      min-height: inherit; }

h2 {
  border-top: none;
  box-shadow: none;
  font-size: 1.8rem;
  margin: 1rem 0 1rem 0; }
  h2.single-ttl {
    text-align: center;
    border: none;
    letter-spacing: 2px; }

h3 {
  color: #333;
  font-size: 1.2rem;
  text-shadow: none;
  box-shadow: none;
  background: none;
  margin: 1rem 0;
  border-left: 0; }

h4 {
  font-size: .8rem;
  text-shadow: none;
  box-shadow: none;
  background: none;
  border-bottom: none;
  border-top: none;
  margin: 0;
  text-align: center;
  color: #333; }

p {
  padding: 0;
  margin: 0;
  line-height: 1.8; }
  p.p-item_ttl {
    margin-bottom: calc(42 / 1280 * 100vw); }
  p.p-item_subttl {
    margin-bottom: .5rem; }

.t-itembox .t-flex {
  position: relative;
  justify-content: space-around;
  /*  &:nth-child(-n+3){
        &:after{
        position:absolute;
        content: '';
        height: 240px;
        width: 1px;
        background: #284d92;
        left: 50%;
        top: 2vh;            
        }
    }     */ }

.s-contact form .p-flex {
  flex-wrap: wrap; }
  .s-contact form .p-flex dl {
    width: 49%; }
.s-contact form dl dt {
  margin-bottom: .5rem; }
  .s-contact form dl dt span {
    color: red; }
.s-contact form dl dd {
  margin-bottom: 2rem; }
.s-contact form textarea {
  width: 100% !important;
  height: 200px !important; }
.s-contact form .check {
  text-align: center;
  margin-bottom: 1rem; }
  .s-contact form .check label input[type="checkbox"] {
    margin-bottom: .15rem; }
  .s-contact form .check label span {
    padding-left: .5rem; }
  .s-contact form .check div.mfp_err {
    text-align: center;
    background-position: 50px 5px; }
.s-contact form button {
  background: #fff;
  color: #193569;
  border: 1px solid #193569;
  padding: 1rem 0 !important;
  text-align: center;
  width: 300px;
  border-radius: 30px;
  transition: .3s;
  position: relative; }
  .s-contact form button:hover {
    background: #193569;
    color: #fff;
    border-color: #fff; }
    .s-contact form button:hover:after {
      right: 8%; }
  .s-contact form button:after {
    transition: .3s;
    position: absolute;
    top: 50%;
    right: 10%;
    width: 8px;
    height: 8px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
    content: ''; }

/*------------------------------------------------*/
h2.pagettl {
  font-size: 2.2rem;
  text-align: center;
  margin-top: 1.5rem;
  color: #fff;
  letter-spacing: 2px;
  border: none;
  background: none; }

h3.pagetopttl {
  font-size: 1.6rem;
  margin-top: 0;
  text-align: center;
  color: #fff; }
h3.pagettl.-border {
  border-top: 1px solid #193569;
  padding-top: 2rem; }
h3.t-subttl {
  font-size: 1.4rem;
  position: relative;
  color: #284d92;
  font-weight: bold;
  padding-left: 1.5rem; }
  h3.t-subttl:before {
    content: "";
    position: absolute;
    width: 14px;
    height: 3px;
    background: #DE8F52;
    left: 0;
    top: 12px; }
  h3.t-subttl span {
    font-size: .8rem;
    opacity: .6;
    padding-left: .8rem; }
h3.t-item_name {
  color: #fff;
  background: #193569;
  padding: .5rem 1rem;
  margin: 0;
  text-align: left;
  font-size: 1.1rem; }

h4.pagesubttl {
  text-align: center;
  color: #fff;
  padding-bottom: 0; }

/*----------is page----------*/
.page-item p {
  padding: 0; }

.content .page-list {
  margin-bottom: 1rem;
  text-align: justify; }

.page-point {
  font-weight: bold;
  color: #193569;
  font-size: 1.2rem; }

/*----------option----------*/
.m-anti {
  margin: 0; }

.t-itembox h3 {
  color: #fff;
  background: #193569;
  padding: .5rem 1rem;
  margin: 0;
  text-align: left;
  font-size: 1.1rem; }
  .t-itembox h3.t-item_name {
    margin: 0; }
.t-itembox h4 {
  margin: .75rem 0;
  font-size: 1.1rem;
  font-weight: bold; }
.t-itembox img {
  width: 100%;
  height: 220px;
  object-fit: contain;
  padding-top: 0;
  padding-bottom: 0;
  margin: 0 auto;
  display: block; }
.t-itembox .t-itembox_inner {
  border: 2px solid #284d92;
  container-type: inline-size; }
  .t-itembox .t-itembox_inner img.o-left {
    object-position: left; }
.t-itembox .t-point li {
  font-size: .85rem;
  font-size: clamp(0.6rem, 5cqw, 0.9rem);
  white-space: nowrap; }

.t-flex {
  display: flex;
  align-items: stretch;
  justify-content: space-between; }
  .t-flex > .t-itembox.col-2 {
    display: flex;
    flex-direction: column; }
    .t-flex > .t-itembox.col-2 > .t-item_outer._box {
      flex: 1; }
  .t-flex.t-item_outer {
    align-items: stretch; }
  .t-flex .t-itembox_inner {
    padding: 0;
    border: 0; }
    .t-flex .t-itembox_inner:first-child {
      border-right: 0;
      padding-right: 0; }
    .t-flex .t-itembox_inner:last-child {
      border-left: 0;
      padding-left: 0;
      margin-left: 0; }

.t-border.t-flex a:first-child img {
  margin-bottom: 3rem; }

  a.t-item_link {
    display: flex;
    flex-direction: column;
    position: relative;
    text-decoration: none;
    color: #333;
    width: 46%;
    margin: 0 auto;
    padding: 1rem; }
    a.t-item_link:nth-child(1) img {
      margin-bottom: 44px; }
    a.t-item_link:after {
      position: absolute;
      content: '';
      height: 80%;
      width: 1px;
      background: #284d92;
      right: -8.7%;
      top: 10%; }
  a.t-item_link:last-child:after {
    content: none; }
a:hover {
  opacity: .6; }

/*----------company----------*/
.s-page table {
  width: 100%; }
  .s-page table tr th,
  .s-page table tr td {
    padding: 1rem;
    border: 1px solid #ddd;
    line-height: 1.8; }
.s-page a {
  text-decoration: underline; }

iframe {
  width: 100%;
  height: 400px;
  display: block; }

/*----------itempage----------*/
.item_title {
  background: #284d92;
  color: #fff;
  text-align: center;
  height: 100%; }

a.item_link {
  position: relative;
  color: inherit;
  text-decoration: none;
  transition: all 3s ease-out; }

a.item_link:hover {
  opacity: .6; }

.item_box {
  border-radius: 6px;
  box-shadow: 2px 2px 4px #aaa;
  padding: 0 1rem;
  min-height: 400px; }

.item_box span {
  display: block;
  line-height: 1.6;
  font-size: 1.1rem;
  font-weight: bold;
  padding: 1.5rem 1rem;
  border-bottom: 1px solid #fff; }

.item_box.-child {
  border: 1px solid #284d92;
  padding: 0; }

.item_box.-child p {
  margin: 0;
  padding: 1rem;
  background: #284d92;
  text-align: center;
  color: #fff;
  font-weight: bold; }

.item_box .content ul {
  margin: 0;
  padding: 0 1rem .5rem 1rem;
  margin-top: .5rem; }

.item_box .content ul li {
  list-style: none;
  font-size: .5rem;
  line-height: 1.2;
  text-align: justify;
  margin-bottom: .2rem; }

figure {
  padding: 1rem 1rem 0 1rem;
  text-align: center; }

.item_box img {
  max-height: 85px; }

/*----------レスポンシブ----------*/
@media screen and (min-width: 100em) {
  .container {
    max-width: 1480px; }

  a.t-item_link {
    width: 280px; }
    a.t-item_link:after {
      right: -16%; } }
@media screen and (max-width: 90em) {
  .container {
    max-width: inherit;
    width: 95%; }

  .p-main_inner .pagelist {
    width: 460px; } }
@media screen and (max-width: 64em) {
  a.t-item_link {
    width: 46%;
    min-height: 340px; }
    a.t-item_link:after {
      right: -8.7%; }

  .n-main .t-flex {
    flex-wrap: nowrap; }
    .n-main .t-flex.container {
      width: 100%; }

  .t-flex {
    flex-wrap: wrap; }
    .t-flex .t-itembox_inner:last-child {
      margin-left: 0; }

  .t-itembox.col-2 {
    width: 100%; }

  .p-main_inner .pagelist li {
    line-height: 1.6; }
    .p-main_inner .pagelist li:first-child:before {
      top: 1.2vh; }
  .p-main_inner .p-flex {
    justify-content: space-around; }
    .p-main_inner .p-flex.m-top {
      margin-top: 40px; }
    .p-main_inner .p-flex p {
      text-align: center; }

  .p-performance .p-performance_inner li {
    line-height: 1.6; }

  p.p-item_subttl:before {
    width: 280px;
    top: 1vh; }
  p.p-item_subttl:after {
    width: 280px;
    top: 1vh; } }
@media screen and (max-width: 48em) {
  section {
    padding-bottom: calc(82 / 1280 * 100vw); }





  .container {
    max-width: inherit;
    width: 90%; }
    .container.s-page {
      width: 90%; }

  .n-sp {
    display: block; }

  .n-main .pc {
    display: none; }

  a.scrollbtn {
    right: 4%; }

  p.p-item_ttl {
    font-size: 1.8rem;
    margin-bottom: calc(82 / 1280 * 100vw); }
  p.p-item_subttl:before, p.p-item_subttl:after {
    width: 200px;
    top: 45%; }


  .mainvisual .mainvisual_inner h3 {
    white-space: nowrap; }

  .n-main .t-flex {
    display: flex;
    flex-wrap: nowrap; }

  .t-border {
    padding: 2rem 0; }

  .p-main_inner .p-flex img {
    width: 260px; }

  .p-main_inner .pagelist {
    width: 90%; }
    .p-main_inner .pagelist li:first-child {
      font-size: 1.4rem; }
    .p-main_inner .pagelist.-right {
      float: none; }
  .p-main_inner .p-flex {
    justify-content: space-between; }

  .p-option_inner ul.t-flex li a h4 {
    font-size: .8rem; }
  .p-option_inner ul.t-flex li:nth-child(n+1) {
    margin-right: .15rem; }

  .p-lineup .p-lineup_inner li {
    width: 100%;
    text-align: center; }
    .p-lineup .p-lineup_inner li img {
      height: 240px; }
    .p-lineup .p-lineup_inner li p:nth-child(2) {
      margin-top: 0; }
    .p-lineup .p-lineup_inner li:nth-child(n+3) {
      margin-top: 2rem; } }
@media screen and (max-width: 37.5em) {
  .container {
    width: 90%; }
    .container.s-page {
      width: 90%; }
      .container.s-page section:first-child {
        margin-top: calc(142 / 1280 * 100vw); }

  .t-flex {
    display: block; }

  section {
    margin-top: calc(142 / 1280 * 100vw); }

  p.p-item_ttl {
    font-size: 1.6rem;
    margin-bottom: 1rem; }
  p.p-item_subttl:before {
    width: 25%;
    top: 40%; }
  p.p-item_subttl:after {
    width: 25%;
    top: 40%; }

  a.t-item_link {
    width: 90%;
    min-height: inherit; }
    a.t-item_link:nth-child(1) img {
      margin-bottom: .75rem; }
  a.scrollbtn {
    font-size: .9rem;
    right: 8%; }

  nav .inner {
    padding-top: 60px; }

  .toggle_btn {
    top: 1.5%; }

  .s-page table tr th,
  .s-page table tr td {
    font-size: .9rem;
    padding: .75rem; }





  .s-contact form .p-flex {
    display: block; }
    .s-contact form .p-flex dl {
      width: 100%; }
      .s-contact form .p-flex dl dd {
        margin-bottom: 1rem; }

  .mainvisual {
    height: 240px; }
    .mainvisual .mainvisual_inner {
      width: 100%; }
      .mainvisual .mainvisual_inner h3 {
        font-size: 1.6rem;
        text-align: center; }
        .mainvisual .mainvisual_inner h3 span {
          display: block;
          line-height: 1.6; }
      .mainvisual .mainvisual_inner h4 {
        font-size: .8rem; }
        .mainvisual .mainvisual_inner h4 span {
          font-size: 1rem; }



  .t-page h2 {
    font-size: 1.4rem; }
  .t-page .t-flex a {
    display: none; }
    .t-page .t-flex a:nth-child(2) {
      display: block; }
  .t-page .center {
    text-align: left; }

  .t-border {
    padding: 1rem 0; }

  .mainvisual_inner {
    padding: 1rem 0 1rem;
    margin-bottom: calc(142 / 1280 * 100vw); }
    .mainvisual_inner:after {
      bottom: -6vh; }

  h3.t-subttl:before {
    top: 40%; }

  .t-itembox .t-flex a.t-item_link:first-child {
    display: none; }
  .t-itembox .t-flex a.t-item_link:last-child {
    margin-top: 0; }

  .p-main_inner .pagelist {
    width: 100%;
    order: 0; }
    .p-main_inner .pagelist li {
      font-size: .9rem; }
      .p-main_inner .pagelist li:first-child {
        font-size: 1.4rem;
        margin-top: .5rem;
        margin-bottom: .5rem; }
      .p-main_inner .pagelist li:before {
        top: 0;
        font-size: .8rem; }
    .p-main_inner .pagelist.normal li:first-child {
      font-size: 1.4rem;
      margin-top: .5rem;
      margin-bottom: .5rem; }
  .p-main_inner .p-flex {
    flex-wrap: wrap;
    justify-content: flex-start; }
    .p-main_inner .p-flex p {
      width: 100%;
      order: -1;
      -webkit-order: -1;
      text-align: center; }
    .p-main_inner .p-flex.m-top {
      margin-top: calc(112 / 1280 * 100vw);
      padding-top: calc(112 / 1280 * 100vw); }
    .p-main_inner .p-flex img {
      order: 1;
      -webkit-order: 1;
      width: 100%;
      height: 260px;
      object-fit: cover; }
    .p-main_inner .p-flex .p-f_inner {
      order: 0;
      -webkit-order: 0;
      margin-bottom: 1rem; }
    .p-main_inner .p-flex .option {
      width: 100%; }

  .p-option_inner {
    overflow: hidden; }
    .p-option_inner ul.t-flex li {
      width: 100%; }
      .p-option_inner ul.t-flex li a h4 {
        font-size: 1rem; }
      .p-option_inner ul.t-flex li a img {
        height: 180px; }
      .p-option_inner ul.t-flex li:nth-child(n+2) {
        margin-top: 1rem; }
    .p-option_inner article {
      overflow: auto;
      white-space: nowrap; }
    .p-option_inner table tr th {
      min-width: 200px; }

  .p-performance .p-performance_inner .p-flex {
    display: block; }
  .p-performance .p-performance_inner li {
    width: 100%;
    font-size: .8rem; }
    .p-performance .p-performance_inner li:nth-child(n+2) {
      margin-top: .5rem; }

  .p-lineup .p-lineup_inner.col-2 li {
    width: 100%; }
  .p-lineup .p-lineup_inner h3 {
    margin-bottom: 1rem; }
  .p-lineup .p-lineup_inner.p-flex {
    display: block; }
  .p-lineup .p-lineup_inner li {
    width: 100%; }
    .p-lineup .p-lineup_inner li:nth-child(n+2) {
      border-top: 1px dashed #193569;
      margin-top: calc(84 / 1280 * 100vw);
      padding-top: calc(84 / 1280 * 100vw); }
    .p-lineup .p-lineup_inner li p {
      font-size: .8rem; }
      .p-lineup .p-lineup_inner li p:nth-child(2) {
        font-size: 1rem; }
    .p-lineup .p-lineup_inner li img {
      height: 120px; }
  .p-lineup .p-lineup_inner:nth-child(n+2) {
    margin-top: 2rem; }
  .p-lineup .p-lineup_details {
    padding: .5rem 1rem; }
    .p-lineup .p-lineup_details p {
      font-size: .8rem; }

  .p-flow .p-flow_inner p {
    font-size: .8rem; }

  .p-question .p-question_inner li {
    font-size: .9rem;
    line-height: 2; }
    .p-question .p-question_inner li:nth-child(odd) span, .p-question .p-question_inner li:nth-child(even) span {
      margin-right: .5rem;
      padding: .5rem .3rem;
      font-size: .7rem; }

  .p-relation .p-relation_inner.p-flex {
    display: block; }
  .p-relation .p-relation_inner.col-3 li {
    width: 100%; }
    .p-relation .p-relation_inner.col-3 li a {
      min-height: 380px; }
    .p-relation .p-relation_inner.col-3 li ul {
      margin-top: 0; }
      .p-relation .p-relation_inner.col-3 li ul li {
        line-height: 1.6; }
  .p-relation .p-relation_inner li {
    width: 100%; }
    .p-relation .p-relation_inner li:nth-child(n+2) {
      margin-top: 2rem; }
    .p-relation .p-relation_inner li a ul li:nth-child(n+2) {
      margin-top: 0rem; } }
@media (max-width: 599px) {
  .item_title {
    height: inherit;
    margin-bottom: 1rem; }

  .item_box span {
    border-bottom: none; } }

/* === カード一覧セパレーターの重なり対策 === */
/* 中間幅（タブレット〜狭いPC）でカードが狭まり、
   外側配置のセパレーター(::after)にテキストが重なる問題を防ぐ */
@media screen and (max-width: 64em) {
  a.t-item_link {
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box; }
}

@media screen and (max-width: 56em) {
  a.t-item_link:after {
    content: none; } }

/* === 中央寄せページ（thanks / 404 など） === */
.page-center {
    text-align: center;
    padding: 50px 0;
}
.page-center--wide {
    padding: 80px 0;
}
.page-center__heading {
    margin-bottom: 30px;
}
.page-center__heading-large {
    margin-bottom: 20px;
    font-size: 3rem;
}
.page-center__lead {
    font-size: 1.2em;
    margin-bottom: 10px;
}
.page-center__action {
    margin-top: 3em;
}

/* === プライマリボタン === */
.btn-primary {
    display: inline-block;
    padding: 10px 40px;
    background-color: var(--color-primary, #1c4f9c);
    color: #fff;
    text-decoration: none;
    border-radius: 3px;
    font-weight: bold;
    transition: background-color 0.2s;
}
.btn-primary:hover {
    background-color: var(--color-primary-dark, #163e7d);
}
