@charset "UTF-8";
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  font-weight: normal;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

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

ol,
ul,
li {
  list-style: none; }

blockquote,
q {
  quotes: none; }

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

/* change border colour to suit your needs 
*/
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input,
select {
  vertical-align: middle; }

img,
iframe {
  vertical-align: bottom; }

th {
  text-align: left; }

/* a:hover{
	opacity: 0.7;
} */
/* ////////////////////////////////////////
PC
//////////////////////////////////////// */
/* ////////////////////////////////////////
PC
//////////////////////////////////////// */
/* ////////////////////////////////////////
SP
//////////////////////////////////////// */
@media screen and (max-width: 768px) {
  html {
    font-size: 62.5%; }

  body,
  div,
  span,
  object,
  iframe,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  blockquote,
  pre,
  abbr,
  address,
  cite,
  code,
  del,
  dfn,
  em,
  img,
  ins,
  kbd,
  q,
  samp,
  small,
  strong,
  sub,
  sup,
  var,
  b,
  i,
  dl,
  dt,
  dd,
  ol,
  ul,
  li,
  fieldset,
  form,
  label,
  legend,
  table,
  caption,
  tbody,
  tfoot,
  thead,
  tr,
  th,
  td,
  article,
  aside,
  canvas,
  details,
  figcaption,
  figure,
  footer,
  header,
  hgroup,
  menu,
  nav,
  section,
  summary,
  time,
  mark,
  audio,
  video {
    /*font-weight: bold;*/ } }
/* ////////////////////////////////////////
SP
//////////////////////////////////////// */
/*---------------------------------------------
media query
----------------------------------------------*/
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  letter-spacing: 0em;
  color: #000; }

html {
  color: #444;
  font-family: 'Noto Sans JP', sans-serif, Arial, Helvetica, 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'HiraKakuPro-W3', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-size: 62.5%; }

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

/**
 * header
 */
header {
  max-width: 1300px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative; }

/**ハンバーガーボタン**/
.bl_humburger {
  position: fixed;
  top: 85px;
  width: 110px;
  height: auto;
  z-index: 10000;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
  pointer-events: auto;
  margin-top: 0;
  margin-left: 86px; }
  @media screen and (max-width: 768px) {
    .bl_humburger {
      margin-top: 25px;
      margin-left: 10px;
      width: 50px;
      top: 0; } }

.bl_humburger > span {
  display: block;
  width: 100%;
  margin: 0 0 24px;
  height: 2px;
  background: #000;
  transition: all 0.2s ease-in-out; }
  @media screen and (max-width: 768px) {
    .bl_humburger > span {
      margin: 0 0 14px; } }

.bl_humburger.is_active > span:first-of-type {
  width: 100%;
  transform: translateY(28px) rotate(-45deg); }
  @media screen and (max-width: 768px) {
    .bl_humburger.is_active > span:first-of-type {
      transform: translateY(7px) rotate(-45deg); } }
.bl_humburger > span:nth-of-type(2) {
  width: 62%; }
.bl_humburger.is_active > span:nth-of-type(2) {
  opacity: 0; }
.bl_humburger > span:last-of-type {
  width: 81%;
  margin-bottom: 0; }
.bl_humburger.is_active > span:last-of-type {
  width: 100%;
  transform: translateY(-26px) rotate(45deg); }

.ly_gnav {
  position: fixed;
  top: 61px;
  width: 363px;
  margin-left: 237px;
  transform: translateX(-100vw);
  transition: all .5s ease;
  z-index: 1000; }
  @media screen and (max-width: 768px) {
    .ly_gnav {
      left: 0;
      right: 0;
      width: 96vw;
      max-width: 400px;
      margin-left: 3vw;
      margin-right: auto; } }
  @media screen and (max-width: 420px) {
    .ly_gnav {
      margin: 0 auto; } }
  .ly_gnav.is_open {
    transform: translateX(0); }

