/* 基本色:#f5d300 基本色の前面色:#e5e4e6 黒背景の前面色:#f5d300(RGB:245,211,0)*/
/*使用時期1月～3月*/
@charset "UTF-8";
/* =============================================================================
   パーシャルファイル
   ========================================================================== */
/*! normalize.css v2.0.1 | MIT License | git.io/normalize.css */
/* =============================================================================
   HTML5 display definitions
   ========================================================================== */
/* Corrects block display not defined in IE8/9. */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary {
  display: block; }

/* Corrects inline-block display not defined in IE8/9. */
audio, canvas, video {
  display: inline-block; }

/* Prevents modern browsers from displaying 'audio' without controls */
audio:not([controls]) {
  display: none;
  height: 0; }

/* Addresses styling for 'hidden' attribute not present in IE8/9. */
[hidden] {
  display: none; }

/* =============================================================================
   Base
   ========================================================================== */
/* 1. Sets default font family to sans-serif.
 * 2. Prevents iOS text size adjust after orientation change, without disabling user zoom. */
html {
  font-family: sans-serif;
  /* 1 */
  /* 日本語のfont-familyへの対応 */
  font-family: "Yu Gothic","Hiragino Kaku Gothic Pro","Meiryo",sans-serif;
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 2 */ }

/* Removes default margin. */
body {
  margin: 0; }

h1, h2, h3, h4, h5, h6, p, ul, ol, dl, table, pre {
  margin-top: 0; }

/*上方向のmarginを0にします */
/* =============================================================================
   Links
   ========================================================================== */
/* Addresses `outline` inconsistency between Chrome and other browsers. */
a:focus {
  outline: thin dotted; }

/* Improves readability when focused and also mouse hovered in all browsers. */
a:hover, a:active {
  outline: 0; }

/* =============================================================================
   Typography
   ========================================================================== */
html {
  font-size: 75%; }

/* レスポンシブ   タイプセッティングへの対応 */
/* Addresses `h1` font sizes within `section` and `article` in Firefox 4+, Safari 5, and Chrome. */
h1 {
  font-size: 2em; }

/* 禁則処理の追加 */
p, li, dt, dd, th, td, pre {
  -ms-line-break: strict;
  line-break: strict;
  -ms-word-break: break-strict;
  word-break: break-strict; }

/*Addresses styling not present in IE 8/9, Safari 5, and Chrome.*/
abbr[title] {
  border-bottom: 1px dotted; }

/* Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome.*/
b, strong {
  font-weight: bold; }

/*Addresses styling not present in Safari 5 and Chrome.*/
dfn {
  font-style: italic; }

/*Addresses styling not present in IE 8/9.*/
mark {
  background: #f5d300;
  color: #000; }

/* Corrects font family set oddly in Safari 5 and Chrome.*/
code, kbd, pre, samp {
  font-family: monospace, serif;
  font-size: 1em; }

/*Improves readability of pre-formatted text in all browsers.*/
pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word; }

/*Sets consistent quote types.*/
q {
  quotes: “\201C” “\201D” “\2018” “\2019”; }

/*Addresses inconsistent and variable font size in all browsers.*/
small {
  font-size: 80%; }

/*Prevents `sub` and `sup` affecting `line-height` in all browsers.*/
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/*=================================================================
   Embedded content
=================================================================*/
/*Removes border when inside `a` element in IE 8/9.*/
img {
  max-width: 100%;
  /* フルードイメージへの対応 */
  vertical-align: middle;
  /* 追加箇所 */
  border: 0; }

/* IE8 max-widthバグへの対応*/
/* .ie8 img{width: auto; height: auto} */
/* Corrects overflow displayed oddly in IE 9.*/
svg:not(:root) {
  overflow: hidden; }

/* =============================================================================
   Figures
   ========================================================================== */
/*Addresses margin not present in IE6/7/8/9, S5, O11*/
figure {
  margin: 0; }

/* =============================================================================
   Forms
   ========================================================================== */
/* Define consistent border, margin, and padding*/
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/* 1. Corrects color not being inherited in IE 8/9.
 2. Remove padding so people aren’t caught out if they zero out fieldsets. */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/* 1. Corrects font family not being inherited in all browsers.
 * 2. Corrects font size not being inherited in all browsers.
 * 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome */
