@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
html {
  line-height: 1.3;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

/* ゴシック */
/*@import url('https://fonts.googleapis.com/css2?family=BIZ+UDGothic&family=Zen+Kurenaido&display=swap');
$gothic: "BIZ UDGothic", serif;*/
/* 明朝体 */
/* 英語 */
/*theme color*/
/*mediaquery*/
/* -------------------------------- 
Primary style
-------------------------------- */
*, *::after, *::before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

html {
  position: relative;
  height: 100%; }

body {
  position: relative;
  color: #00234b;
  font-family: "Noto Sans JP", sans-serif;
  /*overflow-wrap: break-word;*/
  overflow-x: hidden;
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  body.open {
    overflow: hidden;
    height: 100%; }

@media screen and (min-width: 767.5px) and (max-width: 1023.9px) {
  body {
    font-size: calc(100vw / 70); } }
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

br.brmd {
  display: none; }
  @media screen and (max-width: 768px) {
    br.brmd {
      display: inline; } }

br.brsp {
  display: none; }
  @media screen and (max-width: 767px) {
    br.brsp {
      display: inline; } }

@media screen and (max-width: 767px) {
  br.brpc {
    display: none; } }

.inner {
  margin: 0 auto;
  padding: 0 3.75rem;
  width: min(100%, 1320px);
  /*width: min(100%,1560px);*/ }
  @media screen and (max-width: 767px) {
    .inner {
      padding: 0 1.25rem; } }

/*
.inner {
	margin: 0 auto;
    padding: 0 max(8vw, 1.75rem);
}
.inner_1200 {
	margin: 0 auto;
    padding: 0 max(8vw, 1.75rem);
	width: min(100%,1200px);
    
    @include mq(sm) {
        width: 100%;
    }
}
.inner_1600 {
	margin: 0 auto;
    padding: 0 max(8vw, 1.75rem);
	width: min(100%,1712px);
    
    @include mq(sm) {
        width: 100%;
    }
}*/
section {
  position: relative;
  padding: 6.25rem 0;
  /*padding: 7.5rem 0;*/ }
  @media screen and (max-width: 767px) {
    section {
      padding: 2.5rem 0; } }

a.btn-link, body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap a {
  position: relative;
  display: inline-block;
  padding: 0 0 0 3.65em;
    /*min-width: 280px;
	color: #fff;*/
  font-size: .9em;
  font-weight: normal;
  text-align: left;
  /*
  background: #222;
  border: 2px solid #222;
  border-radius: 100px;*/
  transition: .3s;
  /*&:before {
      position: absolute;
      top: calc(50% - 15px);
      left: 0;
      font: var(--fa-font-solid);
      content: "\f105";
      font-size: 18px;
      line-height: 30px;
  }*/
  /*&:after {
      position: absolute;
      top: calc(50% - 15px);
      right: 20px;
      font: var(--fa-font-solid);
      content: "\f105";
      font-size: 18px;
      line-height: 30px;
  }*/
  	/*&:hover {
  		color:#222;
          background: #fff;
          transition: .3s;
  	}*/ }
  @media screen and (max-width: 1024px) {
    a.btn-link, body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap a {
      padding: 0 0 0 5.0em; } }
  a.btn-link::before, body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap a::before {
    content: '';
    display: inline-block;
    background-image: url("../img/arrow_shiromaru.svg");
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    transition: .2s;
    width: 40px;
    height: 40px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%); }
  @media screen and (max-width: 767px) {
    a.btn-link, body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap a {
      font-size: .9em; } }

a.btn-link2 {
  position: relative;
  display: inline-block;
  padding: 1.5em 2em;
  min-width: 280px;
  color: #fff;
  font-size: .9em;
  font-weight: bold;
  text-align: center;
  background: #222;
  border: 2px solid #222;
  transition: .3s;
  z-index: 1; }
  a.btn-link2::before {
    content: '';
    width: 0;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #fff;
    transition: .3s;
    z-index: -1; }
  a.btn-link2:after {
    position: absolute;
    top: calc(50% - 15px);
    right: 20px;
    font: var(--fa-font-solid);
    content: "\f105";
    font-size: 18px;
    line-height: 30px; }
  a.btn-link2:hover {
    color: #222;
    transition: .3s; }
    a.btn-link2:hover::before {
      width: 100%;
      transition: .3s; }
  @media screen and (max-width: 767px) {
    a.btn-link2 {
      font-size: .9em; } }

a.btn-link3 {
  position: relative;
  display: inline-block;
  padding: 1.5em 2em;
  min-width: 280px;
  color: #222;
  font-size: .9em;
  font-weight: bold;
  text-align: center;
  background: #fff;
  border: 2px solid #222;
  transition: .3s;
  z-index: 1;
  box-shadow: 6px 6px 0px #222; }
  a.btn-link3:after {
    position: absolute;
    top: calc(50% - 15px);
    right: 20px;
    font: var(--fa-font-solid);
    content: "\f105";
    font-size: 18px;
    line-height: 30px; }
  a.btn-link3:hover {
    color: #222;
    transform: translate(6px, 6px);
    transition: .3s;
    box-shadow: 1px 1px 0px #222; }
  @media screen and (max-width: 767px) {
    a.btn-link3 {
      font-size: .9em; } }

a.btn-link4 {
  position: relative;
  display: inline-block;
  padding: 1.5em 2em;
  min-width: 280px;
  color: #222;
  font-size: .9em;
  font-weight: bold;
  text-align: center;
  background: #fff;
  transition: .3s;
  z-index: 1;
  box-shadow: 0px 0px 12px rgba(34, 34, 34, 0.25); }
  a.btn-link4:after {
    position: absolute;
    top: calc(50% - 15px);
    right: 20px;
    font: var(--fa-font-solid);
    content: "\f105";
    font-size: 18px;
    line-height: 30px; }
  a.btn-link4:hover {
    color: #222;
    transform: scale(1.1);
    transition: .3s;
    box-shadow: 0px 0px 3px rgba(34, 34, 34, 0.25); }
  @media screen and (max-width: 767px) {
    a.btn-link4 {
      font-size: .9em; } }

a {
  color: #1e4baa;
  text-decoration: none;
  transition: .2s; }
  a:hover {
    /*color: $tcolor;*/
    transition: .2s;
    opacity: .85;
    text-decoration: none !important; }
    a:hover img {
      opacity: .85;
      transition: .2s; }

@media screen and (max-width: 767px) {
  .pcblock {
    display: none !important; } }

.spblock {
  display: none !important; }
  @media screen and (max-width: 767px) {
    .spblock {
      display: block !important; } }

@media screen and (max-width: 767px) {
  .spnone {
    display: none; } }
/* -------------------------------- 
common components 
--------------------------------- */
.m0 {
  margin: 0; }

.mt0 {
  margin-top: 0; }

.mt05 {
  margin-top: 0.5em; }

.mr0 {
  margin-right: 0; }

.ml0 {
  margin-left: 0; }

.mb0 {
  margin-bottom: 0; }

.mb05 {
  margin-bottom: 0.5em; }

/*ul reset*/
ul.nonstyle {
  list-style: none;
  margin: 0;
  padding: 0; }

/*sns*/
ul.sns-nav__ul {
  display: flex;
  margin: 0; }
  ul.sns-nav__ul li {
    margin-right: 8px;
    list-style: none; }
    ul.sns-nav__ul li:last-child {
      margin-right: 0; }
    ul.sns-nav__ul li a {
      display: block;
      width: 28px;
      height: 28px;
      line-height: 28px;
      text-align: center;
      color: #fff;
      font-size: 12px;
      background: #000;
      border-radius: 50%;
      /*sns*/
      /*fb*/
      /*tw*/
      /*insta*/
      /*fb*/ }
      ul.sns-nav__ul li a.fb {
        background: #3c5998; }
      ul.sns-nav__ul li a.tw {
        background: #1DA1F2; }
      ul.sns-nav__ul li a.in {
        position: relative;
        background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
        background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
        overflow: hidden; }
        ul.sns-nav__ul li a.in::before {
          content: '';
          position: absolute;
          top: 11px;
          left: -9px;
          width: 28px;
          height: 28px;
          background: -webkit-radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
          background: radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%); }
        ul.sns-nav__ul li a.in i {
          position: relative;
          z-index: 2; }
      ul.sns-nav__ul li a.yt {
        background: #cd201f; }

/*flex*/
ul.ul-flex {
  display: flex;
  flex-wrap: wrap; }
  @media screen and (max-width: 767px) {
    ul.ul-flex {
      display: block; } }
  ul.ul-flex li {
    width: calc((100% / 3) - 1.5rem);
    margin-right: 2.25rem;
    margin-bottom: 2.25rem; }
    @media screen and (max-width: 767px) {
      ul.ul-flex li {
        width: 100%;
        margin-right: 0; } }
    ul.ul-flex li:nth-child(3n) {
      margin-right: 0; }
    ul.ul-flex li a {
      display: block; }
      ul.ul-flex li a div.img {
        position: relative;
        width: 100%;
        aspect-ratio: 3/2;
        overflow: hidden; }
        ul.ul-flex li a div.img img {
          display: block;
          width: 100%;
          vertical-align: bottom;
          object-fit: cover;
          transform: scale(1);
          transition: .5s ease-in-out; }
      ul.ul-flex li a div.txt div.title {
        margin-top: 1em;
        font-weight: bold;
        line-height: 1.5; }
      ul.ul-flex li a div.txt div.date {
        padding-top: .75em; }
        ul.ul-flex li a div.txt div.date time {
          font-size: .9em; }
      ul.ul-flex li a:hover div.img img {
        opacity: 1;
        transform: scale(1.15);
        transition: .5s ease-in-out; }

/*news_txt*/
ul.ul_newstxt li {
  /*border-top: 1px dotted #222;*/
  background: #fff;
  border-radius: 1.25rem;
  margin-bottom: 1.5rem; }
  @media screen and (max-width: 767px) {
    ul.ul_newstxt li {
      display: block; } }
  ul.ul_newstxt li:last-child {
    margin-bottom: 0;
    /*border-bottom: 1px dotted #222;*/ }
  ul.ul_newstxt li a {
    /*display: flex;*/
    padding: 1.5em;
    transition: .2s;
    display: grid;
    /*grid-template-columns: repeat(2, 1fr);*/
    grid-template-columns: 7.5rem 1fr;
    grid-template-rows: 1fr;
    gap: 1.0rem;
    position: relative;
    align-items: center;
    /*&:after {
    	position: absolute;
    	top: calc(50% - 15px);
    	right: 20px;
    	font: var(--fa-font-solid);
    	content: "\f105";
    	font-size: 18px;
    	line-height: 30px;
    }*/ }
    ul.ul_newstxt li a:hover:after {
      background-image: url("../img/arrow_blue.svg"); }
    @media screen and (max-width: 767px) {
      ul.ul_newstxt li a {
        padding: 1.25em;
        grid-template-columns: 6.25rem 1fr;
        gap: .5rem; } }
    ul.ul_newstxt li a div.date {
      color: #00a99d;
      grid-area: 1 / 1 / 2 / 2; }
      @media screen and (max-width: 767px) {
        ul.ul_newstxt li a div.date {
          font-size: .8em;
          /*width: 100%;*/ } }
    ul.ul_newstxt li a div.cat {
      grid-area: 1 / 2 / 2 / 3; }
      @media screen and (max-width: 767px) {
        ul.ul_newstxt li a div.cat {
          /*width: 100%;*/ } }
      ul.ul_newstxt li a div.cat span {
        background: #00a99d;
        border-radius: 1.5rem;
        color: #fff;
        display: block;
        padding: .25rem .5rem;
        font-size: .85rem;
        max-width: 8.0rem;
        text-align: center;
        letter-spacing: .05rem; }
    ul.ul_newstxt li a div.title {
      grid-area: 2 / 1 / 3 / 3;
      margin-right: 3.0rem; }
      @media screen and (max-width: 767px) {
        ul.ul_newstxt li a div.title {
          margin-top: .5em;
          padding-right: 1.5rem;
          width: 100%; } }
    ul.ul_newstxt li a:after {
      content: '';
      display: inline-block;
      background-image: url("../img/arrow_info.svg");
      background-size: contain;
      background-repeat: no-repeat;
      position: absolute;
      transition: .2s;
      width: 40px;
      height: 40px;
      right: 20px;
      top: 50%;
      transform: translateY(-50%);
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%); }
      @media screen and (max-width: 767px) {
        ul.ul_newstxt li a:after {
          width: 24px;
          height: 24px;
          right: 10px; } }

/*googlemap*/
.ggmap {
  position: relative;
  padding-bottom: 50%;
  padding-top: 30px;
  height: 0;
  overflow: hidden; }
  .ggmap iframe, .ggmap object, .ggmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

/*youtube*/
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }
  .youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important; }

/*blockcontents*/
div.single_content {
  padding-bottom: 3.75rem;
  font-size: 1.1em;
  line-height: 1.6;
  word-break: break-all; }
  @media screen and (max-width: 767px) {
    div.single_content {
      padding-bottom: 1.875rem;
      font-size: 1em;
      line-height: 1.5; } }
  div.single_content a:not(.wp-block-button__link) {
    text-decoration: underline;
    transition: .2s; }
    div.single_content a:not(.wp-block-button__link):hover {
      /*background: $bg_color;*/
      transition: .2s; }
  div.single_content ul {
    /*padding-left: 1.5em;*/ }
  div.single_content table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0; }
    div.single_content table tr th {
      padding-bottom: .25em;
      border-bottom: 2px solid #333; }
  div.single_content figure {
    margin: auto; }

/*spece*/
.spece_175 {
  height: max(3vw, 1.75rem) !important; }

.spece_375 {
  height: max(5vw, 3.75rem) !important; }

.zoomin-img {
  overflow: hidden; }
  .zoomin-img:hover img {
    transition: transform .6s ease;
    transform: scale(1.1); }
  .zoomin-img img {
    transition: transform .6s ease; }

/* -------------------------------- 
header components 
--------------------------------- */
header.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 11;
  transition: .2s;
  /*background-color: #fff;*/
  /*fix*/ }
  header.header div.headerflex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    /*padding: 1.25rem 1.875rem;*/
    padding: 1.25rem 3.65rem;
    /*padding: 1.875rem 100px 1.875rem 1.875rem;*/
    transition: .2s;
    margin: 0 auto;
    /*width: min(100%, 1420px);*/
    width: min(100%); }
    @media screen and (max-width: 1566px) {
      header.header div.headerflex {
        padding: 1.25rem 2.0rem; } }
    @media screen and (max-width: 1280px) {
      header.header div.headerflex {
        padding: 1.25rem 2.0rem; } }
    @media screen and (max-width: 1024px) {
      header.header div.headerflex {
        padding: 1.25rem 1.65rem; } }
    @media screen and (max-width: 767px) {
      header.header div.headerflex {
        padding: 1.0rem .5rem; } }
    header.header div.headerflex div.left {
      width: 27.5rem; }
      @media screen and (max-width: 1280px) {
        header.header div.headerflex div.left {
          width: 20rem; } }
      @media screen and (max-width: 1024px) {
        header.header div.headerflex div.left {
          width: 15.5rem; } }
      header.header div.headerflex div.left h1 {
        margin: 0;
        font-size: 2.0625rem; }
        header.header div.headerflex div.left h1 a {
          display: block;
          color: #1e4baa; }
          header.header div.headerflex div.left h1 a img {
            display: block;
            vertical-align: bottom; }
            @media screen and (max-width: 767px) {
              header.header div.headerflex div.left h1 a img {
                width: auto;
                height: 36px; } }
    header.header div.headerflex div.right {
      width: calc(100% - 27.5rem);
      padding-left: 1.875rem;
      display: flex;
      justify-content: flex-end;
      align-items: center; }
      @media screen and (max-width: 1280px) {
        header.header div.headerflex div.right {
          width: calc(100% - 20rem); } }
      @media screen and (max-width: 1024px) {
        header.header div.headerflex div.right {
          width: calc(100% - 15.5rem); } }
      @media screen and (max-width: 767px) {
        header.header div.headerflex div.right {
          display: none; } }
      @media screen and (max-width: 767px) {
        header.header div.headerflex div.right nav.gnav {
          display: none; } }
      header.header div.headerflex div.right nav.gnav > ul {
        text-align: right; }
        header.header div.headerflex div.right nav.gnav > ul > li {
          display: inline-block;
          margin-right: 1.2em;
          font-weight: bold;
          letter-spacing: 0.05rem;
          /*drop*/ }
          header.header div.headerflex div.right nav.gnav > ul > li:hover > span {
            color: #00234b; }
          header.header div.headerflex div.right nav.gnav > ul > li > a, header.header div.headerflex div.right nav.gnav > ul > li > span {
            /*color: $text_color;*/
            color: #fff;
            padding-bottom: .35rem;
            background: linear-gradient(currentColor 0 0) bottom/var(--d, 0) 1px no-repeat;
            transition: 0.3s; }
            header.header div.headerflex div.right nav.gnav > ul > li > a:hover, header.header div.headerflex div.right nav.gnav > ul > li > span:hover {
              --d: 100%;
              /*color: $text_color;*/
              color: #fff;
              opacity: 1; }
            @media screen and (max-width: 1280px) {
              header.header div.headerflex div.right nav.gnav > ul > li > a, header.header div.headerflex div.right nav.gnav > ul > li > span {
                /*font-size: 1rem;*/
                font-size: 1.095vw; } }
          header.header div.headerflex div.right nav.gnav > ul > li:last-child {
            margin-right: 0; }
          header.header div.headerflex div.right nav.gnav > ul > li.drop {
            position: relative; }
            header.header div.headerflex div.right nav.gnav > ul > li.drop .dropdownContain {
              width: 180px;
              position: absolute;
              z-index: 2;
              left: 50%;
              margin-left: -90px;
              top: -400px;
              padding-top: 16px;
              background: transparent;
              transition: none; }
              header.header div.headerflex div.right nav.gnav > ul > li.drop .dropdownContain .dropOut {
                width: 180px;
                position: relative;
                margin-top: 0px;
                opacity: 0;
                box-shadow: 0 1px 6px rgba(0, 0, 0, 0.35);
                transition: all .1s ease-out; }
                header.header div.headerflex div.right nav.gnav > ul > li.drop .dropdownContain .dropOut ul {
                  background: #fff; }
                  header.header div.headerflex div.right nav.gnav > ul > li.drop .dropdownContain .dropOut ul li {
                    color: #777;
                    transition: background .1s ease-out; }
                    header.header div.headerflex div.right nav.gnav > ul > li.drop .dropdownContain .dropOut ul li:hover {
                      background: #1e4baa; }
                    header.header div.headerflex div.right nav.gnav > ul > li.drop .dropdownContain .dropOut ul li a {
                      display: block;
                      padding: 16px 0;
                      width: 100%;
                      text-align: center; }
                      header.header div.headerflex div.right nav.gnav > ul > li.drop .dropdownContain .dropOut ul li a:hover {
                        color: #fff; }
            header.header div.headerflex div.right nav.gnav > ul > li.drop:hover {
              transition: 0; }
              header.header div.headerflex div.right nav.gnav > ul > li.drop:hover .dropdownContain {
                top: 14px; }
              header.header div.headerflex div.right nav.gnav > ul > li.drop:hover .underline {
                border-bottom-color: #777; }
              header.header div.headerflex div.right nav.gnav > ul > li.drop:hover .dropOut {
                opacity: 1;
                margin-top: 8px; }
        header.header div.headerflex div.right nav.gnav > ul li.toi a {
          /*background: $scolor;*/
          background: #1e4baa;
          padding: .5rem 1.0rem;
          border-radius: 2.0rem;
          color: #fff; }
          header.header div.headerflex div.right nav.gnav > ul li.toi a:hover {
            opacity: .85; }
          @media screen and (max-width: 1024px) {
            header.header div.headerflex div.right nav.gnav > ul li.toi a {
              padding: .25rem .5rem;
              border-radius: 1.0rem; } }
      header.header div.headerflex div.right nav.sns-nav {
        margin-left: 1.875rem;
        text-align: right; }
  header.header.is_fixed {
    box-shadow: 0px 5px 5px -5px rgba(0, 0, 0, 0.3);
    transition: .2s;
    background: #fff; }
    header.header.is_fixed div.headerflex {
      /*padding: 1.25rem 1.875rem;*/
      padding: .75rem 1.875rem;
      transition: .2s; }
      @media screen and (max-width: 1024px) {
        header.header.is_fixed div.headerflex {
          padding: .75rem 1.0rem; } }
      @media screen and (max-width: 767px) {
        header.header.is_fixed div.headerflex {
          padding: 1.0rem .5rem; } }
      header.header.is_fixed div.headerflex div.left h1 a {
        background: url("../img/logo.svg") no-repeat left center/contain;
        width: 400px;
        height: 55px; }
        @media screen and (max-width: 1280px) {
          header.header.is_fixed div.headerflex div.left h1 a {
            width: 20rem;
            height: 44px; } }
        @media screen and (max-width: 1024px) {
          header.header.is_fixed div.headerflex div.left h1 a {
            width: 15.5rem;
            height: 34px; } }
        @media screen and (max-width: 767px) {
          header.header.is_fixed div.headerflex div.left h1 a {
            width: auto;
            height: 36px; } }
        header.header.is_fixed div.headerflex div.left h1 a img {
          display: none; }
      header.header.is_fixed div.headerflex div.right nav.gnav > ul > li > a {
        color: #00234b; }
        header.header.is_fixed div.headerflex div.right nav.gnav > ul > li > a:hover {
          color: #00234b; }
      header.header.is_fixed div.headerflex div.right nav.gnav > ul li.toi > a {
        color: #fff; }
        header.header.is_fixed div.headerflex div.right nav.gnav > ul li.toi > a:hover {
          color: #fff; }

/*hamburger*/
.hamburger, .hamburger span {
  display: none;
  transition: all .4s;
  box-sizing: border-box; }
  @media screen and (max-width: 767px) {
    .hamburger, .hamburger span {
      display: inline-block; } }

.hamburger {
  position: fixed;
  top: 50px;
  right: 20px;
  width: 22px;
  height: 20px;
  z-index: 10000; }
  @media screen and (max-width: 1024px) {
    .hamburger {
      top: 45px; } }
  @media screen and (max-width: 767px) {
    .hamburger {
      top: 26px; } }
  .hamburger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    /*background-color: $text_color;*/
    background-color: #fff; }
    .hamburger span:nth-of-type(1) {
      top: 1px; }
    .hamburger span:nth-of-type(2) {
      top: 8px; }
    .hamburger span:nth-of-type(3) {
      bottom: 2px; }
  .hamburger.active {
    position: fixed;
    background: #00234b;
    width: 40px;
    height: 40px;
    top: 20px;
    right: 10px; }
    .hamburger.active span {
      width: 50%;
      right: 0;
      left: 0;
      margin: 0 auto; }
      .hamburger.active span:nth-of-type(1) {
        -webkit-transform: translateY(17px) rotate(-45deg);
        transform: translateY(17px) rotate(-45deg); }
      .hamburger.active span:nth-of-type(2) {
        left: 50%;
        opacity: 0;
        -webkit-animation: active-menu-bar02 .8s forwards;
        animation: active-menu-bar02 .8s forwards; }
      .hamburger.active span:nth-of-type(3) {
        -webkit-transform: translateY(-18px) rotate(45deg);
        transform: translateY(-18px) rotate(45deg); }

/* ヘッダーがis_fixedしたら */
header.is_fixed + .hamburger {
  top: 26px; }
  header.is_fixed + .hamburger.active {
    background: rgba(30, 75, 170, 0.3); }
  header.is_fixed + .hamburger span {
    background-color: #00234b; }

@-webkit-keyframes active-menu-bar02 {
  100% {
    height: 0; } }
@keyframes active-menu-bar02 {
  100% {
    height: 0; } }
/*nav*/
.navigation {
  position: fixed;
  padding: 0;
  width: 100%;
  height: 100vh;
  top: 0;
  right: 0;
  overflow: auto;
  opacity: 0;
  transition: .8s;
  z-index: 0;
  margin-top: 60px; }
  .navigation::before {
    content: '';
    width: 0;
    height: 100%;
    right: 0;
    top: 0;
    position: absolute;
    background: rgba(255, 255, 255, 0.01);
    transition: .8s;
    backdrop-filter: blur(1px);
    -webkit-backdrop-filter: blur(1px); }
  .navigation.open {
    opacity: 1;
    transition: .6s;
    z-index: 9999;
    width: 75vw; }
    @media screen and (max-width: 428px) {
      .navigation.open {
        width: 100vw; } }
    .navigation.open::before {
      width: 100%;
      transition: .6s;
      backdrop-filter: blur(3px);
      -webkit-backdrop-filter: blur(3px);
      background: rgba(255, 255, 255, 0.88); }
      @media screen and (max-width: 428px) {
        .navigation.open::before {
          background: #fff; } }
  .navigation .navigation__inner {
    z-index: 1;
    width: calc(100% - 80px);
    max-width: 1000px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    /*transform: translate(-50%,-50%);*/
    display: flex;
    justify-content: space-between;
    /*@include mq(lg) {
        max-width: 850px;
    }*/ }
    @media screen and (max-width: 1024px) {
      .navigation .navigation__inner {
        max-width: 480px;
        flex-direction: column-reverse; } }
    @media screen and (max-width: 428px) {
      .navigation .navigation__inner {
        width: calc(100% - 40px); } }
    .navigation .navigation__inner .left {
      border-right: 1px solid #000;
      width: 40%;
      display: flex;
      justify-content: space-between;
      flex-direction: column;
      padding: 0; }
      @media screen and (max-width: 1024px) {
        .navigation .navigation__inner .left {
          width: 100%;
          border-right: none;
          /*border-top: 1px solid #000;*/
          padding: 0 0 0; } }
      .navigation .navigation__inner .left .navigation__logo a {
        display: flex;
        align-items: center;
        margin-bottom: 30px; }
        @media screen and (max-width: 1024px) {
          .navigation .navigation__inner .left .navigation__logo a {
            margin-bottom: 0; } }
        .navigation .navigation__inner .left .navigation__logo a img {
          width: 200px; }
          @media screen and (max-width: 1024px) {
            .navigation .navigation__inner .left .navigation__logo a img {
              position: absolute;
              top: 0;
              left: 0;
              width: auto;
              height: 40px; } }
      .navigation .navigation__inner .left .navigation__logo .navigation__read {
        margin: 0 0 1em; }
        .navigation .navigation__inner .left .navigation__logo .navigation__read p {
          margin: 0; }
      .navigation .navigation__inner .left .navigation__nav nav.navigation__sub ul {
        display: flex;
        margin: 0 0 1em 0; }
        .navigation .navigation__inner .left .navigation__nav nav.navigation__sub ul li {
          margin-right: 2em;
          position: relative; }
          .navigation .navigation__inner .left .navigation__nav nav.navigation__sub ul li::after {
            content: '';
            width: 1px;
            height: 14px;
            background: #000;
            display: block;
            position: absolute;
            top: 8px;
            right: -1em; }
          .navigation .navigation__inner .left .navigation__nav nav.navigation__sub ul li:last-child {
            margin-right: 0; }
            .navigation .navigation__inner .left .navigation__nav nav.navigation__sub ul li:last-child::after {
              display: none; }
          .navigation .navigation__inner .left .navigation__nav nav.navigation__sub ul li a {
            font-size: 14px;
            height: 30px;
            line-height: 30px; }
            @media screen and (max-width: 428px) {
              .navigation .navigation__inner .left .navigation__nav nav.navigation__sub ul li a {
                font-size: 12px;
                height: 26px;
                line-height: 26px; } }
      .navigation .navigation__inner .left .navigation__nav nav.navigation__sns ul li a {
        width: 30px;
        height: 30px;
        line-height: 30px;
        font-size: 14px; }
        @media screen and (max-width: 428px) {
          .navigation .navigation__inner .left .navigation__nav nav.navigation__sns ul li a {
            width: 26px;
            height: 26px;
            line-height: 26px;
            font-size: 12px; } }
      .navigation .navigation__inner .left .navigation__nav .navigation__copy {
        font-size: 10px;
        width: 100%;
        margin: 20px 0 0 0;
        letter-spacing: 0; }
        @media screen and (max-width: 1024px) {
          .navigation .navigation__inner .left .navigation__nav .navigation__copy {
            font-size: 8px; } }
    .navigation .navigation__inner .right {
      width: 60%;
      padding: 0 0 0 3em; }
      @media screen and (max-width: 1024px) {
        .navigation .navigation__inner .right {
          width: 100%;
          padding: 1.5rem 0 1.5em;
          /*padding: calc(40px + 2.5em) 0 2.5em;*/ } }
      .navigation .navigation__inner .right nav.gnav > ul {
        margin: 0;
        padding: 0; }
        .navigation .navigation__inner .right nav.gnav > ul > li {
          margin-bottom: 3rem;
          border-bottom: 1px solid #00234b;
          padding: 0 0 .75rem; }
          @media screen and (max-width: 1024px) {
            .navigation .navigation__inner .right nav.gnav > ul > li {
              margin-bottom: 1rem; } }
          .navigation .navigation__inner .right nav.gnav > ul > li:last-child {
            margin-bottom: 0; }
          .navigation .navigation__inner .right nav.gnav > ul > li a {
            display: inline-block;
            padding: 0;
            font-weight: bold;
            font-size: 1.5rem;
            font-weight: bold;
            line-height: 1em;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            color: #29abe2; }
            @media screen and (max-width: 1024px) {
              .navigation .navigation__inner .right nav.gnav > ul > li a {
                font-size: 1.0rem; } }
          .navigation .navigation__inner .right nav.gnav > ul > li span {
            display: inline-block;
            margin-bottom: .25em;
            font-size: .85em;
            color: #fff;
            opacity: .9; }
          .navigation .navigation__inner .right nav.gnav > ul > li ul.sub-menu {
            /*display: flex;
            flex-wrap: wrap;*/
            margin: 0.5em 0 1.0rem;
            list-style: none;
            padding: 0; }
            @media screen and (max-width: 1024px) {
              .navigation .navigation__inner .right nav.gnav > ul > li ul.sub-menu {
                margin: 0.5em 0 .5rem; } }
            .navigation .navigation__inner .right nav.gnav > ul > li ul.sub-menu li {
              margin-right: 1.25em;
              /*list-style: none;*/
              padding: 0.25em 0;
              display: flex;
              align-items: center; }
              .navigation .navigation__inner .right nav.gnav > ul > li ul.sub-menu li::before {
                content: '・';
                /*width: 1.25em;
                height: 1px;*/
                display: inline-block;
                /*margin-right: 0.5em;*/ }
              .navigation .navigation__inner .right nav.gnav > ul > li ul.sub-menu li a {
                /*font-size: 0.85rem;*/
                font-size: .95rem;
                color: #00234b; }
                @media screen and (max-width: 1024px) {
                  .navigation .navigation__inner .right nav.gnav > ul > li ul.sub-menu li a {
                    /*font-size: 12px;*/ } }

/* -------------------------------- 
footer components 
--------------------------------- */
footer {
  position: relative;
  padding: 0;
  color: #fff;
  background: #00234b; }
  footer::before {
    content: '';
    background: url("../img/bt_line.svg") no-repeat left bottom/contain;
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0; }
    @media screen and (max-width: 767px) {
      footer::before {
        background: url("../img/bt_line.svg") no-repeat left bottom/cover;
        position: absolute;
        width: 240px;
        height: 141px;
        bottom: 0; } }
  footer div.footer-flex {
    display: flex;
    padding: 6.25rem;
    margin: 0 auto;
    width: min(100%, 1400px); }
    @media screen and (max-width: 1024px) {
      footer div.footer-flex {
        padding: 3.75rem; } }
    @media screen and (max-width: 767px) {
      footer div.footer-flex {
        padding: 2.5rem 1.0rem;
        flex-direction: column; } }
    footer div.footer-flex div.left {
      width: 470px; }
      @media screen and (max-width: 1380px) {
        footer div.footer-flex div.left {
          width: 470px; } }
      @media screen and (max-width: 1024px) {
        footer div.footer-flex div.left {
          width: 360px; } }
      @media screen and (max-width: 767px) {
        footer div.footer-flex div.left {
          width: 100%;
          order: 2;
          margin-top: 2.0rem; } }
      footer div.footer-flex div.left div.add_wrap {
        display: block; }
        @media screen and (max-width: 767px) {
          footer div.footer-flex div.left div.add_wrap {
            display: flex;
            align-items: flex-start; } }
        footer div.footer-flex div.left div.add_wrap img.logo {
          width: 80px;
          height: auto; }
          @media screen and (max-width: 1280px) {
            footer div.footer-flex div.left div.add_wrap img.logo {
              width: 60px; } }
          @media screen and (max-width: 767px) {
            footer div.footer-flex div.left div.add_wrap img.logo {
              width: 50px;
              margin-right: .75rem;
              margin-top: .75rem; } }
        @media screen and (max-width: 767px) {
          footer div.footer-flex div.left div.add_wrap div.add_text {
            display: inline-block; } }
        @media screen and (max-width: 767px) {
          footer div.footer-flex div.left div.add_wrap div.add_text p {
            margin: .5rem 0; } }
        footer div.footer-flex div.left div.add_wrap div.add_text p.name {
          font-size: 1.5104vw;
          /*font-size: max(1.5104vw, .95rem);*/
          font-weight: bold;
          margin-bottom: 0; }
          footer div.footer-flex div.left div.add_wrap div.add_text p.name a {
            color: #fff; }
          @media screen and (max-width: 1380px) {
            footer div.footer-flex div.left div.add_wrap div.add_text p.name {
              font-size: 1.875vw; } }
          @media screen and (max-width: 1024px) {
            footer div.footer-flex div.left div.add_wrap div.add_text p.name {
              font-size: max(2.083vw, 0.95rem); } }
        footer div.footer-flex div.left div.add_wrap div.add_text p.footer-flex__add {
          margin-bottom: .25rem; }
          footer div.footer-flex div.left div.add_wrap div.add_text p.footer-flex__add span {
            margin-right: .5em;
            margin-left: .5em; }
        footer div.footer-flex div.left div.add_wrap div.add_text p.footer-flex__tel {
          margin: 0; }
        footer div.footer-flex div.left div.add_wrap div.add_text p.footer-flex__fax {
          margin: 0; }
        @media screen and (max-width: 767px) {
          footer div.footer-flex div.left div.add_wrap div.add_text p {
            font-size: .9em; } }
      footer div.footer-flex div.left ul.toi {
        display: grid;
        justify-content: flex-start;
        grid-template-columns: 10rem 10rem;
        gap: 1.0rem;
        margin: 1.5rem 0 6.25rem; }
        @media screen and (max-width: 767px) {
          footer div.footer-flex div.left ul.toi {
            justify-content: center;
            grid-template-columns: 8rem 8rem;
            margin: 1.5rem 0 3.75rem; } }
        footer div.footer-flex div.left ul.toi li {
          font-size: .9rem; }
          footer div.footer-flex div.left ul.toi li a {
            background: #29abe2;
            padding: .5rem;
            border-radius: 2.0rem;
            color: #fff;
            display: inline-block;
            text-align: center;
            width: 100%; }
      footer div.footer-flex div.left img.th65 {
        width: 160px;
        height: auto; }
        @media screen and (max-width: 1280px) {
          footer div.footer-flex div.left img.th65 {
            width: 100px; } }
        @media screen and (max-width: 767px) {
          footer div.footer-flex div.left img.th65 {
            display: block;
            width: 100px;
            margin: 0 auto; } }
    footer div.footer-flex div.right {
      width: calc(100% - 470px);
      padding-left: 5.625rem; }
      @media screen and (max-width: 1380px) {
        footer div.footer-flex div.right {
          width: calc(100% - 470px);
          padding-left: 2.0rem; } }
      @media screen and (max-width: 1024px) {
        footer div.footer-flex div.right {
          width: calc(100% - 360px);
          padding-left: 3.75rem; } }
      @media screen and (max-width: 767px) {
        footer div.footer-flex div.right {
          width: 100%;
          padding-left: 0;
          text-align: left;
          order: 1; } }
      footer div.footer-flex div.right div.menu_wrap {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem; }
        @media screen and (max-width: 767px) {
          footer div.footer-flex div.right div.menu_wrap {
            width: 100%;
            padding-left: 0;
            grid-template-columns: 1fr;
            gap: 0; } }
        footer div.footer-flex div.right div.menu_wrap div.menu_left ul.footer_ul, footer div.footer-flex div.right div.menu_wrap div.menu_right ul.footer_ul {
          margin-bottom: .5em;
          padding: 0; }
          footer div.footer-flex div.right div.menu_wrap div.menu_left ul.footer_ul li, footer div.footer-flex div.right div.menu_wrap div.menu_right ul.footer_ul li {
            padding: .75rem 0;
            border-top: 1px solid rgba(255, 255, 255, 0.5); }
            footer div.footer-flex div.right div.menu_wrap div.menu_left ul.footer_ul li a, footer div.footer-flex div.right div.menu_wrap div.menu_right ul.footer_ul li a {
              color: #29abe2;
              font-weight: bold; }
            footer div.footer-flex div.right div.menu_wrap div.menu_left ul.footer_ul li ul.sub-menu, footer div.footer-flex div.right div.menu_wrap div.menu_right ul.footer_ul li ul.sub-menu {
              padding: .5rem .25rem;
              list-style: none !important; }
              footer div.footer-flex div.right div.menu_wrap div.menu_left ul.footer_ul li ul.sub-menu li, footer div.footer-flex div.right div.menu_wrap div.menu_right ul.footer_ul li ul.sub-menu li {
                padding: .35rem .25rem;
                border-top: none !important; }
                footer div.footer-flex div.right div.menu_wrap div.menu_left ul.footer_ul li ul.sub-menu li a, footer div.footer-flex div.right div.menu_wrap div.menu_right ul.footer_ul li ul.sub-menu li a {
                  color: #fff;
                  font-weight: normal;
                  position: relative;
                  padding-left: .75rem; }
                  footer div.footer-flex div.right div.menu_wrap div.menu_left ul.footer_ul li ul.sub-menu li a::before, footer div.footer-flex div.right div.menu_wrap div.menu_right ul.footer_ul li ul.sub-menu li a::before {
                    content: "・";
                    color: #fff;
                    position: absolute;
                    left: -.5rem; }
        @media screen and (max-width: 767px) {
          footer div.footer-flex div.right div.menu_wrap div.menu_left ul.footer_ul li:first-of-type {
            border-top: 0; } }
        footer div.footer-flex div.right div.menu_wrap div.menu_right ul.footer_ul li:last-of-type {
          border-bottom: 1px solid rgba(255, 255, 255, 0.5); }
  footer p.footer-flex__copy {
    background: #fff;
    color: #1e4baa;
    padding: 1.5rem;
    margin-top: 2em;
    font-size: .8em;
    text-align: center; }
    @media screen and (max-width: 767px) {
      footer p.footer-flex__copy {
        padding: 1.0rem; } }

div.page-top {
  right: 100px;
  position: relative;
  display: inline-block;
  padding: 0;
  color: #000;
  vertical-align: middle;
  text-decoration: none;
  font-size: 15px; }
  @media screen and (max-width: 767px) {
    div.page-top {
      right: 70px; } }
  div.page-top::before, div.page-top::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle; }
  div.page-top::before {
    width: 60px;
    height: 60px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: rgba(0, 10, 50, 0.8); }
  div.page-top::after {
    vertical-align: middle;
    color: #fff;
    line-height: 1;
    width: 1em;
    height: 1em;
    border: 0.1em solid currentColor;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateY(25%) rotate(-45deg);
    left: 22px; }
  div.page-top:hover::before {
    /*background: rgba(19,33,65,0.2);*/
    background: #fff;
    transition: .2s; }
  div.page-top:hover::after {
    color: #00234b; }

/*div.page-top {
    right: 30px;
    width: 60px;
    height: 60px;
    line-height: 56px;
	
	  position: relative;
	
    &::after {
        content: '\f106';
        position: absolute;
        width: 100%;
        height: 100%;
        font: var(--fa-font-solid);
        text-align: center;
        font-weight: bold;
        color: #fff;
        font-size: 2em;
        background: $text-color;
        border-radius: 30px;
        transition: .2s;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    &:hover {
        &::after {
            color: $text-color;
            background: #fff;
            transition: .2s;
        }
    }
}*/
/* -------------------------------- 
common components 
--------------------------------- */
.main {
  margin-top: 100px; }
  @media screen and (max-width: 1380px) {
    .main {
      margin-top: 83px; } }
  @media screen and (max-width: 1024px) {
    .main {
      margin-top: 73px; } }
  @media screen and (max-width: 767px) {
    .main {
      margin-top: 68px; } }

.bg {
  background-color: #f7fbfe; }

.bg_s {
  background-color: #d6ebfa; }

.bg_b {
  background-color: #1e4baa; }

/* -------------------------------- 
index components 
--------------------------------- */
/*all*/
body.home div.top-slide {
  		/*&::before {
  			content: '';
              background: url("../img/index/sd_line.svg") no-repeat top left / contain;
  			position: absolute;
  			top: 0;
  			left: 0;
  			width: 100vw;
  			height: 100vh;
  			z-index: 2;
  			@include mq(xl) {
  				background: url("../img/index/sd_line.svg") no-repeat top 6.0rem left -9rem / contain;
  				width: 110vw;
  			}
  			@include mq(np) {
  				background: url("../img/index/sd_line.svg") no-repeat top 8.5rem left -9rem / contain;
  				width: 115vw;
  			}
  			@include mq(ml) {
  				background: url("../img/index/sd_line.svg") no-repeat top 10.5rem left -8rem / contain;
  			}
  			@include mq(lg) {
  				background: url("../img/index/sd_line.svg") no-repeat left -8rem bottom 0 / contain;
  			}
  			@include mq(md) {
  
  			}
  			@include mq(sm) {
  				background: url("../img/index/sd_line.svg") no-repeat top 6.5rem left -5.5rem / contain;
  				min-width: 1000px;
  			}
  			@include mq(ss) {
  				background: url("../img/index/sd_line.svg") no-repeat top 3.65rem left -5.5rem / contain;
  				min-width: 1000px;
  			}
          }*/
        /*position: relative;
        height: calc(82vh - 120px - 1.875rem);
        border-radius: 0;
		margin: 0;
		background: url("../img/index/bg_sky.png") no-repeat center / cover;
		@include mq(xb) {
			height: calc(77vh - 120px - 1.875rem);
		}
		@include mq(xl) {
			height: calc(80vh - 100px - 1.875rem);
		}
		@include mq(np) {
			height: calc(80vh - 120px - 1.875rem);
		}
		@include mq(ml) {
			height: calc(85vh - 100px - 1.875rem);
		}
        @include mq(lg) {
			height: calc(85vh - 100px - 1.875rem);
        }
		@include mq(md) {
			height: calc(60vh - 72px - 1.25rem);
			}
        @include mq(sm) {
            height: calc(55vh - 72px - 1.25rem);
        }*/ }
  body.home div.top-slide::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(to bottom, rgba(45, 121, 170, 0.5) 0%, rgba(45, 121, 170, 0) 100%);
    z-index: 2; }
  body.home div.top-slide img {
    width: 100%;
    height: 100%;
            /*object-fit: cover;
            vertical-align: bottom;
			clip-path: polygon(0 calc(0% + 12vw), 100% -5%, 100% 100%, 0 100%);*/
    position: relative; }
    @media screen and (max-width: 1024px) {
      body.home div.top-slide img {
        /*object-position: bottom 0 right -2.0rem;
        object-fit: cover;*/ } }
    @media screen and (max-width: 767px) {
      body.home div.top-slide img {
        /*object-position: bottom 0 right -4.0rem;
        object-fit: cover;*/
        min-height: 380px;
        object-fit: cover; } }
  body.home div.top-slide .scroll {
    position: absolute;
    bottom: 80px;
    right: 1.875rem;
    z-index: 12;
    font-family: "Roboto", sans-serif;
    width: 1em;
    height: 4em; }
    body.home div.top-slide .scroll a {
      color: #fff;
      transform: rotate(90deg);
      display: block;
      letter-spacing: 0; }
    body.home div.top-slide .scroll::before {
      content: '';
      background: linear-gradient(to bottom, white 50%, rgba(255, 255, 255, 0) 50%);
      background-position: 0 -60px;
      background-size: 100% 200%;
      animation: scrolldown 2.2s cubic-bezier(0.76, 0, 0.3, 1) forwards infinite;
      position: absolute;
      bottom: -60px;
      right: 0.5em;
      width: 1px;
      height: 50px; }
@keyframes scrolldown {
  0% {
    background-position: 0 -50px; }
  75% {
    background-position: 0 0; }
  100% {
    background-position: 0 50px; } }
    @media screen and (max-width: 767px) {
      body.home div.top-slide .scroll {
        display: none; } }
  body.home div.top-slide div.covertxt {
    position: absolute;
    /*top: 8.854vw;*/
    top: max(8.333vw, 8rem);
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: baseline;
    justify-content: flex-start;
    /*justify-content: end;*/
    color: #fff;
    font-weight: bold;
    text-align: left;
    z-index: 10;
    /*padding: 0 0 4.5rem 0;*/
            /*&::before {
				content: '';
				width: 120%;
				padding: 33.0% 0 0 0;
				clip-path: polygon(0 100%, 0 0, 102% 100%);
				display: block;
				position: absolute;
				bottom: -1px;
				left: 0;
				background: linear-gradient(135deg, rgba(30, 75, 170, 0.7) 10%, rgba(0, 169, 157, 0.7));
				z-index: -1;
				@include mq(xl) {
				}
				@include mq(np) {

				}
				@include mq(ml) {

				}
				@include mq(lg) {

				}
				@include mq(md) {

				}
				@include mq(sm) {
					padding: 65.0% 0 0 0;
					clip-path: polygon(0 100%, 0 0, 198% 100%);
				}
			}*/ }
    @media screen and (max-width: 1770px) {
      body.home div.top-slide div.covertxt {
        /*padding: 0 0 4.0rem 0;*/ } }
    @media screen and (max-width: 1566px) {
      body.home div.top-slide div.covertxt {
        /*padding: 0 0 4.0rem 0;*/ } }
    @media screen and (max-width: 1380px) {
      body.home div.top-slide div.covertxt {
        /*padding: 0 1.5rem 3.0rem;*/ } }
    @media screen and (max-width: 1024px) {
      body.home div.top-slide div.covertxt {
        /*padding: 0 1.5rem 2.5rem;*/
        top: 6.5rem; } }
    @media screen and (max-width: 768px) {
      body.home div.top-slide div.covertxt {
        /*padding: 0 1.5rem 1.5rem;*/ } }
    @media screen and (max-width: 767px) {
      body.home div.top-slide div.covertxt {
        /*padding: 0 0 1.5rem 0;*/
        top: 5.0rem; } }
    body.home div.top-slide div.covertxt h2 {
      /*margin: 0;*/
      font-size: max(10.416vw, 4rem);
      /*font-size: max(5.2083vw, 2.5rem);*/
      /*font-size: 4.3125rem;*/
      font-family: din-condensed, sans-serif;
      font-style: normal;
      font-weight: 300;
      line-height: 11.5rem !important;
      width: min(100%);
      /*width: min(100%, 1420px);*/
      margin: 0 auto;
      padding: 0 6.0rem;
      /*padding: 0 1.875rem;*/ }
      @media screen and (max-width: 1770px) {
        body.home div.top-slide div.covertxt h2 {
          line-height: 10rem !important; } }
      @media screen and (max-width: 1566px) {
        body.home div.top-slide div.covertxt h2 {
          line-height: 8.5rem !important; } }
      @media screen and (max-width: 1280px) {
        body.home div.top-slide div.covertxt h2 {
          line-height: 7.5rem !important;
          padding: 0 4.0rem; } }
      @media screen and (max-width: 1024px) {
        body.home div.top-slide div.covertxt h2 {
          line-height: 6.25rem !important;
          padding: 0 3.25rem; } }
      @media screen and (max-width: 768px) {
        body.home div.top-slide div.covertxt h2 {
          line-height: 5rem !important;
          /*font-size: .8em;*/ } }
      @media screen and (max-width: 767px) {
        body.home div.top-slide div.covertxt h2 {
          /*font-size: 1.5em;*/
          line-height: 4rem !important;
          padding: 0 1.0rem; } }
    body.home div.top-slide div.covertxt p {
      line-height: 1.7;
      width: min(100%);
      /*width: min(100%, 1420px);*/
      /*margin: 0 auto 1.0rem;*/
      padding: 0 7.0rem;
      /*padding: 0 1.875rem;*/
      /*font-size: max(1.14583vw, .80rem);*/
      font-size: max(1.354vw, 0.825rem); }
      @media screen and (max-width: 1280px) {
        body.home div.top-slide div.covertxt p {
          padding: 0 4.5rem; } }
      @media screen and (max-width: 1024px) {
        body.home div.top-slide div.covertxt p {
          padding: 0 3.65rem;
          /*font-size: .8em;*/ } }
      @media screen and (max-width: 768px) {
        body.home div.top-slide div.covertxt p {
          /*font-size: .8em;*/ } }
      @media screen and (max-width: 767px) {
        body.home div.top-slide div.covertxt p {
          /*font-size: .9em;*/
          margin: 0 auto 1.0rem;
          padding: 0 1.0rem; } }
    body.home div.top-slide div.covertxt a.btn-link, body.home div.top-slide div.covertxt body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap a, body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap body.home div.top-slide div.covertxt a {
      color: #fff;
      border-color: #fff; }
      body.home div.top-slide div.covertxt a.btn-link:hover, body.home div.top-slide div.covertxt body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap a:hover, body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap body.home div.top-slide div.covertxt a:hover {
        background: rgba(255, 255, 255, 0.2); }
  body.home div.top-slide div.swiper-pagination {
    bottom: 0px !important;
    right: 1.875em !important;
    left: auto !important;
    z-index: 12;
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 16px;
    height: 100%;
    justify-content: center;
    align-items: center; }
    body.home div.top-slide div.swiper-pagination span.swiper-pagination-bullet {
      margin-right: 8px;
      width: 16px;
      height: 16px;
      background: #fff;
      opacity: 1;
      border-radius: 50%; }
    body.home div.top-slide div.swiper-pagination span.swiper-pagination-bullet-active {
      background: #1e4baa; }
    @media screen and (max-width: 767px) {
      body.home div.top-slide div.swiper-pagination {
        display: none; } }
body.home .main {
  margin-top: 0; }
  @media screen and (max-width: 1380px) {
    body.home .main {
      margin-top: 0; } }
  @media screen and (max-width: 1024px) {
    body.home .main {
      margin-top: 0x; } }
  @media screen and (max-width: 767px) {
    body.home .main {
      margin-top: 0; } }
body.home section h2 {
  margin: 0 auto 2em;
  text-align: left;
  color: #1e4baa;
  line-height: 3.75rem; }
  @media screen and (max-width: 767px) {
    body.home section h2 {
      margin: 0 auto .5em; } }
  body.home section h2 span {
    display: block; }
    @media screen and (max-width: 767px) {
      body.home section h2 span {
        display: inline-block; } }
    body.home section h2 span.icon {
      font-size: 32px; }
    body.home section h2 span.en {
      font-size: max(4.6875vw, 3.25rem);
      font-family: din-condensed, sans-serif;
      font-style: normal;
      font-weight: 300; }
    body.home section h2 span.ja {
      font-size: max(0.9375vw, 0.95rem); }
      @media screen and (max-width: 767px) {
        body.home section h2 span.ja {
          /*margin-left: 1.0rem;*/ } }
  @media screen and (max-width: 1280px) {
    body.home section h2 {
      line-height: 2.5rem; } }
body.home section div.btn-wrap {
  margin-top: 2.5rem;
  /*text-align: center;*/ }
body.home section.slidebox div.slidewrap {
  position: relative; }
  body.home section.slidebox div.slidewrap .swiper {
    width: 100%;
    height: 100%;
    box-sizing: content-box; }
  body.home section.slidebox div.slidewrap .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center; }
    body.home section.slidebox div.slidewrap .swiper-slide a {
      display: block;
      width: 100%; }
      body.home section.slidebox div.slidewrap .swiper-slide a div.img {
        position: relative;
        width: 100%;
        aspect-ratio: 3/2;
        overflow: hidden; }
        body.home section.slidebox div.slidewrap .swiper-slide a div.img img {
          display: block;
          width: 100%;
          height: 100%;
          object-fit: cover;
          transform: scale(1);
          transition: .5s ease-in-out; }
      body.home section.slidebox div.slidewrap .swiper-slide a div.txt div.title {
        margin-top: 1em;
        font-weight: bold;
        line-height: 1.5; }
      body.home section.slidebox div.slidewrap .swiper-slide a div.txt div.date {
        padding-top: .75em; }
        body.home section.slidebox div.slidewrap .swiper-slide a div.txt div.date time {
          font-size: .9em; }
      body.home section.slidebox div.slidewrap .swiper-slide a:hover div.img img {
        opacity: 1;
        transform: scale(1.15);
        transition: .5s ease-in-out; }
  body.home section.slidebox div.slidewrap .swiper-button__next, body.home section.slidebox div.slidewrap .swiper-container-rtl .swiper-button__prev {
    background-image: url("../img/arrow-right.png");
    right: -50px;
    left: auto; }
    @media screen and (max-width: 767px) {
      body.home section.slidebox div.slidewrap .swiper-button__next, body.home section.slidebox div.slidewrap .swiper-container-rtl .swiper-button__prev {
        right: -12px; } }
  body.home section.slidebox div.slidewrap .swiper-button__prev, body.home section.slidebox div.slidewrap .swiper-container-rtl .swiper-button__next {
    background-image: url("../img/arrow-left.png");
    left: -50px;
    right: auto; }
    @media screen and (max-width: 767px) {
      body.home section.slidebox div.slidewrap .swiper-button__prev, body.home section.slidebox div.slidewrap .swiper-container-rtl .swiper-button__next {
        left: -12px; } }
  body.home section.slidebox div.slidewrap .swiper-button__next, body.home section.slidebox div.slidewrap .swiper-button__prev {
    position: absolute;
    top: 50%;
    width: 36px;
    height: 36px;
    margin-top: -30px;
    z-index: 10;
    cursor: pointer;
    background-size: 36px 36px;
    background-position: center;
    background-repeat: no-repeat; }
    body.home section.slidebox div.slidewrap .swiper-button__next:focus, body.home section.slidebox div.slidewrap .swiper-button__prev:focus {
      outline: none; }
  body.home section.slidebox div.slidewrap .swiper-button__next:after, body.home section.slidebox div.slidewrap .swiper-rtl .swiper-button__prev:after {
    content: none; }
  body.home section.slidebox div.slidewrap .swiper-button__prev:after, body.home section.slidebox div.slidewrap .swiper-rtl .swiper-button__next:after {
    content: none; }
body.home section.news {
  background: url("../img/index/news_bg.png") no-repeat top left/cover;
  width: 100vw;
  height: auto;
  background-color: #1e4baa; }
  @media screen and (max-width: 1280px) {
    body.home section.news {
      padding: 3.0rem 0; } }
  body.home section.news div.inner {
    width: min(100%, 1320px); }
    body.home section.news div.inner div.news_wrap {
      display: flex; }
      @media screen and (max-width: 767px) {
        body.home section.news div.inner div.news_wrap {
          display: block; } }
      body.home section.news div.inner div.news_wrap div.left {
        color: #fff;
        width: 300px; }
        @media screen and (max-width: 1280px) {
          body.home section.news div.inner div.news_wrap div.left {
            width: 250px; } }
        @media screen and (max-width: 1024px) {
          body.home section.news div.inner div.news_wrap div.left {
            width: 200px; } }
        @media screen and (max-width: 767px) {
          body.home section.news div.inner div.news_wrap div.left {
            width: 100%;
            margin-bottom: 1.0rem; } }
        body.home section.news div.inner div.news_wrap div.left h2 {
          color: #fff;
          margin-top: 1.5rem; }
          @media screen and (max-width: 767px) {
            body.home section.news div.inner div.news_wrap div.left h2 {
              margin: 0 auto; } }
        body.home section.news div.inner div.news_wrap div.left a.btn-link, body.home section.news body.single-news main section.contents div.inner div.news_wrap div.left div.flex div.right div.nextprev_wrap a, body.single-news main section.contents body.home section.news div.inner div.news_wrap div.left div.flex div.right div.nextprev_wrap a, body.home section.news body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap div.news_wrap div.left a, body.single-news main section.contents body.home section.news div.inner div.flex div.right div.nextprev_wrap div.news_wrap div.left a {
          color: #fff; }
      body.home section.news div.inner div.news_wrap div.right {
        width: calc(100% - 300px); }
        @media screen and (max-width: 1280px) {
          body.home section.news div.inner div.news_wrap div.right {
            width: calc(100% - 250px); } }
        @media screen and (max-width: 1024px) {
          body.home section.news div.inner div.news_wrap div.right {
            width: calc(100% - 200px); } }
        @media screen and (max-width: 767px) {
          body.home section.news div.inner div.news_wrap div.right {
            width: 100%; } }
        @media screen and (max-width: 767px) {
          body.home section.news div.inner div.news_wrap div.right div.btn-wrap {
            text-align: center;
            margin-top: 1.5rem; } }
        @media screen and (max-width: 767px) {
          body.home section.news div.inner div.news_wrap div.right div.btn-wrap a {
            background: #29abe2;
            border-radius: 2.0rem;
            padding: .5rem 1.0rem;
            color: #fff; } }
        @media screen and (max-width: 767px) {
          body.home section.news div.inner div.news_wrap div.right div.btn-wrap a::before {
            display: none; } }
body.home section.about {
  position: relative;
  padding-top: 7.5rem;
  padding-bottom: 0;
  /*p.logo_text {
  	color: $bg_scolor;
  	width: min(100%, 1360px);
  	margin: 0 auto;
  	text-align: center;
  	font-family: din-condensed, sans-serif;
  	font-size: max(5.65vw, 2.5rem);
  	line-height: 3.75rem;
  	animation: looptxt 25s infinite linear 0s both;
  }*/ }
  @media screen and (max-width: 767px) {
    body.home section.about {
      padding-top: 2.5rem; } }
  body.home section.about::before {
    content: '';
    background: url("../img/sb_line.svg") no-repeat top left/contain;
    width: 100vw;
    height: 140vh;
    z-index: -1;
    top: -2.0rem;
    left: 0;
    position: absolute; }
    @media screen and (max-width: 767px) {
      body.home section.about::before {
        top: -1.0rem; } }
  body.home section.about div.about_inner {
    position: relative;
    display: flex;
    justify-content: space-between;
    max-width: min(100%, 1320px);
    padding: 0 4.5rem;
    margin: auto  auto 5.0rem;
    /*flex-direction: row-reverse;*/ }
    @media screen and (max-width: 767px) {
      body.home section.about div.about_inner {
        display: block;
        padding: 0 1.5rem;
        margin: auto  auto 2.5rem; } }
    body.home section.about div.about_inner .column {
      width: 48%; }
      @media screen and (max-width: 767px) {
        body.home section.about div.about_inner .column {
          width: 100%; } }
      body.home section.about div.about_inner .column p {
        margin: 0; }
      body.home section.about div.about_inner .column div.btn-wrap a.btn-link, body.home section.about div.about_inner .column div.btn-wrap body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap a, body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap body.home section.about div.about_inner .column div.btn-wrap a {
        color: #00234b;
        margin-top: 3.75rem; }
        body.home section.about div.about_inner .column div.btn-wrap a.btn-link:before, body.home section.about div.about_inner .column div.btn-wrap body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap a:before, body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap body.home section.about div.about_inner .column div.btn-wrap a:before {
          background-image: url("../img/arrow_blue.svg"); }
    body.home section.about div.about_inner .column-outside-right {
      flex: 1;
      margin-right: calc(50% - 50vw);
      margin-left: 5%; }
      @media screen and (max-width: 767px) {
        body.home section.about div.about_inner .column-outside-right {
          margin-top: 1.5rem;
          margin-left: 0; } }
    @media screen and (max-width: 767px) {
      body.home section.about div.about_inner div.btn-wrap {
        text-align: center;
        margin-top: 1.5rem;
        margin-right: 1.5rem; } }
    @media screen and (max-width: 767px) {
      body.home section.about div.about_inner div.btn-wrap a {
        background: #00a99d;
        border-radius: 2.0rem;
        padding: .5rem 1.0rem;
        color: #fff; } }
    @media screen and (max-width: 767px) {
      body.home section.about div.about_inner div.btn-wrap a::before {
        display: none; } }
  body.home section.about div.logo_container {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    overflow: hidden; }
    body.home section.about div.logo_container div.logo_wrapper {
      display: flex;
      animation: loop-text 25s linear infinite; }
      body.home section.about div.logo_container div.logo_wrapper span.logo_text {
        display: inline-block;
        color: #d6ebfa;
        margin: 0 auto -1.0rem;
        font-family: din-condensed, sans-serif;
        font-size: max(6.25vw, 5rem);
        line-height: 6.0rem;
        white-space: nowrap;
        padding: 0 1.0rem; }
        @media screen and (max-width: 1380px) {
          body.home section.about div.logo_container div.logo_wrapper span.logo_text {
            margin: 0 auto -1.5rem; } }
@keyframes loop-text {
  0% {
    transform: translateX(0%); }
  100% {
    transform: translateX(-50%); } }
@media screen and (max-width: 767px) {
  body.home section.company {
    padding: 1.5rem 0; } }
body.home section.company div.inner div.com_wrap {
  display: flex;
  justify-content: center;
  gap: 3.75rem; }
  @media screen and (max-width: 767px) {
    body.home section.company div.inner div.com_wrap {
      display: grid;
      gap: .75rem; } }
  body.home section.company div.inner div.com_wrap div.box {
    position: relative; }
    @media screen and (max-width: 767px) {
      body.home section.company div.inner div.com_wrap div.box img {
        width: 100vw;
        height: 150px;
        object-fit: cover; } }
    body.home section.company div.inner div.com_wrap div.box .parent {
      display: grid;
      grid-template-columns: 1fr 100px;
      grid-template-rows: repeat(2, 1fr);
      grid-column-gap: 0px;
      grid-row-gap: 0px; }
    @media screen and (max-width: 767px) {
      body.home section.company div.inner div.com_wrap div.box {
        display: block; } }
    body.home section.company div.inner div.com_wrap div.box .div1 {
      grid-area: 1 / 1 / 2 / 2; }
    body.home section.company div.inner div.com_wrap div.box .div2 {
      grid-area: 2 / 1 / 3 / 2; }
    body.home section.company div.inner div.com_wrap div.box .div3 {
      grid-area: 1 / 2 / 3 / 3; }
    body.home section.company div.inner div.com_wrap div.box div.covertxt {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      display: flex;
      flex-direction: column;
      align-items: baseline;
      justify-content: end;
      color: #fff;
      font-weight: bold;
      text-align: left;
      background: rgba(0, 0, 0, 0.3);
      z-index: 10;
      padding: 2.5rem;
      /*p {
      	margin: 24px 0 36px;
      	line-height: 1.7;
      	margin: 0 auto 1.5rem;
      	@include mq(lg) {
      		font-size: .8em;
      	}
      	@include mq(sm) {
      		font-size: .9em;
      	}
      }*/ }
      @media screen and (max-width: 767px) {
        body.home section.company div.inner div.com_wrap div.box div.covertxt {
          justify-content: center;
          padding: 1.0rem; } }
      body.home section.company div.inner div.com_wrap div.box div.covertxt div.text {
        position: relative;
        width: 100%;
        line-height: 3.75rem; }
        @media screen and (max-width: 1280px) {
          body.home section.company div.inner div.com_wrap div.box div.covertxt div.text {
            line-height: 1.25rem; } }
        @media screen and (max-width: 767px) {
          body.home section.company div.inner div.com_wrap div.box div.covertxt div.text {
            line-height: 1.0rem; } }
        body.home section.company div.inner div.com_wrap div.box div.covertxt div.text::before {
          content: '';
          display: inline-block;
          background-image: url("../img/arrow_shiroline.svg");
          background-size: contain;
          background-repeat: no-repeat;
          position: absolute;
          transition: .2s;
          width: 40px;
          height: 40px;
          right: 0;
          top: 50%;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%); }
          @media screen and (max-width: 767px) {
            body.home section.company div.inner div.com_wrap div.box div.covertxt div.text::before {
              width: 30px;
              height: 30px; } }
        body.home section.company div.inner div.com_wrap div.box div.covertxt div.text h2 {
          /*margin: 0;*/
          color: #fff;
          font-size: max(4.6875vw, 3.15rem);
          line-height: 3.65rem;
          font-family: din-condensed, sans-serif;
          font-style: normal;
          font-weight: 300;
          text-align: left;
          margin: 0; }
          @media screen and (max-width: 1024px) {
            body.home section.company div.inner div.com_wrap div.box div.covertxt div.text h2 {
              /*font-size: 2.6em;*/ } }
          @media screen and (max-width: 767px) {
            body.home section.company div.inner div.com_wrap div.box div.covertxt div.text h2 {
              /*font-size: 1.5em;*/ } }
        body.home section.company div.inner div.com_wrap div.box div.covertxt div.text span {
          font-size: max(0.9375vw, 0.95rem); }
      body.home section.company div.inner div.com_wrap div.box div.covertxt a.btn-link, body.home section.company body.single-news main section.contents div.inner div.com_wrap div.box div.covertxt div.flex div.right div.nextprev_wrap a, body.single-news main section.contents body.home section.company div.inner div.com_wrap div.box div.covertxt div.flex div.right div.nextprev_wrap a, body.home section.company body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap div.com_wrap div.box div.covertxt a, body.single-news main section.contents body.home section.company div.inner div.flex div.right div.nextprev_wrap div.com_wrap div.box div.covertxt a {
        color: #fff;
        border-color: #fff; }
        body.home section.company div.inner div.com_wrap div.box div.covertxt a.btn-link:hover, body.home section.company body.single-news main section.contents div.inner div.com_wrap div.box div.covertxt div.flex div.right div.nextprev_wrap a:hover, body.single-news main section.contents body.home section.company div.inner div.com_wrap div.box div.covertxt div.flex div.right div.nextprev_wrap a:hover, body.home section.company body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap div.com_wrap div.box div.covertxt a:hover, body.single-news main section.contents body.home section.company div.inner div.flex div.right div.nextprev_wrap div.com_wrap div.box div.covertxt a:hover {
          background: rgba(255, 255, 255, 0.2); }
body.home section.service {
  padding: 7.5rem 0 7.5rem; }
  @media screen and (max-width: 767px) {
    body.home section.service {
      padding: 2.5rem 0; } }
  body.home section.service .inner {
    margin-inline: auto;
    max-width: 1360px;
    /*max-width: 1060px;*/
    padding: 0 3.75rem;
    /*.overflow-right {
    	padding: 30px 0;
    }
    .overflow-right__heading {
    	font-size: 24px;
    	font-weight: 700;
    }*/ }
    @media screen and (max-width: 767px) {
      body.home section.service .inner {
        padding: 0 1.5rem; } }
    body.home section.service .inner div.tit_wrap {
      display: flex;
      justify-content: space-between; }
      body.home section.service .inner div.tit_wrap h2 {
        width: 100%; }
      body.home section.service .inner div.tit_wrap div.btn-wrap {
        white-space: nowrap;
        margin-top: 0; }
        @media screen and (max-width: 1280px) {
          body.home section.service .inner div.tit_wrap div.btn-wrap {
            margin-top: 0; } }
        body.home section.service .inner div.tit_wrap div.btn-wrap a.btn-link, body.home section.service body.single-news main section.contents div.inner div.tit_wrap div.btn-wrap div.flex div.right div.nextprev_wrap a, body.single-news main section.contents body.home section.service div.inner div.tit_wrap div.btn-wrap div.flex div.right div.nextprev_wrap a, body.home section.service body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap div.tit_wrap div.btn-wrap a, body.single-news main section.contents body.home section.service div.inner div.flex div.right div.nextprev_wrap div.tit_wrap div.btn-wrap a {
          color: #00234b;
          margin-top: 3.75rem; }
          body.home section.service .inner div.tit_wrap div.btn-wrap a.btn-link:before, body.home section.service body.single-news main section.contents div.inner div.tit_wrap div.btn-wrap div.flex div.right div.nextprev_wrap a:before, body.single-news main section.contents body.home section.service div.inner div.tit_wrap div.btn-wrap div.flex div.right div.nextprev_wrap a:before, body.home section.service body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap div.tit_wrap div.btn-wrap a:before, body.single-news main section.contents body.home section.service div.inner div.flex div.right div.nextprev_wrap div.tit_wrap div.btn-wrap a:before {
            background-image: url("../img/arrow_blue.svg"); }
    body.home section.service .inner .overflow-right__sliderWrap {
      margin-left: calc(50% - 50vw);
      margin-top: 40px;
      padding-left: calc(50vw - 50%);
      width: 100vw; }
    body.home section.service .inner .swiper-slide {
      aspect-ratio: 1/1;
      display: grid;
      font-size: 18px;
      font-weight: 700;
      place-content: flex-start; }
      body.home section.service .inner .swiper-slide a {
        display: block;
        width: 100%; }
        body.home section.service .inner .swiper-slide a div.img {
          position: relative;
          width: 100%;
          aspect-ratio: 3/2;
          overflow: hidden; }
          body.home section.service .inner .swiper-slide a div.img img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
            transform: scale(1);
            transition: .5s ease-in-out; }
        body.home section.service .inner .swiper-slide a div.txt {
          margin-left: .25rem; }
          body.home section.service .inner .swiper-slide a div.txt div.title {
            margin: 1.5em 0;
            font-weight: bold;
            line-height: 1.5;
            border-left: 1px solid #29abe2;
            padding: .25rem 1.0rem; }
          body.home section.service .inner .swiper-slide a div.txt div.txt {
            color: #00234b;
            font-size: .80rem;
            font-weight: normal; }
        body.home section.service .inner .swiper-slide a:hover div.img img {
          opacity: 1;
          transform: scale(1.15);
          transition: .5s ease-in-out; }
    body.home section.service .inner .splide__arrows--ltr {
      position: absolute;
      right: 15%;
      top: -2.5rem;
      width: 6.5rem; }
      @media screen and (max-width: 767px) {
        body.home section.service .inner .splide__arrows--ltr {
          right: 0;
          top: -2.0rem; } }
      body.home section.service .inner .splide__arrows--ltr .splide__arrow {
        background: #eaf5fc; }
        body.home section.service .inner .splide__arrows--ltr .splide__arrow svg {
          fill: #1e4baa;
          height: .75em;
          width: .75em; }
    body.home section.service .inner .splide__pagination {
      display: none; }
    @media screen and (max-width: 767px) {
      body.home section.service .inner div.btn-wrap {
        text-align: center;
        margin-top: 1.5rem; } }
    @media screen and (max-width: 767px) {
      body.home section.service .inner div.btn-wrap a {
        background: #00a99d;
        border-radius: 2.0rem;
        padding: .5rem 1.0rem;
        color: #fff; } }
    @media screen and (max-width: 767px) {
      body.home section.service .inner div.btn-wrap a::before {
        display: none; } }
body.home section.recruit {
  background: no-repeat center/cover url("../img/index/bg_recruit.png");
  background-attachment: fixed;
  position: relative;
  z-index: 0; }
  body.home section.recruit::before {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 20%;
    background: no-repeat left bottom/16vw url("../img/index/ph_recruit.png");
    width: 390px;
    height: 556px;
    z-index: -1; }
    @media screen and (max-width: 1024px) {
      body.home section.recruit::before {
        left: 10%; } }
    @media screen and (max-width: 767px) {
      body.home section.recruit::before {
        left: 5%;
        background: no-repeat left bottom/30vw url("../img/index/ph_recruit.png"); } }
  body.home section.recruit div.inner {
    width: min(100%, 1200px); }
    body.home section.recruit div.inner div.recruit_wrap {
      display: grid;
      grid-template-columns: 600px;
      justify-content: end;
      /*gap: 5.0rem;*/
      					/*div.img {
      						img {
      
      						}
      					}*/ }
      @media screen and (max-width: 767px) {
        body.home section.recruit div.inner div.recruit_wrap {
          grid-template-columns: auto;
          justify-content: auto; } }
      body.home section.recruit div.inner div.recruit_wrap div.data {
        background: rgba(255, 255, 255, 0.85);
        border-radius: 2.0rem;
        padding: 6.25rem; }
        @media screen and (max-width: 1280px) {
          body.home section.recruit div.inner div.recruit_wrap div.data {
            padding: 3.75rem; } }
        @media screen and (max-width: 1024px) {
          body.home section.recruit div.inner div.recruit_wrap div.data {
            padding: 3.0rem; } }
        @media screen and (max-width: 767px) {
          body.home section.recruit div.inner div.recruit_wrap div.data {
            padding: 2.5rem; } }
        @media screen and (max-width: 767px) {
          body.home section.recruit div.inner div.recruit_wrap div.data div.btn-wrap {
            text-align: center; } }
        body.home section.recruit div.inner div.recruit_wrap div.data div.btn-wrap a.btn-link, body.home section.recruit body.single-news main section.contents div.inner div.recruit_wrap div.data div.btn-wrap div.flex div.right div.nextprev_wrap a, body.single-news main section.contents body.home section.recruit div.inner div.recruit_wrap div.data div.btn-wrap div.flex div.right div.nextprev_wrap a, body.home section.recruit body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap div.recruit_wrap div.data div.btn-wrap a, body.single-news main section.contents body.home section.recruit div.inner div.flex div.right div.nextprev_wrap div.recruit_wrap div.data div.btn-wrap a {
          color: #00234b;
          margin-top: 3.75rem; }
          @media screen and (max-width: 767px) {
            body.home section.recruit div.inner div.recruit_wrap div.data div.btn-wrap a.btn-link, body.home section.recruit body.single-news main section.contents div.inner div.recruit_wrap div.data div.btn-wrap div.flex div.right div.nextprev_wrap a, body.single-news main section.contents body.home section.recruit div.inner div.recruit_wrap div.data div.btn-wrap div.flex div.right div.nextprev_wrap a, body.home section.recruit body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap div.recruit_wrap div.data div.btn-wrap a, body.single-news main section.contents body.home section.recruit div.inner div.flex div.right div.nextprev_wrap div.recruit_wrap div.data div.btn-wrap a {
              background: #00a99d;
              border-radius: 2.0rem;
              padding: .5rem 1.0rem;
              color: #fff;
              margin-top: 0; } }
          body.home section.recruit div.inner div.recruit_wrap div.data div.btn-wrap a.btn-link:before, body.home section.recruit body.single-news main section.contents div.inner div.recruit_wrap div.data div.btn-wrap div.flex div.right div.nextprev_wrap a:before, body.single-news main section.contents body.home section.recruit div.inner div.recruit_wrap div.data div.btn-wrap div.flex div.right div.nextprev_wrap a:before, body.home section.recruit body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap div.recruit_wrap div.data div.btn-wrap a:before, body.single-news main section.contents body.home section.recruit div.inner div.flex div.right div.nextprev_wrap div.recruit_wrap div.data div.btn-wrap a:before {
            background-image: url("../img/arrow_blue.svg"); }
            @media screen and (max-width: 767px) {
              body.home section.recruit div.inner div.recruit_wrap div.data div.btn-wrap a.btn-link:before, body.home section.recruit body.single-news main section.contents div.inner div.recruit_wrap div.data div.btn-wrap div.flex div.right div.nextprev_wrap a:before, body.single-news main section.contents body.home section.recruit div.inner div.recruit_wrap div.data div.btn-wrap div.flex div.right div.nextprev_wrap a:before, body.home section.recruit body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap div.recruit_wrap div.data div.btn-wrap a:before, body.single-news main section.contents body.home section.recruit div.inner div.flex div.right div.nextprev_wrap div.recruit_wrap div.data div.btn-wrap a:before {
                background-image: none; } }
body.home section.bnr {
  padding: 3.75rem 0;
  background: linear-gradient(to right, #1e4baa, #00a99d); }
  @media screen and (max-width: 1024px) {
    body.home section.bnr {
      padding: 1.5rem 0; } }
  @media screen and (max-width: 767px) {
    body.home section.bnr {
      padding: 3rem 0; } }
  body.home section.bnr div.inner div.slide {
    overflow: hidden; }
    body.home section.bnr div.inner div.slide div.swiper-slide a {
      display: grid;
      align-items: center;
      min-height: 120px; }
      @media screen and (max-width: 1024px) {
        body.home section.bnr div.inner div.slide div.swiper-slide a {
          min-height: 80px; } }
      @media screen and (max-width: 767px) {
        body.home section.bnr div.inner div.slide div.swiper-slide a {
          min-height: 60px; } }
  @media (min-width: 769px) {
    body.home section.bnr div.inner .slide .slide__wrapper {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 1.0rem; } }
  body.home section.bnr div.inner div.slide__img {
    width: 100%; }
  body.home section.bnr div.inner ul {
    display: flex; }
    @media screen and (max-width: 767px) {
      body.home section.bnr div.inner ul {
        display: block; } }
    body.home section.bnr div.inner ul li {
      width: calc(20% - 12px);
      margin-right: 15px; }
      @media screen and (max-width: 767px) {
        body.home section.bnr div.inner ul li {
          width: 100%;
          max-width: 240px;
          margin: 0 auto 10px; } }
      body.home section.bnr div.inner ul li:last-child {
        margin-right: 0; }
        @media screen and (max-width: 767px) {
          body.home section.bnr div.inner ul li:last-child {
            margin: 0 auto; } }
      body.home section.bnr div.inner ul li a {
        display: block;
        background: #fff; }
        body.home section.bnr div.inner ul li a img {
          width: 100%;
          vertical-align: bottom; }

/* -------------------------------- 
sub components 
--------------------------------- */
/*breadcrumbs*/
body.sub .breadcrumbs {
  padding: max(1vw, 1rem) 0 0;
  font-size: .7em;
  color: #00234b; }
  body.sub .breadcrumbs span {
    display: inline-block;
    margin: 0 0;
    color: #00234b; }
    body.sub .breadcrumbs span i {
      display: none; }

/*common*/
body.sub header.header div.headerflex div.right nav.gnav > ul > li > a {
  color: #00234b; }
body.sub header.header div.headerflex div.right nav.gnav > ul li.toi > a {
  color: #fff; }
body.sub div.hamburger.active {
  background: rgba(30, 75, 170, 0.3); }
body.sub div.hamburger span {
  background-color: #00234b; }
body.sub main div.bg_sc {
  background: #d6ebfa; }
body.sub main div.page_title_wrap {
  position: relative;
  /*padding: max(4vw,3rem) 0;*/
  background: #f7fbfe; }
  @media screen and (max-width: 767px) {
    body.sub main div.page_title_wrap {
      padding-bottom: 1.5rem; } }
  body.sub main div.page_title_wrap div.inner {
    position: relative;
    display: grid;
    z-index: 2; }
    body.sub main div.page_title_wrap div.inner div.left {
      color: #1e4baa; }
      body.sub main div.page_title_wrap div.inner div.left p.page_title {
        margin: 0;
        line-height: 1.1;
        padding: max(10.416vw, 9rem) 0 0;
        /*padding: max(15.104vw,10rem) 0 0;*/ }
        @media screen and (max-width: 767px) {
          body.sub main div.page_title_wrap div.inner div.left p.page_title {
            line-height: 1.0; } }
        body.sub main div.page_title_wrap div.inner div.left p.page_title span.title_en {
          font-size: max(7.03125vw, 4.35rem);
          /*font-weight: bold;*/
          font-family: din-condensed, sans-serif;
          letter-spacing: 0;
          text-shadow: #d6ebfa 2px 0 5px; }
      body.sub main div.page_title_wrap div.inner div.left h1 {
        font-size: max(2.0833vw, 1.6rem);
        margin: 0 auto max(2.3vw, 1rem); }
  body.sub main div.page_title_wrap:has(.bg_page-tit_img) {
    padding: 0; }
    body.sub main div.page_title_wrap:has(.bg_page-tit_img) .bg_page-tit_img {
      position: absolute;
      top: 5.0rem;
      right: 0;
      width: 52.083%;
      height: 100%;
      z-index: 0; }
      @media screen and (max-width: 767px) {
        body.sub main div.page_title_wrap:has(.bg_page-tit_img) .bg_page-tit_img {
          top: 1.5rem;
          right: -2.75rem;
          width: 100%; } }
      body.sub main div.page_title_wrap:has(.bg_page-tit_img) .bg_page-tit_img img {
        position: relative;
        width: 100%;
        height: auto;
        object-fit: cover;
        z-index: 1; }
body.sub main section.contents div.inner div.single_content div.addtoany_content {
  margin-top: 2.5rem; }
body.sub main section.contents div.inner div.single_content .wide {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%); }
body.sub main section.contents div.inner div.single_content .white {
  background: #fff; }
body.sub main section.contents div.inner div.single_content h2 {
  color: #1e4baa;
  font-size: max(1.77083vw, 1.5rem); }
body.sub main section.contents div.inner div.single_content h2 {
  padding-top: 100px;
  margin-top: -100px; }
body.sub main section.contents div.inner div.single_content h3 {
  color: #00234b;
  font-size: max(1.25vw, 1.05rem); }
body.sub main section.contents div.inner div.single_content ul.sub_menu {
  list-style: none;
  padding-left: 0; }
  @media screen and (max-width: 767px) {
    body.sub main section.contents div.inner div.single_content ul.sub_menu {
      margin-bottom: 2.5rem; } }
  body.sub main section.contents div.inner div.single_content ul.sub_menu li {
    margin-bottom: 1.0rem;
    position: relative;
    text-indent: 2.5rem; }
    @media screen and (max-width: 767px) {
      body.sub main section.contents div.inner div.single_content ul.sub_menu li {
        display: inline-block;
        margin-right: .5rem;
        text-indent: 1.75rem; } }
    body.sub main section.contents div.inner div.single_content ul.sub_menu li a {
      text-decoration: none; }
      body.sub main section.contents div.inner div.single_content ul.sub_menu li a:hover {
        color: #a9b7bc; }
        body.sub main section.contents div.inner div.single_content ul.sub_menu li a:hover::before {
          background-image: url("../img/arrow_hv-shita.svg"); }
      body.sub main section.contents div.inner div.single_content ul.sub_menu li a::before {
        content: '';
        display: inline-block;
        background-image: url("../img/arrow_blue.svg");
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
        transition: .2s;
        width: 26px;
        height: 26px;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%); }
        @media screen and (max-width: 767px) {
          body.sub main section.contents div.inner div.single_content ul.sub_menu li a::before {
            width: 20px;
            height: 20px; } }
body.sub main section.contents div.inner div.single_content div.cover_wrap {
  display: grid;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 2.5rem; }
  body.sub main section.contents div.inner div.single_content div.cover_wrap div.cover_link {
    /*position: relative;
    width: 100%;
    height: auto;*/ }
    body.sub main section.contents div.inner div.single_content div.cover_wrap div.cover_link::before {
      content: '';
      display: inline-block;
      background-image: url("../img/arrow_shiroline.svg");
      background-size: contain;
      background-repeat: no-repeat;
      position: absolute;
      transition: .2s;
      width: 40px;
      height: 40px;
      right: 2.5rem;
      bottom: 2.5rem;
      transform: translateY(-50%);
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%); }
    body.sub main section.contents div.inner div.single_content div.cover_wrap div.cover_link p.en {
      font-family: din-condensed, sans-serif;
      font-size: max(4.6875vw, 3.15rem);
      margin: 0;
      line-height: 2.5rem; }
body.sub main section.contents div.inner div.bth-wrap {
  margin-top: 2.5rem; }
  body.sub main section.contents div.inner div.bth-wrap a {
    margin-right: 1rem; }
    @media screen and (max-width: 767px) {
      body.sub main section.contents div.inner div.bth-wrap a {
        margin-bottom: 1rem; } }
@media screen and (max-width: 767px) {
  body.sub main section.contents div.inner div.cover_wrap {
    /*padding: 2.5rem 1.0rem 1.0rem;*/ } }
@media screen and (max-width: 767px) {
  body.sub main section.contents div.inner div.cover_wrap p.en {
    padding-bottom: .25rem; } }
@media screen and (max-width: 767px) {
  body.sub main section.contents div.inner div.cover_wrap p.jp {
    margin-top: .25rem; } }
@media screen and (max-width: 767px) {
  body.sub main section.contents div.inner div.cover_wrap div.cover_link::before {
    right: 1rem !important;
    top: 50%;
    bottom: auto; } }
@media screen and (max-width: 767px) {
  body.sub main section.contents div.inner .wp-block-cover {
    min-height: auto; } }
@media screen and (max-width: 767px) {
  body.sub main section.contents div.inner .wp-block-cover .wp-block-cover__image-background {
    height: auto; } }
@media screen and (max-width: 767px) {
  body.sub main section.contents div.inner .reverse {
    flex-direction: column-reverse !important; } }

/*pager*/
div.pager {
  margin-top: 2.5em;
  display: flex;
  justify-content: center; }
  div.pager span.current {
    color: #fff;
    background: #1e4baa;
    border-radius: 50%;
    margin: 0 0.5em !important; }
  div.pager .page-numbers {
    display: inline-block;
    margin-right: .5em;
    padding: .5em .75em;
    color: #1e4baa;
    border: 1px solid #1e4baa;
    transition: .2s;
    background: #fff;
    border-radius: 50%;
    width: 42px;
    height: 42px;
    text-align: center; }
    div.pager .page-numbers:last-of-type {
      margin-right: 0;
      margin-left: 1.0rem; }
    div.pager .page-numbers:hover {
      color: #fff;
      background: #1e4baa;
      transition: .2s; }

/* -------------------------------- 
archive taxsonomy single components 
--------------------------------- */
body.archive main section.contents div.inner div.archive_wrap, body.taxsonomy main section.contents div.inner div.archive_wrap, body.single main section.contents div.inner div.archive_wrap {
  display: grid;
  justify-content: flex-end;
  margin-bottom: 1.5rem; }
  @media screen and (max-width: 767px) {
    body.archive main section.contents div.inner div.archive_wrap, body.taxsonomy main section.contents div.inner div.archive_wrap, body.single main section.contents div.inner div.archive_wrap {
      justify-content: normal; } }
  body.archive main section.contents div.inner div.archive_wrap div.archive, body.taxsonomy main section.contents div.inner div.archive_wrap div.archive, body.single main section.contents div.inner div.archive_wrap div.archive {
    background: #fff;
    display: inline-block;
    padding: .25rem 1.25rem;
    border-radius: 1.0rem; }
    @media screen and (max-width: 767px) {
      body.archive main section.contents div.inner div.archive_wrap div.archive, body.taxsonomy main section.contents div.inner div.archive_wrap div.archive, body.single main section.contents div.inner div.archive_wrap div.archive {
        background: #d7eeff;
        /*width: 100%;*/ } }
    body.archive main section.contents div.inner div.archive_wrap div.archive h2, body.taxsonomy main section.contents div.inner div.archive_wrap div.archive h2, body.single main section.contents div.inner div.archive_wrap div.archive h2 {
      font-size: 1.0rem;
      color: #1e4baa; }
  body.archive main section.contents div.inner div.archive_wrap .selectbox, body.taxsonomy main section.contents div.inner div.archive_wrap .selectbox, body.single main section.contents div.inner div.archive_wrap .selectbox {
    position: relative; }
    body.archive main section.contents div.inner div.archive_wrap .selectbox::before, body.archive main section.contents div.inner div.archive_wrap .selectbox::after, body.taxsonomy main section.contents div.inner div.archive_wrap .selectbox::before, body.taxsonomy main section.contents div.inner div.archive_wrap .selectbox::after, body.single main section.contents div.inner div.archive_wrap .selectbox::before, body.single main section.contents div.inner div.archive_wrap .selectbox::after {
      position: absolute;
      content: '';
      pointer-events: none; }
    body.archive main section.contents div.inner div.archive_wrap .selectbox::before, body.taxsonomy main section.contents div.inner div.archive_wrap .selectbox::before, body.single main section.contents div.inner div.archive_wrap .selectbox::before {
      display: inline-block;
      right: 0;
      width: 2.8em;
      height: 2.5em;
      /*border-radius: 0 3px 3px 0;
      background-color: #2589d0;*/ }
    body.archive main section.contents div.inner div.archive_wrap .selectbox::after, body.taxsonomy main section.contents div.inner div.archive_wrap .selectbox::after, body.single main section.contents div.inner div.archive_wrap .selectbox::after {
      position: absolute;
      top: 50%;
      right: 1.4em;
      transform: translate(50%, -50%) rotate(45deg);
      width: 8px;
      height: 8px;
      border-bottom: 1px solid #1e4baa;
      border-right: 1px solid #1e4baa; }
    body.archive main section.contents div.inner div.archive_wrap .selectbox select, body.taxsonomy main section.contents div.inner div.archive_wrap .selectbox select, body.single main section.contents div.inner div.archive_wrap .selectbox select {
      appearance: none;
      min-width: 200px;
      height: 2.5em;
      padding: .75em 2.75em .75em .75em;
      border: none;
      /*border-radius: 3px;
      background-color: #f2f2f2;*/
      background-color: #fff;
      color: #1e4baa;
      font-size: 1em;
      cursor: pointer; }
      @media screen and (max-width: 767px) {
        body.archive main section.contents div.inner div.archive_wrap .selectbox select, body.taxsonomy main section.contents div.inner div.archive_wrap .selectbox select, body.single main section.contents div.inner div.archive_wrap .selectbox select {
          min-width: 100%;
          background-color: #d7eeff; } }
      body.archive main section.contents div.inner div.archive_wrap .selectbox select:focus, body.taxsonomy main section.contents div.inner div.archive_wrap .selectbox select:focus, body.single main section.contents div.inner div.archive_wrap .selectbox select:focus {
        outline: 1px solid #fff; }
        @media screen and (max-width: 767px) {
          body.archive main section.contents div.inner div.archive_wrap .selectbox select:focus, body.taxsonomy main section.contents div.inner div.archive_wrap .selectbox select:focus, body.single main section.contents div.inner div.archive_wrap .selectbox select:focus {
            outline: 1px solid #d7eeff; } }
body.archive main section.contents div.inner div.flex, body.taxsonomy main section.contents div.inner div.flex, body.single main section.contents div.inner div.flex {
  display: flex;
  gap: 3.75rem; }
  @media screen and (max-width: 767px) {
    body.archive main section.contents div.inner div.flex, body.taxsonomy main section.contents div.inner div.flex, body.single main section.contents div.inner div.flex {
      display: block; } }
  body.archive main section.contents div.inner div.flex div.left, body.taxsonomy main section.contents div.inner div.flex div.left, body.single main section.contents div.inner div.flex div.left {
    width: 20rem; }
    @media screen and (max-width: 767px) {
      body.archive main section.contents div.inner div.flex div.left, body.taxsonomy main section.contents div.inner div.flex div.left, body.single main section.contents div.inner div.flex div.left {
        width: 100%;
        padding-left: 0; } }
    body.archive main section.contents div.inner div.flex div.left div ul, body.taxsonomy main section.contents div.inner div.flex div.left div ul, body.single main section.contents div.inner div.flex div.left div ul {
      list-style: none;
      padding-left: 0;
      margin-bottom: 2.5rem; }
      body.archive main section.contents div.inner div.flex div.left div ul li, body.taxsonomy main section.contents div.inner div.flex div.left div ul li, body.single main section.contents div.inner div.flex div.left div ul li {
        margin-bottom: 1.0rem;
        position: relative;
        text-indent: 2.5rem; }
        @media screen and (max-width: 767px) {
          body.archive main section.contents div.inner div.flex div.left div ul li, body.taxsonomy main section.contents div.inner div.flex div.left div ul li, body.single main section.contents div.inner div.flex div.left div ul li {
            display: inline-block;
            margin-right: .5rem;
            text-indent: 1.75rem; } }
        body.archive main section.contents div.inner div.flex div.left div ul li a, body.taxsonomy main section.contents div.inner div.flex div.left div ul li a, body.single main section.contents div.inner div.flex div.left div ul li a {
          text-decoration: none; }
          body.archive main section.contents div.inner div.flex div.left div ul li a:hover, body.taxsonomy main section.contents div.inner div.flex div.left div ul li a:hover, body.single main section.contents div.inner div.flex div.left div ul li a:hover {
            color: #a9b7bc; }
            body.archive main section.contents div.inner div.flex div.left div ul li a:hover::before, body.taxsonomy main section.contents div.inner div.flex div.left div ul li a:hover::before, body.single main section.contents div.inner div.flex div.left div ul li a:hover::before {
              background-image: url("../img/arrow_blue-hv.svg"); }
          body.archive main section.contents div.inner div.flex div.left div ul li a::before, body.taxsonomy main section.contents div.inner div.flex div.left div ul li a::before, body.single main section.contents div.inner div.flex div.left div ul li a::before {
            content: '';
            display: inline-block;
            background-image: url("../img/arrow_blue.svg");
            background-size: contain;
            background-repeat: no-repeat;
            position: absolute;
            transition: .2s;
            width: 26px;
            height: 26px;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%); }
            @media screen and (max-width: 767px) {
              body.archive main section.contents div.inner div.flex div.left div ul li a::before, body.taxsonomy main section.contents div.inner div.flex div.left div ul li a::before, body.single main section.contents div.inner div.flex div.left div ul li a::before {
                width: 20px;
                height: 20px; } }
  body.archive main section.contents div.inner div.flex div.right, body.taxsonomy main section.contents div.inner div.flex div.right, body.single main section.contents div.inner div.flex div.right {
    width: calc(100%); }
    @media screen and (max-width: 767px) {
      body.archive main section.contents div.inner div.flex div.right, body.taxsonomy main section.contents div.inner div.flex div.right, body.single main section.contents div.inner div.flex div.right {
        width: 100%;
        margin-bottom: 2.5rem; } }
    body.archive main section.contents div.inner div.flex div.right div, body.taxsonomy main section.contents div.inner div.flex div.right div, body.single main section.contents div.inner div.flex div.right div {
      /*margin-bottom: 2.5rem;*/ }
      body.archive main section.contents div.inner div.flex div.right div ul, body.taxsonomy main section.contents div.inner div.flex div.right div ul, body.single main section.contents div.inner div.flex div.right div ul {
        padding-left: 1.5em;
        list-style: none;
        margin: 0;
        padding: 0; }
        body.archive main section.contents div.inner div.flex div.right div ul li, body.taxsonomy main section.contents div.inner div.flex div.right div ul li, body.single main section.contents div.inner div.flex div.right div ul li {
          padding: 1em 0;
          border-bottom: 1px dotted #999; }
          body.archive main section.contents div.inner div.flex div.right div ul li a, body.taxsonomy main section.contents div.inner div.flex div.right div ul li a, body.single main section.contents div.inner div.flex div.right div ul li a {
            font-size: .9em;
            line-height: 1.4; }
          body.archive main section.contents div.inner div.flex div.right div ul li span.post-date, body.taxsonomy main section.contents div.inner div.flex div.right div ul li span.post-date, body.single main section.contents div.inner div.flex div.right div ul li span.post-date {
            display: block;
            margin-top: .5em;
            font-size: .75em; }
body.archive main section.contents div.inner a.btn-link, body.archive body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap a, body.single-news body.archive main section.contents div.inner div.flex div.right div.nextprev_wrap a, body.taxsonomy main section.contents div.inner a.btn-link, body.taxsonomy body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap a, body.single-news body.taxsonomy main section.contents div.inner div.flex div.right div.nextprev_wrap a, body.single main section.contents div.inner a.btn-link, body.single body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap a, body.single-news body.single main section.contents div.inner div.flex div.right div.nextprev_wrap a {
  color: #00234b; }
  body.archive main section.contents div.inner a.btn-link:hover, body.archive body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap a:hover, body.single-news body.archive main section.contents div.inner div.flex div.right div.nextprev_wrap a:hover, body.taxsonomy main section.contents div.inner a.btn-link:hover, body.taxsonomy body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap a:hover, body.single-news body.taxsonomy main section.contents div.inner div.flex div.right div.nextprev_wrap a:hover, body.single main section.contents div.inner a.btn-link:hover, body.single body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap a:hover, body.single-news body.single main section.contents div.inner div.flex div.right div.nextprev_wrap a:hover {
    text-decoration: none; }

/* -------------------------------- 
titlebk-none components 
--------------------------------- */
@media screen and (max-width: 767px) {
  body.post-type-archive-news main div.page_title_wrap div.inner div.left p.page_title,
  body.single-news main div.page_title_wrap div.inner div.left p.page_title,
  body.tax-news_list main div.page_title_wrap div.inner div.left p.page_title,
  body.privacypolicy main div.page_title_wrap div.inner div.left p.page_title {
    padding: max(10.416vw, 3.65rem) 0 0 !important; } }

/* -------------------------------- 
news components 
--------------------------------- */
body.post-type-archive-news main section.contents, body.single-news main section.contents, body.tax-news_list main section.contents {
  padding: 3.25rem 0 6.25rem; }

/* -------------------------------- 
single-news components 
--------------------------------- */
body.single-news main section.contents div.inner div.flex div.right {
  background: #fff;
  border-radius: 2.0rem;
  padding: 2.5rem; }
  @media screen and (max-width: 767px) {
    body.single-news main section.contents div.inner div.flex div.right {
      padding: 1.5rem; } }
  body.single-news main section.contents div.inner div.flex div.right div.single_title_wrap {
    margin-bottom: 3.75rem;
    padding-bottom: 1.0rem;
    border-bottom: 1px solid #d6ebfa;
    position: relative;
    display: block;
                            /*time {
                                font-size: .9em;
								color: $green;
                                @include mq(sm) {
                                    font-size: .8em;
                                }
                            }*/ }
    body.single-news main section.contents div.inner div.flex div.right div.single_title_wrap::after {
      position: absolute;
      content: " ";
      display: block;
      border-bottom: solid 1px #29abe2;
      bottom: -1px;
      width: 30%; }
    body.single-news main section.contents div.inner div.flex div.right div.single_title_wrap h1 {
      margin: 0 0 1.0em;
      line-height: 1.6;
      font-size: max(1.875vw, 1.4rem); }
      @media screen and (max-width: 767px) {
        body.single-news main section.contents div.inner div.flex div.right div.single_title_wrap h1 {
          font-size: 1.5em; } }
    body.single-news main section.contents div.inner div.flex div.right div.single_title_wrap div.dt_wrap {
      display: grid;
      grid-template-columns: 7.5rem 1fr;
      gap: 1.0rem;
      margin-bottom: 0;
      align-items: end; }
      body.single-news main section.contents div.inner div.flex div.right div.single_title_wrap div.dt_wrap div.cat {
        margin-bottom: 0; }
        @media screen and (max-width: 767px) {
          body.single-news main section.contents div.inner div.flex div.right div.single_title_wrap div.dt_wrap div.cat {
            /*width: 100%;*/ } }
        body.single-news main section.contents div.inner div.flex div.right div.single_title_wrap div.dt_wrap div.cat span {
          background: #00a99d;
          border-radius: 1.5rem;
          color: #fff;
          display: block;
          padding: .25rem .5rem;
          font-size: .85rem;
          max-width: 8.0rem;
          text-align: center;
          letter-spacing: .05rem; }
      body.single-news main section.contents div.inner div.flex div.right div.single_title_wrap div.dt_wrap div.date {
        color: #00a99d;
        margin-bottom: 0;
        text-align: right;
        font-size: .9em; }
        @media screen and (max-width: 767px) {
          body.single-news main section.contents div.inner div.flex div.right div.single_title_wrap div.dt_wrap div.date {
            font-size: .8em;
            /*width: 100%;*/ } }
  body.single-news main section.contents div.inner div.flex div.right div.single_content h2 {
    border-left: 5px solid #29abe2;
    color: #00234b;
    padding-top: 0;
    margin-top: 0;
    padding-left: 1.0rem;
    font-size: max(1.4583vw, 1.4rem); }
  body.single-news main section.contents div.inner div.flex div.right div.single_content h3 {
    border-bottom: 2px solid #d6ebfa;
    font-size: max(1.25vw, 1.25rem);
    padding: .5rem .75rem; }
  body.single-news main section.contents div.inner div.flex div.right div.single_content h4 {
    background: #d6ebfa;
    font-size: max(1.0416vw, 1rem);
    padding: .25rem .75rem; }
  body.single-news main section.contents div.inner div.flex div.right div.single_content h5 {
    padding: .5rem .5rem;
    border-bottom: 1px dashed #d6ebfa; }
  body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap {
    display: flex;
    justify-content: center; }
    body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap a {
      margin-right: .625rem;
      color: #fff;
      background: #00a99d;
      padding: 0 1.5rem 0 .75rem;
      border-radius: 2.5rem;
      width: 40px;
      height: 40px;
      line-height: 40px;
      font-size: 1.0rem;
      text-align: center; }
      @media screen and (max-width: 767px) {
        body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap a {
          margin-bottom: 10px; } }
      body.single-news main section.contents div.inner div.flex div.right div.nextprev_wrap a::before {
        display: none; }

/* -------------------------------- 
tax-news_list components 
--------------------------------- */
body.post-type-archive-news main div.page_title_wrap div.inner div.left div.ctg_wrap,
body.tax-news_list main div.page_title_wrap div.inner div.left div.ctg_wrap,
body.tax-service_list main div.page_title_wrap div.inner div.left div.ctg_wrap {
  /*display: flex;*/ }
  body.post-type-archive-news main div.page_title_wrap div.inner div.left div.ctg_wrap h1, body.post-type-archive-news main div.page_title_wrap div.inner div.left div.ctg_wrap h2,
  body.tax-news_list main div.page_title_wrap div.inner div.left div.ctg_wrap h1,
  body.tax-news_list main div.page_title_wrap div.inner div.left div.ctg_wrap h2,
  body.tax-service_list main div.page_title_wrap div.inner div.left div.ctg_wrap h1,
  body.tax-service_list main div.page_title_wrap div.inner div.left div.ctg_wrap h2 {
    display: inline-block; }
  body.post-type-archive-news main div.page_title_wrap div.inner div.left div.ctg_wrap h2,
  body.tax-news_list main div.page_title_wrap div.inner div.left div.ctg_wrap h2,
  body.tax-service_list main div.page_title_wrap div.inner div.left div.ctg_wrap h2 {
    font-size: 1.0rem; }

/* -------------------------------- 
service taxsonomy single components 
--------------------------------- */
body.post-type-archive-service main section.contents div.inner div.right ul.service_top li, body.single-service main section.contents div.inner div.right ul.service_top li, body.tax-service_list main section.contents div.inner div.right ul.service_top li {
  /*padding-bottom: 2.5rem;*/
  border-bottom: 1px solid #d7eeff; }
  body.post-type-archive-service main section.contents div.inner div.right ul.service_top li p.en_tit, body.single-service main section.contents div.inner div.right ul.service_top li p.en_tit, body.tax-service_list main section.contents div.inner div.right ul.service_top li p.en_tit {
    color: #1e4baa;
    font-family: din-condensed, sans-serif;
    font-size: max(1.3541vw, 1.1rem);
    letter-spacing: .005rem;
    margin-bottom: 0;
    margin-top: 1.5rem; }
  body.post-type-archive-service main section.contents div.inner div.right ul.service_top li p.title, body.single-service main section.contents div.inner div.right ul.service_top li p.title, body.tax-service_list main section.contents div.inner div.right ul.service_top li p.title {
    color: #00234b;
    font-size: max(1.5625vw, 1.25rem);
    font-weight: bold;
    margin-top: .5rem; }
  body.post-type-archive-service main section.contents div.inner div.right ul.service_top li div.flex_list, body.single-service main section.contents div.inner div.right ul.service_top li div.flex_list, body.tax-service_list main section.contents div.inner div.right ul.service_top li div.flex_list {
    display: flex;
    justify-content: space-between;
    gap: 0 2.5rem;
    margin-bottom: 2.0rem; }
    @media screen and (max-width: 767px) {
      body.post-type-archive-service main section.contents div.inner div.right ul.service_top li div.flex_list, body.single-service main section.contents div.inner div.right ul.service_top li div.flex_list, body.tax-service_list main section.contents div.inner div.right ul.service_top li div.flex_list {
        display: block; } }
    body.post-type-archive-service main section.contents div.inner div.right ul.service_top li div.flex_list div.img, body.single-service main section.contents div.inner div.right ul.service_top li div.flex_list div.img, body.tax-service_list main section.contents div.inner div.right ul.service_top li div.flex_list div.img {
      max-width: 340px;
      margin-bottom: 0; }
      @media screen and (max-width: 767px) {
        body.post-type-archive-service main section.contents div.inner div.right ul.service_top li div.flex_list div.img, body.single-service main section.contents div.inner div.right ul.service_top li div.flex_list div.img, body.tax-service_list main section.contents div.inner div.right ul.service_top li div.flex_list div.img {
          max-width: 100%;
          margin-bottom: 1.5rem; } }
    body.post-type-archive-service main section.contents div.inner div.right ul.service_top li div.flex_list div.com, body.single-service main section.contents div.inner div.right ul.service_top li div.flex_list div.com, body.tax-service_list main section.contents div.inner div.right ul.service_top li div.flex_list div.com {
      width: calc(100% - 340px);
      margin-bottom: 0;
      color: #00234b; }
      @media screen and (max-width: 767px) {
        body.post-type-archive-service main section.contents div.inner div.right ul.service_top li div.flex_list div.com, body.single-service main section.contents div.inner div.right ul.service_top li div.flex_list div.com, body.tax-service_list main section.contents div.inner div.right ul.service_top li div.flex_list div.com {
          width: 100%; } }
  body.post-type-archive-service main section.contents div.inner div.right ul.service_top li ul.bumon, body.single-service main section.contents div.inner div.right ul.service_top li ul.bumon, body.tax-service_list main section.contents div.inner div.right ul.service_top li ul.bumon {
    padding-bottom: 2.0rem; }
    body.post-type-archive-service main section.contents div.inner div.right ul.service_top li ul.bumon li, body.single-service main section.contents div.inner div.right ul.service_top li ul.bumon li, body.tax-service_list main section.contents div.inner div.right ul.service_top li ul.bumon li {
      display: inline-block;
      background: #fff;
      border: 1px solid #29abe2;
      border-radius: 2.0rem;
      font-size: .85rem;
      margin: .25rem 0;
      padding: .25rem 1.0rem; }
      @media screen and (max-width: 767px) {
        body.post-type-archive-service main section.contents div.inner div.right ul.service_top li ul.bumon li, body.single-service main section.contents div.inner div.right ul.service_top li ul.bumon li, body.tax-service_list main section.contents div.inner div.right ul.service_top li ul.bumon li {
          padding: .25rem .5rem; } }

body.single-service main section.contents {
  padding-top: 1.5rem; }
  body.single-service main section.contents div.inner div.right {
    background: none !important; }
    body.single-service main section.contents div.inner div.right ul.bumon {
      margin-bottom: 2.0rem; }
      body.single-service main section.contents div.inner div.right ul.bumon li {
        display: inline-block; }
        body.single-service main section.contents div.inner div.right ul.bumon li a {
          display: block;
          background: #fff;
          border: 1px solid #29abe2;
          border-radius: 2.0rem;
          font-size: .85rem;
          margin: .25rem 0;
          padding: .25rem 1.0rem; }
          @media screen and (max-width: 767px) {
            body.single-service main section.contents div.inner div.right ul.bumon li a {
              padding: .25rem .5rem; } }
    body.single-service main section.contents div.inner div.right div.single_title_wrap {
      color: #1e4baa;
      /*font-size: .65rem;*/ }
      body.single-service main section.contents div.inner div.right div.single_title_wrap h1 {
        /*font-size: max(1.5625vw, 1.25rem);*/
        margin: 0 0 3.65rem !important; }
        @media screen and (max-width: 767px) {
          body.single-service main section.contents div.inner div.right div.single_title_wrap h1 {
            margin: 0 0 2rem !important; } }
    body.single-service main section.contents div.inner div.right div.single_content h2 {
      color: #00234b !important; }
    body.single-service main section.contents div.inner div.right div.single_content h2#list-01, body.single-service main section.contents div.inner div.right div.single_content h2#list-02, body.single-service main section.contents div.inner div.right div.single_content h2#list-03, body.single-service main section.contents div.inner div.right div.single_content h2#list-04, body.single-service main section.contents div.inner div.right div.single_content h2#list-05, body.single-service main section.contents div.inner div.right div.single_content h2#list-06, body.single-service main section.contents div.inner div.right div.single_content h2#list-07, body.single-service main section.contents div.inner div.right div.single_content h2#list-08, body.single-service main section.contents div.inner div.right div.single_content h2#list-09, body.single-service main section.contents div.inner div.right div.single_content h2#list-10 {
      padding-top: 140px;
      margin-top: -140px;
      color: #1e4baa;
      font-weight: bold;
      font-size: max(1.5625vw, 1.25rem); }
    body.single-service main section.contents div.inner div.right div.single_content p.tit {
      color: #1e4baa;
      font-weight: bold;
      font-size: max(1.5625vw, 1.25rem); }
    body.single-service main section.contents div.inner div.right div.single_content ul.wp-block-list {
      padding: .5rem; }
      body.single-service main section.contents div.inner div.right div.single_content ul.wp-block-list li {
        padding: .25em 0 .25em .75em;
        border-bottom: 0;
        position: relative; }
        body.single-service main section.contents div.inner div.right div.single_content ul.wp-block-list li::before {
          content: "●";
          color: #1e4baa;
          position: absolute;
          left: -.5rem; }
    @media screen and (max-width: 767px) {
      body.single-service main section.contents div.inner div.right div.single_content :where(.wp-block-columns.is-layout-flex) {
        gap: .5rem; } }

/* -------------------------------- 
about components 
--------------------------------- */
body.about main section.contents {
  padding-bottom: 0; }
  body.about main section.contents div.inner div.single_content {
    padding-bottom: 0; }
    body.about main section.contents div.inner div.single_content p.rinen {
      background: linear-gradient(90deg, #005367 0%, #05948d 45%, #0c2c4c 70%, #088387 85%, #0b777c 90% 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      font-family: "Noto Serif JP", serif;
      font-size: max(1.666vw, 1.05rem) !important;
      font-weight: bold;
      margin: 5.0rem 0; }
      @media screen and (max-width: 767px) {
        body.about main section.contents div.inner div.single_content p.rinen {
          margin: 2.5rem 0;
          line-height: 2.5rem;
          letter-spacing: 0; } }
    body.about main section.contents div.inner div.single_content figure.kijyun table tr:first-of-type {
      border-top: 0 !important; }
    body.about main section.contents div.inner div.single_content figure.kijyun table td:first-child {
      color: #29abe2;
      font-weight: bold;
      font-size: 1.15rem;
      width: 10%; }
      @media screen and (max-width: 767px) {
        body.about main section.contents div.inner div.single_content figure.kijyun table td:first-child {
          font-size: 1.0rem;
          width: 15%; } }
    body.about main section.contents div.inner div.single_content figure.kijyun table td:nth-child(2) {
      font-family: "Noto Serif JP", serif;
      font-weight: bold;
      font-size: 1.25rem;
      width: 22%; }
      @media screen and (max-width: 767px) {
        body.about main section.contents div.inner div.single_content figure.kijyun table td:nth-child(2) {
          font-size: 1.1rem;
          width: 40%; } }
    body.about main section.contents div.inner div.single_content figure.kijyun table td:nth-child(3) {
      color: #9bb2ba;
      font-family: "Noto Serif JP", serif;
      font-size: .85rem; }
    body.about main section.contents div.inner div.single_content figure.kijyun table td {
      border-top: 0px;
      border-bottom: 1px solid #d6ebfa !important; }
    body.about main section.contents div.inner div.single_content div.message {
      position: relative; }
      body.about main section.contents div.inner div.single_content div.message:before {
        content: '';
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        background: no-repeat left bottom/80vh url(../img/bg_lineart.svg);
        width: 100%;
        height: 100%; }
        @media screen and (max-width: 767px) {
          body.about main section.contents div.inner div.single_content div.message:before {
            background: no-repeat left bottom/40vh url(../img/bg_lineart.svg); } }
      body.about main section.contents div.inner div.single_content div.message p {
        line-height: 2.0rem;
        position: relative;
        z-index: 1; }
      body.about main section.contents div.inner div.single_content div.message p.name {
        margin-top: 2.0rem;
        font-family: "Noto Serif JP", serif;
        font-size: max(1.3541vw, 1.2rem);
        font-weight: bold;
        margin-right: 1.5rem; }
        body.about main section.contents div.inner div.single_content div.message p.name span {
          font-family: "Noto Sans JP", sans-serif;
          font-size: .8rem; }
    body.about main section.contents div.inner div.single_content :where(.wp-block-columns) {
      margin-bottom: 0; }
    @media screen and (max-width: 767px) {
      body.about main section.contents div.inner div.single_content div.cover_wrap {
        padding: 2.5rem 1rem 1rem !important; } }

/* -------------------------------- 
company components 
--------------------------------- */
body.company main section.contents {
  padding-bottom: 0; }
  body.company main section.contents div.inner div.single_content {
    padding-bottom: 0; }
    body.company main section.contents div.inner div.single_content :where(.wp-block-columns) {
      margin-bottom: 0; }
      body.company main section.contents div.inner div.single_content :where(.wp-block-columns) figure.wk_style table td {
        padding-top: 1.0rem;
        padding-bottom: 1.0rem;
        vertical-align: top; }
        body.company main section.contents div.inner div.single_content :where(.wp-block-columns) figure.wk_style table td span {
          color: #1e4baa;
          font-size: .95rem;
          margin-left: -.25rem;
          margin-right: .25rem; }
          @media screen and (max-width: 767px) {
            body.company main section.contents div.inner div.single_content :where(.wp-block-columns) figure.wk_style table td span {
              font-size: .85rem; } }
        body.company main section.contents div.inner div.single_content :where(.wp-block-columns) figure.wk_style table td span.gr {
          color: #00a99d;
          margin-left: 0; }
      body.company main section.contents div.inner div.single_content :where(.wp-block-columns) figure.wk_style table td:first-child {
        color: #1e4baa;
        font-size: .95rem;
        width: 22%;
        border: 1px solid rgba(29, 72, 156, 0.5);
        border-left: none;
        border-right: none; }
        @media screen and (max-width: 767px) {
          body.company main section.contents div.inner div.single_content :where(.wp-block-columns) figure.wk_style table td:first-child {
            font-size: .85rem;
            width: 23%; } }
      body.company main section.contents div.inner div.single_content :where(.wp-block-columns) figure.wk_style table td:nth-child(2) {
        font-size: .95rem;
        border: 1px solid #d6ebfa;
        border-left: none;
        border-right: none;
        padding-left: 1.5rem; }
      @media screen and (max-width: 767px) {
        body.company main section.contents div.inner div.single_content :where(.wp-block-columns) :where(.wp-block-columns.is-layout-flex) {
          gap: 0; } }
    body.company main section.contents div.inner div.single_content div.gm_btn {
      margin-bottom: 5.0rem; }
      body.company main section.contents div.inner div.single_content div.gm_btn a {
        background-color: #fff;
        border: 1px solid #29abe2;
        color: #00234b;
        letter-spacing: 0; }
        body.company main section.contents div.inner div.single_content div.gm_btn a:hover {
          color: #00234b !important; }
      @media screen and (max-width: 767px) {
        body.company main section.contents div.inner div.single_content div.gm_btn {
          margin-bottom: 3.75rem; } }

/* -------------------------------- 
CSR components 
--------------------------------- */
body.csr main section.contents {
  padding-bottom: 0; }
  body.csr main section.contents div.inner div.single_content {
    padding-bottom: 0; }
    body.csr main section.contents div.inner div.single_content :where(.wp-block-columns) {
      margin-bottom: 0; }
    body.csr main section.contents div.inner div.single_content h2.wp-block-heading {
      font-size: max(1.77083vw, 1.5rem);
      border-bottom: solid 1px #d7eeff;
      position: relative;
      line-height: 3.0;
      margin-bottom: 2.5rem; }
      body.csr main section.contents div.inner div.single_content h2.wp-block-heading:after {
        position: absolute;
        content: " ";
        display: block;
        border-bottom: solid 1px #1e4baa;
        bottom: 0;
        width: 15%; }
      @media screen and (max-width: 767px) {
        body.csr main section.contents div.inner div.single_content h2.wp-block-heading {
          line-height: 1.6;
          padding-bottom: 1.0rem; } }
    body.csr main section.contents div.inner div.single_content p.box-tit {
      margin-left: 1.5rem; }
    body.csr main section.contents div.inner div.single_content span {
      color: #1e4baa;
      font-size: .95rem; }

/* -------------------------------- 
recruit(共通) components 
--------------------------------- */
body.recruit main section.contents, body.work main section.contents, body.job main section.contents, body.voice main section.contents, body.entry main section.contents, body.briefing main section.contents {
  padding-bottom: 0; }
  body.recruit main section.contents div.inner div.single_content, body.work main section.contents div.inner div.single_content, body.job main section.contents div.inner div.single_content, body.voice main section.contents div.inner div.single_content, body.entry main section.contents div.inner div.single_content, body.briefing main section.contents div.inner div.single_content {
    padding-bottom: 0 !important; }
    body.recruit main section.contents div.inner div.single_content :where(.wp-block-columns), body.work main section.contents div.inner div.single_content :where(.wp-block-columns), body.job main section.contents div.inner div.single_content :where(.wp-block-columns), body.voice main section.contents div.inner div.single_content :where(.wp-block-columns), body.entry main section.contents div.inner div.single_content :where(.wp-block-columns), body.briefing main section.contents div.inner div.single_content :where(.wp-block-columns) {
      margin-bottom: 0 !important; }
    body.recruit main section.contents div.inner div.single_content ul.recruit_menu, body.work main section.contents div.inner div.single_content ul.recruit_menu, body.job main section.contents div.inner div.single_content ul.recruit_menu, body.voice main section.contents div.inner div.single_content ul.recruit_menu, body.entry main section.contents div.inner div.single_content ul.recruit_menu, body.briefing main section.contents div.inner div.single_content ul.recruit_menu {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 2.0rem;
      list-style: none; }
      @media screen and (max-width: 767px) {
        body.recruit main section.contents div.inner div.single_content ul.recruit_menu, body.work main section.contents div.inner div.single_content ul.recruit_menu, body.job main section.contents div.inner div.single_content ul.recruit_menu, body.voice main section.contents div.inner div.single_content ul.recruit_menu, body.entry main section.contents div.inner div.single_content ul.recruit_menu, body.briefing main section.contents div.inner div.single_content ul.recruit_menu {
          grid-template-columns: 1fr 1fr;
          gap: 1.0rem;
          padding: 0; } }
      body.recruit main section.contents div.inner div.single_content ul.recruit_menu li, body.work main section.contents div.inner div.single_content ul.recruit_menu li, body.job main section.contents div.inner div.single_content ul.recruit_menu li, body.voice main section.contents div.inner div.single_content ul.recruit_menu li, body.entry main section.contents div.inner div.single_content ul.recruit_menu li, body.briefing main section.contents div.inner div.single_content ul.recruit_menu li {
        border-bottom: 1px solid #1e4baa;
        padding: 1.0rem 0; }
        body.recruit main section.contents div.inner div.single_content ul.recruit_menu li a, body.work main section.contents div.inner div.single_content ul.recruit_menu li a, body.job main section.contents div.inner div.single_content ul.recruit_menu li a, body.voice main section.contents div.inner div.single_content ul.recruit_menu li a, body.entry main section.contents div.inner div.single_content ul.recruit_menu li a, body.briefing main section.contents div.inner div.single_content ul.recruit_menu li a {
          color: #1e4baa;
          text-decoration: none;
          position: relative;
          display: block;
          font-size: max(1.14583vw, 1.1rem);
          /*font-weight: bold;*/ }
          body.recruit main section.contents div.inner div.single_content ul.recruit_menu li a:hover, body.work main section.contents div.inner div.single_content ul.recruit_menu li a:hover, body.job main section.contents div.inner div.single_content ul.recruit_menu li a:hover, body.voice main section.contents div.inner div.single_content ul.recruit_menu li a:hover, body.entry main section.contents div.inner div.single_content ul.recruit_menu li a:hover, body.briefing main section.contents div.inner div.single_content ul.recruit_menu li a:hover {
            color: #a9b7bc; }
            body.recruit main section.contents div.inner div.single_content ul.recruit_menu li a:hover::before, body.work main section.contents div.inner div.single_content ul.recruit_menu li a:hover::before, body.job main section.contents div.inner div.single_content ul.recruit_menu li a:hover::before, body.voice main section.contents div.inner div.single_content ul.recruit_menu li a:hover::before, body.entry main section.contents div.inner div.single_content ul.recruit_menu li a:hover::before, body.briefing main section.contents div.inner div.single_content ul.recruit_menu li a:hover::before {
              background-image: url("../img/arrow_hv-shita.svg"); }
          body.recruit main section.contents div.inner div.single_content ul.recruit_menu li a::before, body.work main section.contents div.inner div.single_content ul.recruit_menu li a::before, body.job main section.contents div.inner div.single_content ul.recruit_menu li a::before, body.voice main section.contents div.inner div.single_content ul.recruit_menu li a::before, body.entry main section.contents div.inner div.single_content ul.recruit_menu li a::before, body.briefing main section.contents div.inner div.single_content ul.recruit_menu li a::before {
            content: '';
            display: inline-block;
            background-image: url("../img/arrow_blueline.svg");
            background-size: contain;
            background-repeat: no-repeat;
            position: absolute;
            transition: .2s;
            width: 30px;
            height: 30px;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%); }
      body.recruit main section.contents div.inner div.single_content ul.recruit_menu li.current a:hover::before, body.work main section.contents div.inner div.single_content ul.recruit_menu li.current a:hover::before, body.job main section.contents div.inner div.single_content ul.recruit_menu li.current a:hover::before, body.voice main section.contents div.inner div.single_content ul.recruit_menu li.current a:hover::before, body.entry main section.contents div.inner div.single_content ul.recruit_menu li.current a:hover::before, body.briefing main section.contents div.inner div.single_content ul.recruit_menu li.current a:hover::before {
        background-image: url("../img/arrow_hv-shita.svg"); }
      body.recruit main section.contents div.inner div.single_content ul.recruit_menu li.current a::before, body.work main section.contents div.inner div.single_content ul.recruit_menu li.current a::before, body.job main section.contents div.inner div.single_content ul.recruit_menu li.current a::before, body.voice main section.contents div.inner div.single_content ul.recruit_menu li.current a::before, body.entry main section.contents div.inner div.single_content ul.recruit_menu li.current a::before, body.briefing main section.contents div.inner div.single_content ul.recruit_menu li.current a::before {
        background-image: url("../img/arrow_blue-shita.svg"); }
    body.recruit main section.contents div.inner div.single_content h2.tit_en, body.work main section.contents div.inner div.single_content h2.tit_en, body.job main section.contents div.inner div.single_content h2.tit_en, body.voice main section.contents div.inner div.single_content h2.tit_en, body.entry main section.contents div.inner div.single_content h2.tit_en, body.briefing main section.contents div.inner div.single_content h2.tit_en {
      font-size: max(3.75vw, 2rem);
      font-family: din-condensed, sans-serif;
      margin-bottom: 0; }
    body.recruit main section.contents div.inner div.single_content p.tit_jp, body.work main section.contents div.inner div.single_content p.tit_jp, body.job main section.contents div.inner div.single_content p.tit_jp, body.voice main section.contents div.inner div.single_content p.tit_jp, body.entry main section.contents div.inner div.single_content p.tit_jp, body.briefing main section.contents div.inner div.single_content p.tit_jp {
      color: #1e4baa;
      margin-top: 0; }

/* -------------------------------- 
recruit components
--------------------------------- */
body.recruit main section.contents {
  padding-bottom: 0; }
  body.recruit main section.contents div.inner div.single_content {
    padding-bottom: 0 !important; }
    body.recruit main section.contents div.inner div.single_content :where(.wp-block-columns) {
      margin-bottom: 0 !important; }
    body.recruit main section.contents div.inner div.single_content div.personal_wrap {
      justify-content: center;
      margin-top: 2.5rem; }
      @media screen and (max-width: 767px) {
        body.recruit main section.contents div.inner div.single_content div.personal_wrap {
          gap: .25rem; } }
      body.recruit main section.contents div.inner div.single_content div.personal_wrap div {
        display: inline-block;
        max-width: 200px;
        max-height: 200px;
        border-radius: 50%;
        /*background: skyblue;*/
        text-align: center;
        line-height: 200px; }
        @media screen and (max-width: 767px) {
          body.recruit main section.contents div.inner div.single_content div.personal_wrap div {
            max-width: 100px;
            max-height: 100px;
            line-height: 100px; } }
        body.recruit main section.contents div.inner div.single_content div.personal_wrap div p {
          margin: 0;
          padding: 0;
          color: #fff; }
          @media screen and (max-width: 767px) {
            body.recruit main section.contents div.inner div.single_content div.personal_wrap div p {
              font-size: .9rem; } }
      body.recruit main section.contents div.inner div.single_content div.personal_wrap div.ps_01 {
        background-image: linear-gradient(90deg, #1a77bd, #2987c8); }
      body.recruit main section.contents div.inner div.single_content div.personal_wrap div.ps_02 {
        background-image: linear-gradient(90deg, #3391ce, #4dafd4); }
      body.recruit main section.contents div.inner div.single_content div.personal_wrap div.ps_03 {
        background-image: linear-gradient(90deg, #4db4ce, #4dc7b5); }
    body.recruit main section.contents div.inner div.single_content div.bg_b {
      color: #fff;
      position: relative;
      left: -3.75rem;
      margin-top: 3.65rem;
      margin-bottom: 8.0rem;
      /*overflow: hidden;*/ }
      @media screen and (max-width: 767px) {
        body.recruit main section.contents div.inner div.single_content div.bg_b {
          left: 0;
          margin-bottom: 12.0rem; } }
      body.recruit main section.contents div.inner div.single_content div.bg_b::before {
        content: '';
        background: url("../img/bgsc_line.svg") no-repeat top left/contain;
        width: 90vw;
        height: 90vh;
        z-index: 0;
        top: -4.0rem;
        left: 0;
        position: absolute;
        z-index: 0; }
        @media screen and (max-width: 767px) {
          body.recruit main section.contents div.inner div.single_content div.bg_b::before {
            top: 0;
            width: 200vw;
            height: 100vh; } }
      body.recruit main section.contents div.inner div.single_content div.bg_b div.ws_text {
        padding-left: 3.75rem;
        z-index: 1; }
        @media screen and (max-width: 767px) {
          body.recruit main section.contents div.inner div.single_content div.bg_b div.ws_text {
            padding-left: 0; } }
      body.recruit main section.contents div.inner div.single_content div.bg_b h2 {
        color: #fff !important;
        font-size: max(3.75vw, 3rem);
        font-family: din-condensed, sans-serif;
        margin-bottom: 0; }
      body.recruit main section.contents div.inner div.single_content div.bg_b p.tit_jp {
        margin-top: 0;
        color: #fff; }
      body.recruit main section.contents div.inner div.single_content div.bg_b figure.ws_ph {
        position: absolute;
        right: 0;
        margin-right: -3.75rem;
        max-width: 50%;
        z-index: 1; }
        @media screen and (max-width: 767px) {
          body.recruit main section.contents div.inner div.single_content div.bg_b figure.ws_ph {
            padding: 0 1.0rem;
            margin-right: 0;
            max-width: 100%; } }
        body.recruit main section.contents div.inner div.single_content div.bg_b figure.ws_ph img {
          right: 0;
          overflow: visible !important; }
      body.recruit main section.contents div.inner div.single_content div.bg_b p.btn-link a {
        color: #fff;
        text-decoration: none;
        position: relative;
        padding: 0 0 0 3.0em;
        font-size: .95rem; }
        body.recruit main section.contents div.inner div.single_content div.bg_b p.btn-link a:hover::before {
          background-image: url("../img/arrow_shiromaru.svg"); }
        body.recruit main section.contents div.inner div.single_content div.bg_b p.btn-link a::before {
          content: '';
          display: inline-block;
          background-image: url("../img/arrow_shiroline.svg");
          background-size: contain;
          background-repeat: no-repeat;
          position: absolute;
          transition: .2s;
          width: 30px;
          height: 30px;
          left: 0;
          top: 50%;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%); }
    body.recruit main section.contents div.inner div.single_content p.btn-link {
      margin-top: 2.5rem; }
      body.recruit main section.contents div.inner div.single_content p.btn-link a {
        color: #1e4baa;
        text-decoration: none;
        position: relative;
        padding: 0 0 0 3.0em;
        font-size: .95rem; }
        body.recruit main section.contents div.inner div.single_content p.btn-link a:hover {
          color: #a9b7bc; }
          body.recruit main section.contents div.inner div.single_content p.btn-link a:hover::before {
            background-image: url("../img/arrow_blue-hv.svg"); }
        body.recruit main section.contents div.inner div.single_content p.btn-link a::before {
          content: '';
          display: inline-block;
          background-image: url("../img/arrow_blue.svg");
          background-size: contain;
          background-repeat: no-repeat;
          position: absolute;
          transition: .2s;
          width: 30px;
          height: 30px;
          left: 0;
          top: 50%;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%); }
    body.recruit main section.contents div.inner div.single_content .btn-link:hover {
      text-decoration: none !important; }

/* -------------------------------- 
work components
--------------------------------- */
body.work main section.contents {
  padding-bottom: 0; }
  body.work main section.contents div.inner div.single_content {
    padding-bottom: 0 !important; }
    body.work main section.contents div.inner div.single_content :where(.wp-block-columns) {
      margin-bottom: 0 !important; }
    @media screen and (max-width: 767px) {
      body.work main section.contents div.inner div.single_content :where(.wp-block-columns.has-background) {
        padding: 1.25em 1.5em; } }
    body.work main section.contents div.inner div.single_content div.work_wrap {
      position: relative; }
      body.work main section.contents div.inner div.single_content div.work_wrap p.number {
        position: absolute;
        top: -2.5rem; }
        @media screen and (max-width: 767px) {
          body.work main section.contents div.inner div.single_content div.work_wrap p.number {
            top: -2.0rem; } }
        body.work main section.contents div.inner div.single_content div.work_wrap p.number span {
          background: #1e4baa;
          color: #fff;
          padding: 1.0rem;
          font-size: 2.0rem;
          font-family: din-condensed, sans-serif; }
          @media screen and (max-width: 767px) {
            body.work main section.contents div.inner div.single_content div.work_wrap p.number span {
              padding: .75rem;
              font-size: 1.5rem; } }
      body.work main section.contents div.inner div.single_content div.work_wrap h2 {
        padding-top: 0;
        margin-top: 3.0rem; }
        @media screen and (max-width: 767px) {
          body.work main section.contents div.inner div.single_content div.work_wrap h2 {
            margin-top: 1.5rem; } }
      body.work main section.contents div.inner div.single_content div.work_wrap img {
        margin-top: 3.0rem; }
        @media screen and (max-width: 767px) {
          body.work main section.contents div.inner div.single_content div.work_wrap img {
            margin-top: 0; } }
      @media screen and (max-width: 767px) {
        body.work main section.contents div.inner div.single_content div.work_wrap ul, body.work main section.contents div.inner div.single_content div.work_wrap ol {
          padding-left: 1.5rem; } }

/* -------------------------------- 
job components
--------------------------------- */
body.job main section.contents {
  padding-bottom: 0; }
  body.job main section.contents div.inner div.single_content {
    padding-bottom: 0 !important; }
    body.job main section.contents div.inner div.single_content :where(.wp-block-columns) {
      margin-bottom: 0 !important; }
    body.job main section.contents div.inner div.single_content div.bg_b {
      background: url("../img/recruit/bg_job.jpg") no-repeat top left/cover;
      color: #fff;
      position: relative;
      padding-bottom: 3.65rem;
      /*overflow: hidden;*/
      /*&::before {
      	content: '';
      	background: url("../img/db_line.svg") no-repeat top left / cover;
      	width: 100vw;
      	height: 100vh;
      	z-index: 0;
      	top: 0;
      	left: 0;
      	position: absolute;
      	z-index: 0;
      }*/
      color: #fff; }
      body.job main section.contents div.inner div.single_content div.bg_b h2 {
        background: #FFF;
        display: inline-block;
        padding-top: 0;
        margin-top: 0;
        min-width: 340px;
        min-height: 100px;
        line-height: 100px;
        text-align: center;
        position: relative;
        z-index: 1; }
        @media screen and (max-width: 767px) {
          body.job main section.contents div.inner div.single_content div.bg_b h2 {
            min-width: 320px;
            min-height: 60px;
            line-height: 60px; } }
      body.job main section.contents div.inner div.single_content div.bg_b ul.con_list {
        list-style: none;
        padding-left: .75rem; }
        body.job main section.contents div.inner div.single_content div.bg_b ul.con_list li {
          position: relative;
          padding-left: .75rem;
          margin-bottom: .75rem;
          font-size: 1.0rem; }
          body.job main section.contents div.inner div.single_content div.bg_b ul.con_list li::before {
            content: "●";
            color: #00a99d;
            position: absolute;
            left: -.5rem;
            font-size: .9rem;
            top: .15rem;
            /*transform: translateY(-50%);*/ }
      body.job main section.contents div.inner div.single_content div.bg_b figure {
        position: relative;
        z-index: 1; }
    body.job main section.contents div.inner div.single_content h2.yoko-tit {
      background: #00234b;
      color: #fff;
      min-height: 90px;
      line-height: 90px;
      padding-top: 0;
      margin-top: -2.5rem;
      position: relative;
      z-index: 1; }
    body.job main section.contents div.inner div.single_content div.yoko_wrap {
      background: #fff;
      border-radius: 1.5rem;
      padding: 2.5rem; }
      @media screen and (max-width: 767px) {
        body.job main section.contents div.inner div.single_content div.yoko_wrap {
          padding: 1.5rem; } }
      body.job main section.contents div.inner div.single_content div.yoko_wrap figure.yoko_style table td {
        padding-top: 1.0rem;
        padding-bottom: 1.0rem;
        vertical-align: top; }
        body.job main section.contents div.inner div.single_content div.yoko_wrap figure.yoko_style table td span {
          color: #1e4baa;
          font-size: .95rem;
          margin-left: -.25rem;
          margin-right: .25rem; }
        body.job main section.contents div.inner div.single_content div.yoko_wrap figure.yoko_style table td span.gr {
          color: #00a99d;
          margin-left: 0; }
      body.job main section.contents div.inner div.single_content div.yoko_wrap figure.yoko_style table td:first-child {
        color: #1e4baa;
        font-size: .95rem;
        width: 22%;
        border: 1px solid rgba(29, 72, 156, 0.5);
        border-left: none;
        border-right: none; }
      body.job main section.contents div.inner div.single_content div.yoko_wrap figure.yoko_style table td:nth-child(2) {
        font-size: .95rem;
        border: 1px solid #d6ebfa;
        border-left: none;
        border-right: none;
        padding-left: 1.5rem; }

/* -------------------------------- 
voice components
--------------------------------- */
body.voice main section.contents {
  padding-bottom: 0; }
  body.voice main section.contents div.inner div.single_content {
    padding-bottom: 0 !important; }
    body.voice main section.contents div.inner div.single_content :where(.wp-block-columns) {
      margin-bottom: 0 !important; }
    body.voice main section.contents div.inner div.single_content div.voice_wrap {
      background: #cceeeb;
      border-radius: 1.5rem;
      padding: 2.5rem; }
      @media screen and (max-width: 767px) {
        body.voice main section.contents div.inner div.single_content div.voice_wrap {
          padding: 1.5rem; } }
      @media screen and (max-width: 767px) {
        body.voice main section.contents div.inner div.single_content div.voice_wrap :where(.wp-block-columns.is-layout-flex) {
          gap: .5em; } }
      body.voice main section.contents div.inner div.single_content div.voice_wrap .accordion {
        margin-bottom: 0; }
      body.voice main section.contents div.inner div.single_content div.voice_wrap .accordion-title {
        pointer-events: all;
        cursor: pointer;
        position: relative;
        /*padding-left: 1.0rem;*/ }
        body.voice main section.contents div.inner div.single_content div.voice_wrap .accordion-title p.penname {
          color: #00a99d; }
          @media screen and (max-width: 767px) {
            body.voice main section.contents div.inner div.single_content div.voice_wrap .accordion-title p.penname {
              margin: .25rem; } }
        body.voice main section.contents div.inner div.single_content div.voice_wrap .accordion-title h2 {
          padding-top: 0;
          margin-top: 0; }
          @media screen and (max-width: 767px) {
            body.voice main section.contents div.inner div.single_content div.voice_wrap .accordion-title h2 {
              margin-bottom: 0; } }
        @media screen and (max-width: 767px) {
          body.voice main section.contents div.inner div.single_content div.voice_wrap .accordion-title p {
            margin: .25rem; } }
        body.voice main section.contents div.inner div.single_content div.voice_wrap .accordion-title span {
          color: #00a99d;
          margin-left: 2.0rem; }
          @media screen and (max-width: 767px) {
            body.voice main section.contents div.inner div.single_content div.voice_wrap .accordion-title span {
              margin-left: 0; } }
      body.voice main section.contents div.inner div.single_content div.voice_wrap .accordion-title:before {
        display: block;
        font-family: "Font Awesome 5 Free";
        /*font-weight: bold;*/
        font-weight: normal;
        position: absolute;
        right: 1.5rem;
        content: "＋" !important;
        /*content: "\2b" !important;*/
        font-size: 2.0em;
        top: 50%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        color: #fff;
        z-index: 1; }
        @media screen and (max-width: 767px) {
          body.voice main section.contents div.inner div.single_content div.voice_wrap .accordion-title:before {
            font-size: 1.0em;
            right: .4rem; } }
      body.voice main section.contents div.inner div.single_content div.voice_wrap .accordion-title:after {
        display: block;
        font-family: "Font Awesome 5 Free";
        /*font-weight: bold;*/
        font-weight: normal;
        position: absolute;
        right: 1.0em;
        content: "" !important;
        /*content: "\2b" !important;*/
        top: 50%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        width: 51px;
        height: 51px;
        background: #a3e0db;
        border-radius: 50%; }
        @media screen and (max-width: 767px) {
          body.voice main section.contents div.inner div.single_content div.voice_wrap .accordion-title:after {
            right: 0;
            width: 32px;
            height: 32px; } }
      body.voice main section.contents div.inner div.single_content div.voice_wrap .accordion-title.accordion-open:before {
        /*font-weight: bold;*/
        font-size: 2.0em;
        content: "－" !important;
        /*content: "\f068" !important;*/ }
        @media screen and (max-width: 767px) {
          body.voice main section.contents div.inner div.single_content div.voice_wrap .accordion-title.accordion-open:before {
            font-size: 1.0em; } }
      body.voice main section.contents div.inner div.single_content div.voice_wrap .accordion-content {
        display: none;
        padding: 0 1.0rem; }
        @media screen and (max-width: 767px) {
          body.voice main section.contents div.inner div.single_content div.voice_wrap .accordion-content {
            padding: 0; } }
        body.voice main section.contents div.inner div.single_content div.voice_wrap .accordion-content h3 {
          color: #00a99d;
          margin: 2.0rem 0 1.0rem; }
        body.voice main section.contents div.inner div.single_content div.voice_wrap .accordion-content p {
          margin: 1.0rem 0; }
          body.voice main section.contents div.inner div.single_content div.voice_wrap .accordion-content p span {
            background: linear-gradient(transparent 60%, rgba(255, 255, 0, 0.5) 60%); }

/* -------------------------------- 
entry components
--------------------------------- */
body.entry main section.contents {
  padding-bottom: 0; }
  body.entry main section.contents div.inner div.single_content {
    padding-bottom: 0 !important; }
    body.entry main section.contents div.inner div.single_content :where(.wp-block-columns) {
      margin-bottom: 0 !important; }

/* -------------------------------- 
briefing components
--------------------------------- */
body.briefing main section.contents {
  padding-bottom: 0; }
  body.briefing main section.contents div.inner div.single_content {
    padding-bottom: 0 !important; }
    body.briefing main section.contents div.inner div.single_content :where(.wp-block-columns) {
      margin-bottom: 0 !important; }

/* -------------------------------- 
privacy components 
--------------------------------- */
body.privacypolicy main section.contents {
  padding-bottom: 0; }
  body.privacypolicy main section.contents div.inner div.single_content div.privacy_wrap {
    background: #fff;
    border-radius: 1.5rem;
    padding: 2.5rem; }
    @media screen and (max-width: 767px) {
      body.privacypolicy main section.contents div.inner div.single_content div.privacy_wrap {
        padding: 1.5rem; } }
    body.privacypolicy main section.contents div.inner div.single_content div.privacy_wrap h2 {
      color: #00a99d;
      font-size: max(1.25vw, 1.05rem);
      margin-top: 0;
      padding-top: 0; }
    body.privacypolicy main section.contents div.inner div.single_content div.privacy_wrap ul.pp_list {
      list-style: none;
      padding-left: .75rem; }
      body.privacypolicy main section.contents div.inner div.single_content div.privacy_wrap ul.pp_list li {
        position: relative;
        padding-left: .75rem; }
        body.privacypolicy main section.contents div.inner div.single_content div.privacy_wrap ul.pp_list li::before {
          content: "●";
          color: #00a99d;
          position: absolute;
          left: -.5rem;
          font-size: .9rem;
          top: 50%;
          transform: translateY(-50%); }

/* -------------------------------- 
404 components 
--------------------------------- */
body.error404 p.error-404__text {
  margin-bottom: 6.25rem;
  text-align: center; }
body.error404 div.bth-wrap {
  text-align: center; }

/* -------------------------------- 
form components
--------------------------------- */
div.form-wrap {
  background: #fff;
  border-radius: 1.5rem;
  padding: 2.5rem;
  /*---- reset ----*/
  /*ie hack*/
  /* text */
  /*ie hack*/
  /* password */
  /*---- オリジナル設定 ----*/ }
  div.form-wrap span.p-country-name {
    display: none; }
  @media screen and (max-width: 767px) {
    div.form-wrap {
      padding: 1.5rem; } }
  div.form-wrap input[type="text"], div.form-wrap input[type="number"], div.form-wrap input[type="tel"], div.form-wrap input[type="email"], div.form-wrap button, div.form-wrap textarea, div.form-wrap select, div.form-wrap input[type="file"] {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }
  div.form-wrap input::-ms-clear {
    visibility: hidden; }
  div.form-wrap input::-ms-reveal {
    visibility: hidden; }
  div.form-wrap input[type="text"], div.form-wrap input[type="number"], div.form-wrap input[type="tel"], div.form-wrap input[type="email"], div.form-wrap textarea {
    outline: none;
    width: 100%;
    padding: .75em;
    border: 1px solid #eef1f2;
    border-radius: 8px;
    transition: .3s;
    margin: .5rem 0;
    background: #eef1f2; }
  div.form-wrap textarea {
    /*height: 100%;*/ }
  div.form-wrap input[type="text"]:focus, div.form-wrap input[type="number"]:focus, div.form-wrap input[type="tel"]:focus, div.form-wrap input[type="email"]:focus, div.form-wrap textarea:focus {
    box-shadow: 0 0 6px #ccc;
    border: 1px solid #ccc;
    background: #fff; }
  div.form-wrap input[type="submit"], div.form-wrap input[type="button"] {
    position: relative;
    display: inline-block;
    margin: 8px 0;
    padding: 1.5em 2em;
    min-width: 280px;
    color: #fff;
    font-size: .9em;
    font-weight: bold;
    text-align: center;
    background: #00a99d;
    border: 2px solid #00a99d;
    border-radius: 100px;
    cursor: pointer;
    transition: .2s; }
    div.form-wrap input[type="submit"]:hover, div.form-wrap input[type="button"]:hover {
      color: #00a99d;
      background: #fff;
      transition: .2s; }
  div.form-wrap input[type="submit"]:disabled {
    cursor: default;
    opacity: .7; }
  div.form-wrap input[type="submit"]:disabled:hover {
    background-color: #00a99d; }
  div.form-wrap input[type="text"].p-postal-code {
    max-width: 12em; }
  div.form-wrap .mw_wp_form .error {
    margin: 4px 0;
    font-size: .9em;
    color: crimson; }
  div.form-wrap span.red {
    color: crimson; }
  div.form-wrap span.gr {
    color: #00a99d; }
  div.form-wrap p.form-wrap__hissu {
    color: #00a99d; }
    @media screen and (max-width: 768px) {
      div.form-wrap p.form-wrap__hissu {
        font-size: .9em;
        letter-spacing: .05em; } }
  div.form-wrap p.privacy {
    margin: 2.5rem 0 1.5rem;
    text-align: center; }
  div.form-wrap div.form-wrap__flex {
    display: flex;
    justify-content: space-between;
    padding: .75em .5em;
    /*border-bottom: 1px dotted #ccc;*/ }
    div.form-wrap div.form-wrap__flex.top {
      /*border-top: 1px dotted #ccc;*/ }
    @media screen and (max-width: 768px) {
      div.form-wrap div.form-wrap__flex {
        font-size: .9em;
        letter-spacing: .05em; } }
    @media screen and (max-width: 767px) {
      div.form-wrap div.form-wrap__flex {
        display: block; } }
    div.form-wrap div.form-wrap__flex div.left {
      flex-basis: 250px;
      width: 250px;
      padding-top: 4px;
      padding-bottom: 1.5rem;
      color: #1e4baa;
      border-bottom: 1px solid rgba(29, 72, 156, 0.5); }
      @media screen and (max-width: 767px) {
        div.form-wrap div.form-wrap__flex div.left {
          padding-bottom: 1.0rem; } }
      div.form-wrap div.form-wrap__flex div.left p {
        margin: 8px 0; }
        div.form-wrap div.form-wrap__flex div.left p span.red {
          margin-left: .8em; }
      @media screen and (max-width: 768px) {
        div.form-wrap div.form-wrap__flex div.left {
          flex-basis: 160px;
          width: 160px; } }
      @media screen and (max-width: 768px) {
        div.form-wrap div.form-wrap__flex div.left {
          flex-basis: 100%;
          width: 100%;
          /*font-weight: bold;
          color: #003087;*/ } }
    div.form-wrap div.form-wrap__flex div.right {
      flex-basis: calc(100% - 250px);
      width: calc(100% - 250px);
      border-bottom: 1px solid #d7eeff;
      padding-bottom: 1.5rem; }
      @media screen and (max-width: 768px) {
        div.form-wrap div.form-wrap__flex div.right {
          flex-basis: calc(100% - 160px);
          width: calc(100% - 160px); } }
      @media screen and (max-width: 768px) {
        div.form-wrap div.form-wrap__flex div.right {
          flex-basis: 100%;
          width: 100%;
          padding-top: 0.75rem; } }
      div.form-wrap div.form-wrap__flex div.right span.p {
        display: block;
        margin-top: 4px;
        font-size: .9em; }
      div.form-wrap div.form-wrap__flex div.right p:empty:before {
        content: none; }
      div.form-wrap div.form-wrap__flex div.right .innerflex {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1em; }
      div.form-wrap div.form-wrap__flex div.right .imgattached {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 0;
        position: relative; }
      div.form-wrap div.form-wrap__flex div.right .imgattached input[type=file] {
        display: none !important; }
      div.form-wrap div.form-wrap__flex div.right .imgattached label {
        background: #eef1f2;
        border: 2px solid #eef1f2;
        /*box-shadow: 2px 2px 0px #cccccc;*/
        border-radius: 8px;
        padding: 10px 2.0rem;
        cursor: pointer;
        text-align: center;
        /*background-image: url(../images/contact/icon-camera.svg), url(../images/contact/icon-plus.svg);*/
        background-repeat: no-repeat;
        background-position: left 20px center, right 20px center;
        background-size: 29px auto, 12px auto;
        color: #333;
        font-size: .95rem;
        letter-spacing: .05rem; }
        div.form-wrap div.form-wrap__flex div.right .imgattached label:hover {
          background: #fff; }
      div.form-wrap div.form-wrap__flex div.right .imgattached label .mwform-file-delete {
        display: none; }
      div.form-wrap div.form-wrap__flex div.right .imgattached__status {
        color: #999999;
        font-size: .9rem; }
      div.form-wrap div.form-wrap__flex div.right .imgattached__delete {
        background: url("../img/recruit/btn-delete.svg") no-repeat center/cover;
        position: absolute;
        right: 0;
        display: block;
        width: 74px;
        height: 37px;
        display: none;
        cursor: pointer; }
  div.form-wrap div.form-wrap__btn {
    margin-top: 20px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      div.form-wrap div.form-wrap__btn {
        text-align: left; } }

/*error*/
div.mw_wp_form {
  margin-top: -110px;
  padding-top: 110px; }

/*recaptcha*/
p.recaptcha_policy {
  padding-bottom: 1em;
  font-size: .8em;
  border-bottom: 1px dotted #ccc; }

/*
div.grecaptcha-badge {
    visibility: hidden;
}
*/
/* -------------------------------- 
fadeup
--------------------------------- */
.js-fadeUp1 {
  opacity: 0;
  /* 最初は非表示 */
  transform: translateY(28px);
  /* 下に30pxの位置から */
  transition: opacity .8s, transform .8s;
  /* 透過率と縦方向の移動を0.8秒 */ }

/* フェードイン(スクロールした後) */
.js-fadeUp1.is-inview {
  opacity: 1;
  /* 表示領域に入ったら表示 */
  transform: translateY(0);
  /* 30px上に移動する */
  transition-delay: .4s;
  /* フェード開始を0.5秒遅らせる */ }

.js-fadeUp2 {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .8s, transform .8s; }

.js-fadeUp2.is-inview {
  opacity: 1;
  transform: translateY(0);
  transition-delay: .6s; }

.js-fadeUp3 {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .8s, transform .8s; }

.js-fadeUp3.is-inview {
  opacity: 1;
  transform: translateY(0);
  transition-delay: .8s; }

/*left*/
.js-fadeLeft1 {
  opacity: 0;
  transform: translateX(28px);
  transition: opacity .8s, transform .8s; }

.js-fadeLeft1.is-inview {
  opacity: 1;
  transform: translateX(0);
  transition-delay: .4s; }

.js-fadeLeft2 {
  opacity: 0;
  transform: translateX(28px);
  transition: opacity .8s, transform .8s; }

.js-fadeLeft2.is-inview {
  opacity: 1;
  transform: translateX(0);
  transition-delay: .5s; }

.js-fadeLeft3 {
  opacity: 0;
  transform: translateX(28px);
  transition: opacity .8s, transform .8s; }

.js-fadeLeft3.is-inview {
  opacity: 1;
  transform: translateX(0);
  transition-delay: .6s; }

@media screen and (max-width: 767px) {
  .js-fadeUp1.is-inview {
    transition-delay: .4s; }

  .js-fadeUp2.is-inview {
    transition-delay: .4s; }

  .js-fadeUp3.is-inview {
    transition-delay: .4s; }

  /*left*/
  .js-fadeLeft1.is-inview {
    transition-delay: .4s; }

  .js-fadeLeft2.is-inview {
    transition-delay: .4s; }

  .js-fadeLeft3.is-inview {
    transition-delay: .4s; } }
/* -------------------------------- 
cookie
--------------------------------- */
.cky-consent-container .cky-consent-bar {
  background: rgba(0, 10, 50, 0.8) !important;
  border-color: rgba(0, 10, 50, 0.8) !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border-radius: 0 !important; }
  .cky-consent-container .cky-consent-bar .cky-banner-btn-close {
    top: 15px;
    right: 15px; }
    .cky-consent-container .cky-consent-bar .cky-banner-btn-close img {
      width: 15px;
      height: 15px; }

#loading {
  width: 100%;
  position: fixed;
  height: 100vh;
  background: #1e4baa;
  z-index: 99999;
  display: flex;
  justify-content: center;
  align-items: center; }
  #loading div.loading_wrap {
    display: flex;
    flex-direction: column;
    justify-content: center; }
    #loading div.loading_wrap div.img {
      display: flex;
      justify-content: center; }
      #loading div.loading_wrap div.img #loading_img {
        width: 100px;
        animation: svg 1.5s ease-in both; }
        @media screen and (max-width: 767px) {
          #loading div.loading_wrap div.img #loading_img {
            width: 80px; } }
@keyframes svg {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
    #loading div.loading_wrap div.text p.loading-text {
      color: #fff;
      font-family: "Roboto", sans-serif;
      font-weight: bold;
      /*font-family: din-condensed, sans-serif;*/
      /*font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', '游ゴシック Medium', YuGothic, YuGothicM, 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo, sans-serif;*/
      font-size: 1.5rem;
      text-transform: uppercase;
      margin: .25rem 0; }
      #loading div.loading_wrap div.text p.loading-text svg {
        display: inline-block;
        font-size: 1.0rem;
        animation: rotate 1s infinite linear;
        transform: rotate(0);
        fill: #fff; }
      #loading div.loading_wrap div.text p.loading-text svg path {
        fill: #fff; }
@keyframes rotate {
  100% {
    transform: rotate(360deg); } }