.bl_gnavCon {
  border: 2px solid #000;
  background: rgba(255, 255, 255, 0.9);
  opacity: 0;
  transition: all .5s ease; }
  .bl_gnavCon .bl_gnavItem {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 22px;
    padding-right: 3px;
    transition: all .5s ease; }
    @media screen and (max-width: 768px) {
      .bl_gnavCon .bl_gnavItem {
        padding-left: 2vw; } }
    .bl_gnavCon .bl_gnavItem:first-of-type {
      padding-top: 19px; }
    .bl_gnavCon .bl_gnavItem:last-of-type {
      padding-bottom: 9px; }
    .bl_gnavCon .bl_gnavItem:hover {
      background: #000; }
    .bl_gnavCon .bl_gnavItem:hover .el_gnavItemEn {
      color: #fff; }
    .bl_gnavCon .bl_gnavItem:hover .el_gnavItemJa {
      color: #fff; }
  .bl_gnavCon .el_gnavItemEn {
    display: block;
    font-size: 2.5rem;
    letter-spacing: -0.04em;
    margin-bottom: 4px;
    color: #000;
    transition: all .5s ease; }
  .bl_gnavCon .el_gnavItemJa {
    display: block;
    font-size: 1.8rem;
    padding-left: 62px;
    color: #aaa;
    transition: all .5s ease;
    font-weight: 300; }
  .bl_gnavCon.is_open {
    opacity: 1; }

/**共通**/
.select-lang {
  position: absolute;
  width: 97px;
  top: 105px;
  margin-right: 158px;
  right: 0;
  z-index: 1000;
  display: flex; }
  @media screen and (max-width: 1000px) {
    .select-lang {
      top: 20px;
      margin-right: 3vw; } }
  .select-lang .bl_select_lang01 {
    width: 42px; }
    .select-lang .bl_select_lang01 img {
      width: 100%;
      cursor: pointer; }
  .select-lang .bl_select_lang02 {
    width: 15px; }
    .select-lang .bl_select_lang02 img {
      width: 100%;
      cursor: pointer; }
  .select-lang .bl_select_lang03 {
    width: 40px; }
    .select-lang .bl_select_lang03 img {
      width: 100%;
      cursor: pointer; }

.wrapper, .ly_sec01, .ly_sec02 {
  max-width: 1300px;
  margin: 0 auto;
  width: 100%; }
  @media screen and (max-width: 1300px) {
    .wrapper, .ly_sec01, .ly_sec02 {
      max-width: unset;
      padding-left: 3vw;
      padding-right: 3vw; } }

.inline {
  display: inline-block;
  font-size: inherit;
  color: inherit;
  font-weight: inherit; }

.br-pc {
  display: block; }
  @media screen and (max-width: 1300px) {
    .br-pc {
      display: none; } }

.br-lg {
  display: block; }
  @media screen and (max-width: 1000px) {
    .br-lg {
      display: none; } }

.br-sp {
  display: none; }
  @media screen and (max-width: 1000px) {
    .br-sp {
      display: block; } }

.paper {
  transform-style: flat;
  transition: all 250ms ease-out; }
  .paper:before, .paper:after {
    content: "";
    position: absolute;
    z-index: -2;
    transition: all 250ms ease-out; }

.paper-raise:before {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }
.paper-raise:hover {
  border: 1px solid #000; }
  .paper-raise:hover:before {
    box-shadow: 0 15px 10px -10px rgba(31, 31, 31, 0.2); }

#page_top {
  position: fixed;
  right: 0;
  bottom: 0;
  width: 80px;
  height: 80px; }
  @media screen and (max-width: 768px) {
    #page_top {
      width: 60px;
      height: 60px; } }
  #page_top a {
    position: relative;
    display: block; }
    @media screen and (max-width: 768px) {
      #page_top a {
        width: 60px;
        height: 60px; } }
  #page_top img {
    width: 100%;
    height: auto; }

/**
* about
*/
/**
 * sec01
 */
.ly_sec01 {
  padding-top: 218px;
  padding-left: 195px;
  padding-right: 143px; }
  @media screen and (max-width: 1300px) {
    .ly_sec01 {
      padding-left: 10vw;
      padding-right: 10vw; } }
  @media screen and (max-width: 768px) {
    .ly_sec01 {
      padding-top: 100px; } }
  @media screen and (max-width: 420px) {
    .ly_sec01 {
      padding-left: 5vw;
      padding-right: 5vw; } }

.bl_catch {
  display: block;
  width: 100%;
  font-size: 2.6rem;
  line-height: 1.4;
  font-weight: 200; }
  .bl_catch_head {
    font-size: 1.8rem;
    line-height: 1.8;
    padding-top: 45px;
    padding-left: 6px;
    padding-right: 16px;
    letter-spacing: -0.03em;
    margin-bottom: 46px; }
    @media screen and (max-width: 1300px) {
      .bl_catch_head {
        padding-right: 0; } }
    @media screen and (max-width: 420px) {
      .bl_catch_head {
        padding-right: 0;
        padding-top: 2vh;
        padding-left: 0;
        padding-bottom: 4vh; } }

.bl_history {
  margin-bottom: 78px;
  padding-left: 3px; }
  @media screen and (max-width: 420px) {
    .bl_history {
      margin-bottom: 4vh;
      padding-left: 0;
      padding-bottom: 4vh; } }
  .bl_history_title {
    width: 216px;
    letter-spacing: -0.02em;
    margin-bottom: 51px; }
    @media screen and (max-width: 420px) {
      .bl_history_title {
        margin-bottom: 2vh; } }
    .bl_history_title img {
      width: 100%; }
  .bl_history_table {
    margin-left: 5px; }
  .bl_history_date {
    float: left; }
  .bl_history_text {
    margin-left: 140px; }
  .bl_history_date,
  .bl_history .bl_history_text {
    margin-bottom: 17px;
    font-size: 1.5rem;
    letter-spacing: 0em;
    line-height: 1.5; }