button, input, select, textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */ }

/*Addresses Firefox 4+ setting `line-height` on `input` using `!important` in  the UA stylesheet.*/
button, input {
  line-height: normal;
  /* 1 */ }

/* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`  and `video` controls.
 * 2. Corrects inability to style clickable `input` types in iOS.
 * 3. Improves usability and consistency of cursor style between image-type `input` and others. */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/*Re-set default cursor for disabled elements. */
button[disabled],
input[disabled] {
  cursor: default; }

/* 1. Addresses box sizing set to content-box in IE8/9
 * 2. Removes excess padding in IE8/9*/
input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/*
 * 1. Addresses appearance set to searchfield in S5, Chrome
 * 2. Addresses box-sizing set to border-box in S5, Chrome (include -moz to future-proof)
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box; }

/*
 * Removes inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/* Removes inner padding and border in Firefox 4+. */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/* 1. Removes default vertical scrollbar in IE 8/9.
 * 2. Improves readability and alignment in all browsers. */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */ }

/* =============================================================================
   Tables
   ========================================================================== */
/* 
 * Remove most spacing between table cells
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

/* -----------------------------------------------------------------------------
   メディアクエリ
   -------------------------------------------------------------------------- */
/* -----------------------------------------------------------------------------
   クリアフィックス
   -------------------------------------------------------------------------- */
/* -----------------------------------------------------------------------------
   link
   -------------------------------------------------------------------------- */
a:focus {
  outline: none; }

/* -----------------------------------------------------------------------------
   Reset
   -------------------------------------------------------------------------- */
ul, ol {
  list-style: none; }

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

/* -----------------------------------------------------------------------------
   img link
   -------------------------------------------------------------------------- */
/*a img{transition:all 0.3s ease;}
a:hover img{
	opacity: 0.7;
	filter: alpha(opacity=70);
}*/
/* -----------------------------------------------------------------------------
   text-color
   -------------------------------------------------------------------------- */
p {
  color: #000; }

/* -----------------------------------------------------------------------------
   web-font
   -------------------------------------------------------------------------- */
/* -----------------------------------------------------------------------------
   html
   -------------------------------------------------------------------------- */
html {
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, Meiryo, sans-serif;
  font-size: 100%;
  /* 16px */
  font-weight: 300;
  line-height: 1.8;
  overflow-y: scroll; }

/*svg {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0); }*/

/* -----------------------------------------------------------------------------
   body
   -------------------------------------------------------------------------- */
body {
  margin: 0;
  padding: 0;
  visibility: hidden; }

.defs {
  display: none; }

/* -----------------------------------------------------------------------------
   header
   -------------------------------------------------------------------------- */
.header {
  height: auto;
  min-height: 100vh;
  background-color: #f5d300;
  position: relative; }
.header2 {
  position: relative; }
  
.header-wrap {
  width: 300px;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  -ms-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%); }
  @media screen and (min-width: 768px) {
    .header-wrap {
      width: 533.2px; } }

.header-logo {
  line-height: 1;
  margin-bottom: 0; }

.header-logo a {
  display: block; }


@-webkit-keyframes sdb {
  0% {
    -webkit-transform: translate(0, 0);
    opacity: 0; }
  40% {
    opacity: 1; }
  80% {
    -webkit-transform: translate(0, 10px);
    opacity: 0; }
  100% {
    opacity: 0; } }

@keyframes sdb {
  0% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    opacity: 0; }
  40% {
    opacity: 1; }
  80% {
    -webkit-transform: translate(0, 10px);
    transform: translate(0, 10px);
    opacity: 0; }
  100% {
    opacity: 0; } }

/* -----------------------------------------------------------------------------
   navメニュー
   -------------------------------------------------------------------------- */
.gnav-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #000;
  z-index: 8; }
  @media screen and (max-width: 600px) {
    .gnav-wrap {
      position: fixed;
      height: 100%;
      bottom: inherit;
      left: inherit; } }

.gnav-wrap.nav-fixed {
  position: fixed;
  top: 0;
  bottom: inherit; }

@media screen and (max-width: 600px) {
  .openNav .gnav-wrap {
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch; } }

/* 全体 */
#gnav {
  width: 850px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
  padding-left: 0px;
  *zoom: 1; }
  #gnav:after {
    content: "";
    display: table;
    clear: both; }
  @media screen and (max-width: 600px) {
    #gnav {
      width: 170px;
      margin-right: -170px;
      -webkit-transition: all 0.3s ease;
      -o-transition: all 0.3s ease;
      transition: all 0.3s ease; } }

@media screen and (max-width: 600px) {
  .openNav #gnav {
    margin-right: 0; } }

/* 個々 */
#gnav li {
  width: 90px;
  height: 100px;
  float: left;
  text-align: center; 
  display: inline-block; 
  line-height: 100%;}
  @media screen and (max-width: 600px) {
    #gnav li {
      width: auto;
      height: auto;
      float: none;
      text-align: left; } }

#gnav li a {
  display: block;
  height: 100%;
  color: #f5d300 !important;
  text-decoration: none !important;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  @media screen and (max-width: 600px) {
    #gnav li a {
      border-bottom: none;
      text-align: left;
      line-height: 1;
      padding: 25px 0 25px 25px !important;
      color: #fff !important;
      height: auto; } }

#gnav li a:hover,
#gnav li a.current {
  color: #fff !important;	/*メニュー文字の色*/
  background-color: #111; }
  @media screen and (max-width: 600px) {
    #gnav li a:hover,
    #gnav li a.current {
      color: #fff !important;
      text-decoration: none !important; } }

/*メニューバー【日本語】*/
.nav-top {
  display: block;
  font-size: 16px;
  line-height: 1;
  padding-top: 18px;
  padding-bottom: 10px; }
  @media screen and (max-width: 600px) {
    .nav-top {
      margin-right: 10px;
      display: inline;
      font-size: 12px;
      line-height: inherit;
      padding-top: 0;
      padding-bottom: 0; } }

/*メニューバー【―】*/
.nav-line {
  display: block;
  width: 60px;
  height: 1px;
  background-color: #666;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 600px) {
    .nav-line {
      display: none; } }

/*メニューバー【英字】*/
.nav-bottom {
  display: block;
  font-size: 16px;
  line-height: 1;
  padding-top: 10px; }
  @media screen and (max-width: 600px) {
    .nav-bottom {
      display: inline;
      font-size: 12px;
      line-height: inherit;
      padding-top: 0; } }

/* -----------------------------------------------------------------------------
   Toggle-ハンバーガーメニュー-
   -------------------------------------------------------------------------- */
#navToggle {
  display: none;
  position: fixed;
  right: 20px;
  top: 20px;
  width: 25px;
  height: 20px;
  cursor: pointer;
  z-index: 8;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }

.openNav #navToggle {
  right: 190px; }
  @media screen and (min-width: 599px) {
    .openNav #navToggle {
      right: 200px; } }

#navToggle div {
  position: relative; }

#navToggle span {
  display: block;
  position: absolute;
  width: 100%;
  border-bottom: solid 3px #111;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }

#navToggle span:nth-child(1) {
  top: 0; }

#navToggle span:nth-child(2) {
  top: 10px; }

#navToggle span:nth-child(3) {
  top: 20px; }

@media screen and (max-width: 599px) {
  #navToggle {
    display: block; } }

/* ×ﾎﾞﾀﾝ */
.openNav #navToggle span:nth-child(1) {
  top: 11px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  border-bottom: solid 3px #aaa; }

.openNav #navToggle span:nth-child(2),
.openNav #navToggle span:nth-child(3) {
  top: 11px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  border-bottom: solid 3px #aaa; }

/* -----------------------------------------------------------------------------
   main
   -------------------------------------------------------------------------- */
#about,
#news,
#products,
#recruit,
#privacy,
#map,
#contact,
#support,
#logo {
  margin-top: -100px;
  padding-top: 100px; }
  @media screen and (max-width: 1199px) {
#about,
#news,
#products,
#recruit,
#privacy,
#map,
#contact,
#support,
#logo {
      margin-top: 0;
      padding-top: 0; } }

/* -----------------------------------------------------------------------------
   content
   -------------------------------------------------------------------------- */