.bl_ceo_container {
  display: flex;
  padding-left: 5px; }
  @media screen and (max-width: 1300px) {
    .bl_ceo_container {
      padding-right: 0; } }
  @media screen and (max-width: 768px) {
    .bl_ceo_container {
      flex-direction: column;
      padding-left: 0;
      align-items: center; } }
  .bl_ceo_container span {
    font-size: inherit;
    line-height: inherit; }

/**
 * bl_ceo_content
 */
.bl_ceo_content {
  width: 585px;
  padding-right: 10px; }
  @media screen and (max-width: 1300px) {
    .bl_ceo_content {
      width: 60%;
      padding-right: 0; } }
  @media screen and (max-width: 768px) {
    .bl_ceo_content {
      width: 100%; } }
.bl_ceo_company, .bl_ceo_name, .bl_ceo_kana {
  margin-bottom: 8px;
  font-size: 1.7rem;
  line-height: 1.3; }
.bl_ceo_date, .bl_ceo_award {
  margin-bottom: 8px;
  font-size: 1.5rem;
  line-height: 1.3; }
.bl_ceo_po {
  letter-spacing: -0.02em; }
.bl_ceo_date {
  float: left; }
.bl_ceo_award {
  margin-left: 54px; }

/**
 * .bl_ceo_imageCon
 */
.bl_ceo_imageCon {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end; }

.bl_ceo_image {
  margin-bottom: 20px;
  padding-top: 15px;
  max-width: 280px; }
  .bl_ceo_image img {
    width: 100%; }
  .bl_ceo_imageText {
    width: 100%; }
    .bl_ceo_imageText_name {
      text-align: left;
      margin-bottom: 10px;
      font-size: 1.5rem; }
    .bl_ceo_imageText_place {
      margin-bottom: 12px;
      letter-spacing: 0.05em;
      white-space: nowrap;
      font-size: 1.1rem; }
      @media screen and (max-width: 1300px) {
        .bl_ceo_imageText_place {
          white-space: normal; } }

/**
 *
 */
.ly_sec02 {
  padding-top: 90px;
  padding-left: 201px;
  padding-right: 143px; }
  @media screen and (max-width: 1300px) {
    .ly_sec02 {
      padding-left: 10vw;
      padding-right: 10vw;
      padding-top: 10vh; } }
  @media screen and (max-width: 420px) {
    .ly_sec02 {
      padding-left: 5vw;
      padding-right: 5vw; } }

.bl_company_container {
  margin-bottom: 54px; }
  @media screen and (max-width: 768px) {
    .bl_company_container {
      margin-bottom: 5vh; } }
.bl_company_dt, .bl_company_dd {
  font-size: 1.7rem;
  line-height: 1.7;
  margin-bottom: 2px; }
.bl_company_dt {
  float: left; }
  @media screen and (max-width: 420px) {
    .bl_company_dt {
      float: none; } }
.bl_company_dd {
  margin-left: 200px; }
  @media screen and (max-width: 420px) {
    .bl_company_dd {
      margin-left: 20px;
      margin-bottom: 20px; } }
  .bl_company_dd span {
    display: block; }
  .bl_company_dd span:first-of-type {
    font-size: 1.7rem; }
  .bl_company_dd span:nth-of-type(n + 2) {
    font-size: 1.2rem; }
    @media screen and (max-width: 420px) {
      .bl_company_dd span:nth-of-type(n + 2) {
        font-size: 1.4rem; } }

.ly_company_imageCon {
  max-width: 790px;
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 1000px) {
    .ly_company_imageCon {
      padding-right: 0;
      justify-content: center; } }
  @media screen and (max-width: 420px) {
    .ly_company_imageCon {
      flex-direction: column;
      align-items: center; } }

.bl_company_image {
  max-width: 324px; }
  @media screen and (max-width: 420px) {
    .bl_company_image {
      width: 100%;
      margin-bottom: 24px; } }
  .bl_company_image figure {
    margin-bottom: 14px; }
    @media screen and (max-width: 420px) {
      .bl_company_image figure {
        margin-bottom: 5px; } }
  .bl_company_image figcaption {
    font-size: 1.7rem; }
  .bl_company_image img {
    width: 100%;
    height: auto; }

.bl_logo {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 88px;
  margin-bottom: 215px;
  padding-right: 0;
  padding-left: 26px; }
  @media screen and (max-width: 1000px) {
    .bl_logo {
      padding-right: 0;
      margin-top: 5vh;
      margin-bottom: 5vh;
      padding-left: 0; } }
  .bl_logo figure {
    max-width: 442px;
    margin: 0 auto; }
    @media screen and (max-width: 420px) {
      .bl_logo figure {
        width: 100%; } }
  .bl_logo img {
    max-width: 442px;
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto; }

#sec02 a img {
  transition: all .3s ease; }
  #sec02 a img:hover {
    opacity: 0.7; }