/*背景色*/
.bg01 {
  background-color: #fff; }

.bg02 {
  background-color: #f5d300; 
  color: #000; }

.wrap-box{
  padding-top: 60px;
  padding-bottom: 60px;
  padding-left: 15px;
  padding-right: 15px; }
  @media screen and (min-width: 400px) {
    .wrap-box {
      padding-top: 100px;
      padding-bottom: 100px; } }
  @media screen and (min-width: 1000px) {
    .wrap-box {
      padding-left: 0;
      padding-right: 0; } }

.wrap-box bg02{
  padding-top: 60px;
  padding-bottom: 60px;
  padding-left: 15px;
  padding-right: 15px; }
  @media screen and (min-width: 400px) {
    .wrap-box {
      padding-top: 100px;
      padding-bottom: 100px; } }
  @media screen and (min-width: 1000px) {
    .wrap-box {
      padding-left: 0;
      padding-right: 0; } }


.main-title {
  text-align: center;
  margin-bottom: 50px; }

.main-title_number {
  display: block;
  font-size: 56px;
  font-weight: 400;
  line-height: 1;
  margin-bottom: 20px; }

.main-title_bg01::before,
.main-title_bg02::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  right: 0;
  z-index: -1;
  height: 15px;
  width: 120px;
  margin: auto; }

.main-title_bg01::before {
  background-color: rgba(245,211,0,0.8); }

.main-title_bg02::before {
  background-color: rgba(255,255,255,0.8); }

.box-title-01 {
  text-align: center;
  font-size: 20px;
  font-weight: 900;
  margin-bottom: 30px;
  line-height: 1.5; }

.box-title-02 {
  text-align: left;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.75;
  margin-bottom: 15px; }
  @media screen and (min-width: 400px) {
    .box-title-02 {
      font-size: 20px; } }

.box-title-03 {
  text-align: center;
  color: #000;
  font-size: 16px;
  font-weight: normal;
  margin-bottom: 30px;
  line-height: 1.5; }

.box-text_large {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 2.25; }


.box-text_priv {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 2.25; }

.list-text_large {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 2.25; }

.list-text_large ul li {
  padding: 10px 0;
  list-style: none;
  margin-left: 1rem;
  text-indent: -1rem;
}

.list-text_priv {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 2.25; }

.list-text_priv ul li {
  padding: 10px 0;
  list-style: inside;
  margin-left: 1rem;
  text-indent: -1rem;
}


.box-column-1 {
  width: auto;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 60px;
  padding-left: 0;
  padding-bottom: 60px;
  width: 100%;
  border-bottom: 1px dashed #000; }
  @media screen and (min-width: 1000px) {
    .box-column-1 {
      margin-bottom: 100px;
      padding-bottom: 100px; } }

.box-column-1_item {
  display: inline-block;
  vertical-align: top;
  width: 100%; }

/*-----------------------------------*/
/*about*/
/*-----------------------------------*/
.box-column-2 {
  width: auto;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  width: 100%; }
  @media screen and (min-width: 480px) {
    .box-column-2 {
      width: 400px; } }
  @media screen and (min-width: 768px) {
    .box-column-2 {
      width: 700px; } }
  @media screen and (min-width: 1000px) {
    .box-column-2 {
      width: 980px; } }

.box-column-2_item {
  display: inline-block;
  vertical-align: top;
  width: 100%; }
  @media screen and (min-width: 1000px) {
    .box-column-2_item {
      width: 460px; } }

.box-column-2_item:nth-of-type(1) {
  margin-bottom: 60px; }
  @media screen and (min-width: 1000px) {
    .box-column-2_item:nth-of-type(1) {
      margin-right: 27px;
      margin-bottom: 0; } }

@media screen and (min-width: 1000px) {
  .box-column-2_item:nth-of-type(2) {
    margin-left: 27px; } }

.box-column-2-float {
  *zoom: 1;
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0; }
  .box-column-2-float:after {
    content: "";
    display: table;
    clear: both; }

.box-column-2-float_item:nth-of-type(1) {
  float: none;
  max-width: 450px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 40px; }
  @media screen and (min-width: 1000px) {
    .box-column-2-float_item:nth-of-type(1) {
      float: right; } }

.box-column-2-float_item:nth-of-type(2) {
  float: none; }
  @media screen and (min-width: 1000px) {
    .box-column-2-float_item:nth-of-type(2) {
      float: left; } }

.box-img_about img {
  width: 100%;
  max-width: 450px; 
}


.box-news {
  border-collapse: separate;
  border-spacing: 0;
  margin-top: 0;
  margin-left: auto;
  margin-right: auto; }

.box-news th {
  text-align: left;
  font-size: 14px;
  font-weight: 900;
  border-bottom: 1px dashed #000;
  padding: 20px 0 20px 20px;
  vertical-align: top;
  white-space: nowrap; }

.box-news td {
  text-align: left;
  font-size: 14px;
  font-weight: 400;
  border-bottom: 1px dashed #000;
  padding: 20px;
  vertical-align: top; }

  @media screen and (min-width:200px) and ( max-width:600px) {
    .box-news,
    .box-news th,
    .box-news td {
      margin-top: 20px; 
      display:block;} 
    .box-news th{
      border: none;}
}
/*.box-news td a{
  color: #fff;}*/


.box-news tr:last-child th,
.box-news tr:last-child td {
  border-bottom: none; }


.box-table_dashed {
  border-collapse: separate;
  border-spacing: 0;
  margin-top: 0;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (min-width: 1000px) {
    .box-table_dashed {
      margin-top: 15px; 
      dsplay: block;
      width: 100%} }

.box-table_dashed th {
  text-align: left;
  font-size: 14px;
  font-weight: 900;
  border-bottom: 1px dashed #000;
  padding: 20px 0 20px 20px;
  vertical-align: top;
  white-space: nowrap; }

.box-table_dashed td {
  text-align: left;
  font-size: 14px;
  font-weight: 400;
  border-bottom: 1px dashed #000;
  padding: 20px;
  vertical-align: top; }

.box-table_dashed tr:last-child th,
.box-table_dashed tr:last-child td {
  border-bottom: none; }

.box-column-3 {
  width: auto;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  width: 100%; }
  @media screen and (min-width: 480px) {
    .box-column-3 {
      width: 400px; } }
  @media screen and (min-width: 1000px) {
    .box-column-3 {
      width: 980px; } }

.box-column-3_item {
  display: inline-block;
  vertical-align: top;
  width: 100%; }
  @media screen and (min-width: 1000px) {
    .box-column-3_item {
      width: 300px; } }

.box-column-3_item:nth-of-type(2) {
  margin-left: 0;
  margin-right: 0; }
  @media screen and (min-width: 1000px) {
    .box-column-3_item:nth-of-type(2) {
      margin-left: 35px;
      margin-right: 35px; } }

.box-column-3_item:nth-of-type(1),
.box-column-3_item:nth-of-type(2) {
  margin-bottom: 60px; }
  @media screen and (min-width: 1000px) {
    .box-column-3_item:nth-of-type(1),
    .box-column-3_item:nth-of-type(2) {
      margin-bottom: 0; } }

.box-column-3_link {
  text-align: center; }

.box-column-3_link a {
  display: block;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  text-decoration: none;
  color: #000;
  margin-left: auto;
  margin-right: auto;
  position: relative; }

.box-column-3_link a::after {
  content: '';
  display: block;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  margin-left: auto;
  margin-right: auto;
  border: 2px dashed #000;
  position: absolute;
  top: 0; }

.box-column-3_link a:hover::after {
  -webkit-animation: spin 20s linear infinite;
  animation: spin 20s linear infinite; }

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

.box-icon {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 40px; }


.box-btn {
  width: 200px;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  background-color: #000;
  border-radius: 50px; }
  @media screen and (min-width: 1000px) {
    .box-btn {
      width: 240px; } }

.box-btn_link {
  display: block;
  padding-top: 15px;
  padding-bottom: 15px;
  font-size: 14px;
  font-weight: 400;
  color: #f5d300;
  line-height: 1;
  text-decoration: none;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%208.26%2013.25%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23ff0%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Ctitle%3E%E3%82%A2%E3%83%BC%E3%83%88%E3%83%9C%E3%83%BC%E3%83%89%202%3C%2Ftitle%3E%3Cpolygon%20class%3D%22cls-1%22%20points%3D%221.66%2013.25%208.26%206.65%208.23%206.63%208.26%206.6%201.66%200%200%201.66%204.97%206.63%200%2011.6%201.66%2013.25%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: 8px 15px;
  background-position: 85% 50%;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  .box-btn_link:hover {
    background-position: 90% 50%; }
  @media screen and (min-width: 1000px) {
    .box-btn_link {
      padding-top: 20px;
      padding-bottom: 20px;
      font-size: 16px; } }

/*NEWアイコン
---------------------------------------------------------------------------*/
.newicon {
	background: #F00;	/*背景色*/
	color: #FFF;		/*文字色*/
	font-size: 70%;		/*文字サイズ*/
	line-height: 1.5;
	padding: 2px 5px;
	border-radius: 2px;
	margin: 0px 5px;
	vertical-align: text-top;
}

.text-nowrap {
  display: inline-block;
  white-space: nowrap; }

.box-logo {
  text-align: center; }
  @media screen and (min-width: 1000px) {
    .box-logo {
      text-align: left; } }

.box-logo svg {
  width: 100%;
  max-width: 400px;
  height: auto; }

#logo .mt40 {
  margin-top: 0; }
  @media screen and (min-width: 1000px) {
    #logo .mt40 {
      margin-top: 40px; } }

.box-sns {
  text-align: center;
  padding-top: 10px; }

.box-sns_link {
  font-size: 18px;
  font-style: italic; }

.box-sns_link a {
  display: inline-block;
  color: #000;
  text-decoration: none; }

.box-sns_link a::after {
  content: '';
  display: block;
  width: 0;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border-bottom: 1px solid #000; }

.box-sns_link a:hover::after {
  width: 100%; }

.box-table_responsive th,
.box-table_responsive td {
  display: block; }
  @media screen and (min-width: 768px) {
    .box-table_responsive th,
    .box-table_responsive td {
      display: table-cell; } }

.box-table_responsive th {
  border-bottom: none;
  padding-bottom: 0; }
  @media screen and (min-width: 768px) {
    .box-table_responsive th {
      border-bottom: 1px dashed #000;
      padding-bottom: 20px; } }

.box-table_responsive td {
  padding-top: 10px; }
  @media screen and (min-width: 768px) {
    .box-table_responsive td {
      padding-top: 20px; } }

input.wpcf7-text,
textarea.wpcf7-textarea {
  width: 95%; }
  @media screen and (min-width: 768px) {
    input.wpcf7-text,
    textarea.wpcf7-textarea {
      width: 400px; } }

span.wpcf7-list-item {
  display: block !important; }
  @media screen and (min-width: 480px) {
    span.wpcf7-list-item {
      display: inline-block !important; } }

.required {
  color: #f00;
  margin-left: 10px; }

.box-btn_submit {
  margin-top: 40px; }

input.wpcf7-submit {
  display: block;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
  color: #fff;
  background-color: #000;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  padding-top: 15px;
  padding-bottom: 15px;
  width: 200px;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  background-color: #000;
  border-radius: 50px; }
  @media screen and (min-width: 1000px) {
    input.wpcf7-submit {
      width: 240px;
      padding-top: 20px;
      padding-bottom: 20px;
      font-size: 16px; } }

.wpcf7-not-valid-tip {
  font-size: 14px !important; }

div.wpcf7-response-output {
  text-align: center !important;
  font-weight: 400 !important;
  max-width: 400px !important;
  border: 1px solid #000 !important;
  font-size: 14px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 10px 20px !important; }

/* -----------------------------------------------------------------------------
  Map設定
---------------------------------------------------------------------------*/
.gmap{
text-align: center;}

.iframe{
 max-width: 100%;}

/* -----------------------------------------------------------------------------
   fade
   -------------------------------------------------------------------------- */
/* transition
    transition: all(適法するプロパティ名：allだと全て) 0.8s（変化に掛ける時間） ease（変化の種類） 0（変化の開始時間：0だとすぐ開始）;
    linear：一定
    ease ：開始と完了が滑らか
    ease-in：ゆっくり開始
    ease-out：ゆっくり終了
    ease-in-out：ゆっくり開始してゆっくり終了
*/
.fade-in {
  opacity: 0;
  -webkit-transition: all 0.8s ease;
  -o-transition: all 0.8s ease;
  transition: all 0.8s ease; }

.fade-show {
  opacity: 1; }

.width-in::before {
  opacity: 0;
  width: 0;
  -webkit-transition: all 0.8s ease;
  -o-transition: all 0.8s ease;
  transition: all 0.8s ease; }

.width-show::before {
  opacity: 1;
  width: 100px; }

.slide-in {
  opacity: 0;
  -webkit-transform: translateY(20px);
  -ms-transform: translateY(20px);
  transform: translateY(20px);
  -webkit-transition: all 0.8s ease;
  -o-transition: all 0.8s ease;
  transition: all 0.8s ease; }

.slide-show {
  opacity: 1;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0); }

/* @keyframes

参考URL：https://qiita.com/soarflat/items/4a302e0cafa21477707f

@keyframes fadeIn（任意の名前） {
    0% {　//アニメーション開始時
        CSSプロパティ:値;
    }
    100% {　//アニメーション終了時
        CSSプロパティ:値;
    }
}
animation: fadeIn（任意の名前） 2s（変化に掛ける時間） ease（変化の種類） 0s（変化の開始時間：0だとすぐ開始） 1（繰り返す回数） normal（繰り返し時、往復処理をするかを指定）;
*/
.slide-list-in {
  opacity: 0;
  -webkit-transform: translateY(20px);
  -ms-transform: translateY(20px);
  transform: translateY(20px); }

.slide-list-show:nth-of-type(1) {
  -webkit-animation: slide-list-in 0.8s ease 0s 1 forwards;
  animation: slide-list-in 0.8s ease 0s 1 forwards; }
  @media screen and (min-width: 1000px) {
    .slide-list-show:nth-of-type(1) {
      -webkit-animation: slide-list-in 0.8s ease 0s 1 forwards;
      animation: slide-list-in 0.8s ease 0s 1 forwards; } }

.slide-list-show:nth-of-type(2) {
  -webkit-animation: slide-list-in 0.8s ease 0s 1 forwards;
  animation: slide-list-in 0.8s ease 0s 1 forwards; }
  @media screen and (min-width: 1000px) {
    .slide-list-show:nth-of-type(2) {
      -webkit-animation: slide-list-in 0.8s ease 0.2s 1 forwards;
      animation: slide-list-in 0.8s ease 0.2s 1 forwards; } }

.slide-list-show:nth-of-type(3) {
  -webkit-animation: slide-list-in 0.8s ease 0s 1 forwards;
  animation: slide-list-in 0.8s ease 0s 1 forwards; }
  @media screen and (min-width: 1000px) {
    .slide-list-show:nth-of-type(3) {
      -webkit-animation: slide-list-in 0.8s ease 0.4s 1 forwards;
      animation: slide-list-in 0.8s ease 0.4s 1 forwards; } }

@-webkit-keyframes slide-list-in {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

@keyframes slide-list-in {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.slide-list-in_2 {
  opacity: 0;
  -webkit-transform: translateY(20px);
  -ms-transform: translateY(20px);
  transform: translateY(20px); }

.slide-list-show_2:nth-of-type(2) {
  -webkit-animation: slide-list-in_2 0.8s ease 0s 1 forwards;
  animation: slide-list-in_2 0.8s ease 0s 1 forwards; }
  @media screen and (min-width: 1000px) {
    .slide-list-show_2:nth-of-type(2) {
      -webkit-animation: slide-list-in_2 0.8s ease 0s 1 forwards;
      animation: slide-list-in_2 0.8s ease 0s 1 forwards; } }

.slide-list-show_2:nth-of-type(1) {
  -webkit-animation: slide-list-in_2 0.8s ease 0s 1 forwards;
  animation: slide-list-in_2 0.8s ease 0s 1 forwards; }
  @media screen and (min-width: 1000px) {
    .slide-list-show_2:nth-of-type(1) {
      -webkit-animation: slide-list-in_2 0.8s ease 0.2s 1 forwards;
      animation: slide-list-in_2 0.8s ease 0.2s 1 forwards; } }

@-webkit-keyframes slide-list-in_2 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

@keyframes slide-list-in_2 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

/* -----------------------------------------------------------------------------
   swiper
   -------------------------------------------------------------------------- */
.swiper-container {
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 100px; }

.swiper-button-prev,
.swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2040%2040%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23ff0%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Ctitle%3E%E3%82%A2%E3%83%BC%E3%83%88%E3%83%9C%E3%83%BC%E3%83%89%201%3C%2Ftitle%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%2220%22%2F%3E%3Cpolygon%20class%3D%22cls-1%22%20points%3D%2226.63%2022.47%2020.02%2015.87%2020%2015.9%2019.98%2015.87%2013.38%2022.47%2015.03%2024.13%2020%2019.16%2024.97%2024.13%2026.63%2022.47%22%2F%3E%3C%2Fsvg%3E") !important;
  background-size: 40px 40px !important;
  background-repeat: no-repeat !important;
  width: 40px !important;
  height: 40px !important;
  margin-top: -20px !important; }

.swiper-button-prev {
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
  left: 15% !important;
  top: inherit !important;
  bottom: -57px !important; }
  @media screen and (min-width: 400px) {
    .swiper-button-prev {
      left: 20% !important; } }
  @media screen and (min-width: 480px) {
    .swiper-button-prev {
      left: 25% !important; } }
  @media screen and (min-width: 768px) {
    .swiper-button-prev {
      left: 30% !important; } }
  @media screen and (min-width: 1000px) {
    .swiper-button-prev {
      left: -80px !important;
      top: 50% !important; } }

.swiper-button-next {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
  right: 15% !important;
  top: inherit !important;
  bottom: -57px !important; }
  @media screen and (min-width: 400px) {
    .swiper-button-next {
      right: 20% !important; } }
  @media screen and (min-width: 480px) {
    .swiper-button-next {
      right: 25% !important; } }
  @media screen and (min-width: 768px) {
    .swiper-button-next {
      right: 30% !important; } }
  @media screen and (min-width: 1000px) {
    .swiper-button-next {
      right: -80px !important;
      top: 50% !important; } }

.swiper-pagination {
  bottom: -50px !important; }

.swiper-pagination-fraction {
  font-weight: 400; }

/* -----------------------------------------------------------------------------
   page-top
   -------------------------------------------------------------------------- */
#page_top{
  width: 60px; /*表示位置固定*/
  height: 60px;
  position: fixed;
  right: 30px;
  bottom: 40px;
  opacity: 0.8;
  border-radius: 50%;
}
#page_top a{
  position: relative;
  display: block;
  width: 60px;
  height: 60px;
  text-decoration: none;
}

#page_top a::before{
  position: absolute;
  top: -5px;
  bottom: 0;
  right: 0;
  left: 0;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f139';
  font-size: 50px;
  color: #000;
  width: 20px;
  height: 20px;
  margin: 20px;
  text-align: center;
}
/* -----------------------------------------------------------------------------
   フッター設定
   -------------------------------------------------------------------------- */
.footer {
  height: auto;
  min-height: 100vh;
  background-color: #000;
  position: relative;
  padding-top: 1px; }

.footer-wrap {
  width: 300px;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  -ms-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%); }
  @media screen and (min-width: 768px) {
    .footer-wrap {
      width: 533.2px; } }


.footer-copy {
  text-align: center;
  margin-top: -20px; }
  @media screen and (min-width: 768px) {
    .footer-copy {
      margin-top: -20px; } }

.footer-copy a {
  color: #f5d300;
  position: relative;
  font-size: 12px;
  text-decoration: none; }
  @media screen and (min-width: 768px) {
    .footer-copy a {
      font-size: 12px; } }

/*レスポンシブに対応する改行*/
  @media screen and (min-width: 768px) {
    .br-pc{ display:block; }
    .br-sp{ display:none; }
}
  @media screen and (max-width: 768px) {
    .br-pc{ display:none; }
    .br-sp{ display:block; }
}
/*6月23日追加*/
.main-title_us-title {
  display: block;
  position: relative;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  z-index: 1; }

.main-title_concept-title {
  display: block;
  position: relative;
  font-size: 19px;
  font-weight: 480;
  line-height: 1;
  z-index: 1; }
  @media screen and (max-width: 703px) {
   .main-title_concept-title {
    text-align: left;
    display: inline-block;} }
  @media screen and (max-width: 370px) {
   .main-title_concept-title {
    text-align: left;
    display: inline-block;} }

.box-title-04 {
  max-width: 700px;
  font-size: 20px;
  font-weight: 900;
  margin-top: 30px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.5; }

.box-title-05 {
  max-width: 700px;
  font-size: 18px;
  font-weight: 900;
  margin-top: 30px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.5; }

.box-text_large02 {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 2.25; }

.box-text_large03 {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
  font-size: 25px;
  font-weight: 480;
  line-height: 1.25; }

.box-text_large04 {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
  font-size: 19px;
  font-weight: 480;
  line-height: 2.25; }
/*---------------------*/


