@charset "UTF-8";
:root {
	--main-color: #F18D1E;
	--color-infogame: #1B1464;
	--color-automotive: #14A59C;
}

.cat {
  display: inline-block;
  padding: 4px 8px;
  margin-top: 50px;
  background-color: #999;
}

.cat a {
  color: #fff !important;
}

.c0 {
  background-color: #f8b62d;
}

.c1 {
  background-color: #f7b52d;
}

.c2 {
  background-color: #72c6d0;
}

.c3 {
  background-color: #64abde;
}

.c4 {
  background-color: #72c6d0;
}

.c5 {
  background-color: #72c6d0;
}

.c6 {
  background-color: #f09ba5;
}

.c7 {
  background-color: #f7b756;
}

.c8 {
  background-color: #67b6b0;
}

.c-oc {
  background-color: #67b6b0;
}

.c8 {
  background-color: #67b6b0;
}

.c-car {
  background-color: #e35450;
}

.c-info {
  background-color: #72c6d0;
}

.c-ele {
  background-color: #d8c223;
}

.c-game {
  background-color: #6c9bd2;
}

.c-arc {
  background-color: #a5883e;
}

.c-oc {
  background-color: #61b1ee;
}

.c-rec {
  background-color: #33b9a9;
}

.fb-like iframe {
  min-width: 120px;
  min-height: 20px;
}

.sec-08 {
  padding: 50px 0 !important;
}

.sec-08 .txt_box {
  min-height: 90px;
}

.sec-08 .ttl {
  margin-bottom: 40px;
}

.sec-08 .btn.btn-02 {
  border-color: #595757 !important;
  color: #595757 !important;
}

.sec-08 .btn.btn-02:hover {
  background-color: #595757 !important;
}

.sec-sing-footer {
  padding: 50px 0;
}

.sec-sing-footer .inner {
  width: 1040px;
  margin: 0 auto;
  padding: 40px;
  background-color: #ffe2ae;
  text-align: center;
}

/* .home .cat, .sec-08 .cat {
  margin-top: 0px;
} */

.blog_out .more-link {
  display: none;
}

@media only screen and (max-width: 769px) {
  .sec-sing-footer {
    padding: 20px 0;
  }
  .sec-sing-footer .inner {
    width: 95%;
    padding: 20px;
  }
  .sec-08 {
    width: 95%;
    margin: 0 auto;
  }
  .sec-08 a {
    display: block;
    text-align: center;
  }
}

/*! normalize.css v6.0.0 | 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
*    IE on Windows Phone and in iOS.
*/
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
========================================================================== */
/**
* Add the correct display in IE 9-.
*/
article, aside, footer, header, nav, section {
  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
========================================================================== */
/**
* Add the correct display in IE 9-.
* 1. Add the correct display in IE.
*/
figcaption, figure, main {
  /* 1 */
  display: block;
}

/**
* Add the correct margin in IE 8.
*/
figure {
  margin: 1em 40px;
}

/**
* 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
========================================================================== */
/**
* 1. Remove the gray background on active links in IE 10.
* 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
*/
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

/**
* 1. Remove the bottom border in Chrome 57- and Firefox 39-.
* 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 */
}

/**
* Prevent the duplicate application of `bolder` by the next rule in Safari 6.
*/
b, strong {
  font-weight: inherit;
}

/**
* 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 style in Android 4.3-.
*/
dfn {
  font-style: italic;
}

/**
* Add the correct background and color in IE 9-.
*/
mark {
  background-color: #ff0;
  color: #000;
}

/**
* 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
========================================================================== */
/**
* Add the correct display in IE 9-.
*/
audio, video {
  display: inline-block;
}

/**
* Add the correct display in iOS 4-7.
*/
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
* Remove the border on images inside links in IE 10-.
*/
img {
  border-style: none;
}

/**
* Hide the overflow in IE.
*/
svg:not(:root) {
  overflow: hidden;
}

/* Forms
========================================================================== */
/**
* Remove the margin in Firefox and Safari.
*/
button, input, optgroup, select, textarea {
  margin: 0;
}

/**
* 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;
}

/**
* 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
*    controls in Android 4.
* 2. Correct the inability to style clickable types in iOS and Safari.
*/
button, html [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button;
  /* 2 */
}

/**
* 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;
}

/**
* 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 */
}

/**
* 1. Add the correct display in IE 9-.
* 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
* Remove the default vertical scrollbar in IE.
*/
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 */
}
@media only screen and (max-width: 769px) {
  [type="search"] {
    width: 10em;
    padding: 5px 10px;
    box-sizing: border-box;
  }
}

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

/**
* Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
*/
/**
* 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 IE 9-.
* 1. Add the correct display in Edge, IE, and Firefox.
*/
details, menu {
  display: block;
}

/*
* Add the correct display in all browsers.
*/
summary {
  display: list-item;
}

/* Scripting
========================================================================== */
/**
* Add the correct display in IE 9-.
*/
canvas {
  display: inline-block;
}

/**
* Add the correct display in IE.
*/
template, [hidden] {
  display: none;
}

/* Hidden
========================================================================== */
/**
* Add the correct display in IE 10-.
*/
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;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* メインスタイル
----------------------------------------------------- */
body {
  width: 100%;
  height: 100%;
  line-height: 1;
  margin: auto;
  z-index: 0;
  color: black;
  font-family: 'Noto Sans JP',"Yu Gothic", YuGothic, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Kaku Gothic ProN", Verdana, メイリオ, Meiryo, sans-serif;
}

input, textarea {
  font-family: 'Noto Sans JP',"Yu Gothic", YuGothic, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Kaku Gothic ProN", Verdana, メイリオ, Meiryo, sans-serif;
}

/* スタイル共通部分
----------------------------------------------------- */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-overflow-scrolling: touch;
  background: white;
  padding: 0;
  position: relative;
  color: #595757;
  min-width: 1200px;
  overflow-x: hidden;
}

@media only screen and (max-width: 769px) {
  body {
    min-width: 100%;
  }
}

* {
  box-sizing: inherit;
}

*:before, *:after {
  box-sizing: inherit;
}

@media only screen and (min-width: 770px) {
  .nopc {
    display: none !important;
  }
}

@media only screen and (max-width: 769px) {
  .nosp {
    display: none !important;
  }
}

.fade, .fadeL, .fadeR, .fadeB {
  opacity: 0;
}

ul li {
  list-style: none;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
}

@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }
  75% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}

/*イベント*/
/*新着情報*/
/*その他*/
/*自動車*/
.c-car {
  color: #FFAAE1;
}

.bgc-car {
  background: #FFAAE1;
}

/*お知らせ*/
.c-notice {
  color: #F8B62D;
}

.bgc-notice {
  background: #F8B62D;
}

/*オープンキャンバス*/
.c-canvas {
  color: #DAE000;
}

.bgc-canvas {
  background: #DAE000;
}

span[class^="bgc-"], .c-white {
  color: white;
}

.c-red {
  color: #E60012;
}

.trans {
  transition: .3s ease;
}

a {
  transition: .3s ease;
}

a:hover, a img, a span {
  transition: .3s ease;
}

a:hover img, a:hover span {
  transition: .3s ease;
}

.h_main-relationlink > ul.relationlink-nav > li:nth-last-child(1):hover ul {
  transition: .3s ease;
}

/* .h_main-nav ul li {
  transition: .3s ease;
}

.h_main-nav ul li:hover, .h_main-nav ul li.act, .h_main-nav ul li:hover .child {
  transition: .3s ease;
} */

/* .h_main-sp .h_main-sp-btn .btn.j-btn-fsg > span, .h_main-sp .h_main-sp-btn .btn.j-btn-fsg.on > span {
  transition: .3s ease;
} */

/* .h_main-sp .j-move-menu.on.btn,
.h_main-sp .ul_open_h.j-open-menu {
  transition: .3s ease;
} */

figure img {
  vertical-align: top;
}

/* 書式スタイル
----------------------------------------------------*/
body {
  font-feature-settings: "palt";
}

.no-deco {
  text-decoration: none;
}

.on-deco {
  text-decoration: underline;
}

.bld {
  font-weight: bold;
}

.no-tel {
  cursor: default;
  text-decoration: none;
}

.no-tel:hover {
  opacity: 1;
}

.txt {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.5;
}

.txt + .txt {
  padding-top: 14px;
}

.yu-min {
  font-family: "秀英明朝 M", "Shuei Mincho M", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-feature-settings: "palt";
  font-weight: normal;
}

.disp-bl {
  display: block;
}

.disp-ib {
  display: inline-block;
}

.disp-il {
  display: inline;
}

.mc-a {
  margin-right: auto !important;
  margin-left: auto !important;
}

.ws-nr {
  white-space: nowrap;
}

.ta-r {
  text-align: right !important;
}

.ta-c {
  text-align: center !important;
}

.ta-l {
  text-align: left !important;
}

/* レイアウトスタイル
----------------------------------------------------*/
.floL {
  float: left;
}

@media only screen and (max-width: 769px) {
  .floL {
    float: none;
  }
}

.floR {
  float: right;
}

@media only screen and (max-width: 769px) {
  .floR {
    float: none;
  }
}

.cf::after {
  content: '';
  display: table;
  clear: both;
}

.posi-rel {
  position: relative;
}

.posi-abs {
  position: absolute;
}

/* リンクスタイル
----------------------------------------------------- */
a {
  cursor: pointer;
  outline: none;
  text-decoration: none;
  margin: 0;
  padding: 0;
  display: inline-block;
  color: #333;
}

a:focus, a *:focus {
  outline: none;
}

a.no-hover:hover {
  color: black;
}

a:hover {
  opacity: 1;
  outline: none;
  color: #666;
}

a img, a span {
  backface-visibility: hidden;
  cursor: pointer;
  opacity: 1;
  outline: none;
  vertical-align: top;
}

a:hover img, a:hover span {
  backface-visibility: hidden;
  opacity: .8;
  outline: none;
}

a.btn {
  display: inline-block;
  box-sizing: border-box;
}

a.btn.btn-01 {
  color: white;
  border-radius: 30px;
  padding: 8px 40px;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  font-weight: bold;
  background: #595757;
  border: 1px solid #595757;
}

a.btn.btn-01:hover {
  color: #595757;
  background: white;
  border: 1px solid #595757;
}

a.btn.btn-02 {
  color: white;
  border-radius: 60px;
  padding: 21px 104px;
  font-weight: bold;
  background: transparent;
  border: 1px solid white;
}

a.btn.btn-02:hover {
  background: white;
  color: black;
}

a.btn.btn-02.f21 {
  font-size: 21px;
  font-size: 1.3125rem;
  line-height: 1;
}

a.btn.btn-03 {
  padding: 8px 0;
  font-weight: bold;
  display: block;
}

a.btn.btn-04 {
  color: #fff;
  border-radius: 30px;
	display: block;
  padding: 15px 40px;
  font-size: 20px;
  font-size: 1rem;
  line-height: 1.25;
  font-weight: bold;
  background: #f08300;
  border: 1px solid #f08300;
}
a.btn.btn-04:hover {
  color: #f08300;
  background: #fff;
  border: 1px solid #f08300;
}

/* 汎用ボタンスタイル
----------------------------------------------------- */
@media only screen and (max-width: 769px) {
  a.btn.btn-01 {
    padding: 10px 52px;
    background: white;
    border: 1px solid #595757;
    color: #595757;
  }
}

@media only screen and (max-width: 769px) {
  a.btn.btn-02 {
    padding: 10px 52px;
  }
  a.btn.btn-02.f21 {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1;
  }
}

/* 共用ページスタイル
----------------------------------------------------- */
/*
@include max($md){

}
*/
/* globalHeader */
header {
  width: 100%;
  background-color: #FFF !important;
  top: 0;
  z-index: 98;
}
header.fsg-header {
  position: relative;
}
header.group-header {
  position: sticky;
  z-index: 97;
}
@media only screen and (max-width: 769px) {
  header {
    z-index: 99;
  }
  header.fsg-header {
    position: fixed;
  }
  header.group-header {
    position: fixed;
  }
}
.site-header__inner {
  display: flex;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  flex-direction: column;
}
.site-header__box {
  width: 1120px;
  height: 100px;
  display: grid;
  grid-template-columns: 320px 1fr 320px;
  align-items: center;
  margin: 0 auto;
  transition: height 0.5s ease;
}
.--h-fixed .site-header__box {
  height: 60px;
}
.site-header .fsglogo {
  background-color: #296753;
  height: 51px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.site-header .fsglogo a {
  display: block;
  transition: opacity 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .site-header .fsglogo a:hover {
    opacity: 0.7;
  }
}
.site-header .fsglogo a img {
  width: 100%;
}
.site-header .fsglogo span {
  color: #fff;
  font-size: 12px;
  padding-left: 1em;
  letter-spacing: 0;
}
.site-header .fsgGroupNav {
  background-color: #eff0f0;
}
.site-header .logo {
  width: 325px;
  margin-inline: auto;
  grid-column: 2;
  transition: width 0.5s ease;
}
.site-header .logo a {
  display: block;
  transition: opacity 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .site-header .logo a:hover {
    opacity: 0.7;
  }
}
.site-header .globalNav {
  border-top: 1px solid #E8E9EC;
  border-bottom: 1px solid #E8E9EC;
}
@media only screen and (max-width: 769px) {
  .site-header__box {
    grid-template-columns: 1fr;
    height: 50px;
  }
  .site-header__box .subNav {
    display: none;
  }
  .site-header .fsglogo {
    display: none;
  }
  .site-header .fsgGroupNav {
    display: none;
  }
  .site-header .logo {
    width: 193px;
    margin-left: 10px;
    grid-column: 1;
  }
  .site-header .globalNav {
    display: none;
  }
}

.fsgGroupNav .nav ul li a,
.fsgGroupNav .nav ul li span {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
}
.fsgGroupNav .nav__menu {
  display: grid;
  width: 1120px;
  margin: 0 auto;
  grid-template-columns: repeat(7, auto);
  grid-template-rows: 35px;
}
.fsgGroupNav .nav__menu-item {
  position: relative;
  background-color: rgba(192, 192, 192, 0);
  transition: background-color 0.3s ease;
}
.fsgGroupNav .nav__menu-item:not(:last-child) {
  border-right: 1px solid #FFF;
}
.fsgGroupNav .nav__menu-item:last-child {
  width: 240px;
}
@media (hover: hover) and (pointer: fine) {
  .fsgGroupNav .nav__menu-item:hover {
    background-color: rgba(192, 192, 192, 0.5);
  }
}
.fsgGroupNav .nav__menu-item > a,
.fsgGroupNav .nav__menu-item > span {
  justify-content: center;
}
.fsgGroupNav .nav__child-menu {
  position: absolute;
  z-index: 2;
  top: 35px;
  left: 0;
  width: 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.fsgGroupNav .nav__child-menu-item {
  margin-bottom: 1px;
}
.fsgGroupNav .nav__child-menu-item a {
  box-sizing: border-box;
  min-height: 42px;
  background-color: rgba(35, 24, 21, 0.8);
  color: #fff;
  font-size: 12px;
  letter-spacing: 0;
  padding: 0.5em;
  transition: background-color 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .fsgGroupNav .nav__child-menu-item a:hover {
    background-color: rgb(35, 24, 21);
  }
}
.fsgGroupNav .nav .--has-child-menu:hover .nav__child-menu {
  opacity: 1;
  pointer-events: all;
}

.globalNav .nav {
  position: relative;
}
.globalNav .nav ul li a {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
}
.globalNav .nav ul li .label {
  font-size: 14px;
  font-weight: 700;
  transition: font-size 0.5s ease;
}
.--h-fixed .globalNav .nav ul li .label {
  font-size: 12px;
}
.globalNav .nav .child-menu {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 1;
  margin: 0 auto;
  border-top: 1px solid #E8E9EC;
  background-color: rgba(240, 131, 0, 0.9);
  box-shadow: 0 3px 3px -3px #ccc;
  opacity: 0;
  transform: translateY(45px);
  pointer-events: none;
  transition: transform 0 ease 0.5s, opacity 0.3s ease;
}
.globalNav .nav__menu {
  width: 100%;
  max-width: 1440px;
  height: 60px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(var(--navCount), 1fr);
  transition: height 0.5s ease;
}
.--h-fixed .globalNav .nav__menu {
  height: 50px;
}
.globalNav .nav__menu-item > a {
  color: var(--font-color);
  transition: color 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .globalNav .nav__menu-item > a:hover {
    color: rgba(240, 131, 0, 0.9);
  }
}
.globalNav .nav__menu-item > a .label {
  width: 100%;
  text-align: center;
  border-left: 1px solid #ccc;
}
.globalNav .nav__menu-item:last-child > a .label {
  border-right: 1px solid #ccc;
}
.globalNav .nav__child-menu {
  display: flex;
  flex-wrap: wrap;
  width: 95%;
  max-width: calc(1440px - 10px);
  padding: 24px 0;
  margin: 0 auto;
}
.globalNav .nav__child-menu-item {
  width: 25%;
  height: 40px;
}
.globalNav .nav__child-menu-item a {
  color: #fff;
}
.globalNav .nav__child-menu-item a > span {
  line-height: 1.4;
  display: inline-block;
  position: relative;
}
.globalNav .nav__child-menu-item a > span::before {
  content: "";
  background-color: #fff;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  transition: transform 0.3s cubic-bezier(0.39, 0.58, 0.57, 1);
}
.globalNav .nav__child-menu-item a > span::before {
  transform: scaleX(0);
  transform-origin: right;
}
@media (hover: hover) and (pointer: fine) {
  .globalNav .nav__child-menu-item a:hover > span::before {
    transform: scaleX(1);
    transform-origin: left;
  }
}
.globalNav .nav__child-menu-item a::before {
  content: "";
  width: 0.5em;
  height: 0.5em;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  margin-right: 0.75em;
  transform: rotateZ(45deg);
}
.globalNav .nav__child-menu-item a .label::before {
  background-color: var(--main-color);
}
.globalNav .nav .--has-child-menu:hover .child-menu {
  opacity: 1;
  pointer-events: all;
  transform: translateY(60px);
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.globalNav .nav .--has-child-menu:hover .child-flex {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0;
  max-width: calc(1440px - 10px);
  margin: auto;
  padding: 24px 0;
  width: 95%;
}
.home-infogame .globalNav .nav .--has-child-menu:hover .child-flex {
  grid-template-columns: repeat(3, 1fr);
}
.globalNav #automotive.nav .--has-child-menu:hover .child-flex {
  grid-template-columns: repeat(5, 1fr);
}
.globalNav .nav .--has-child-menu .child-flex .nav__child-menu {
  border-right: 1px solid #fff;
  box-sizing: border-box;
  display: block;
  width: 100%;
  padding: 0.5rem;
}
.globalNav .nav .--has-child-menu .child-flex .nav__child-menu:first-child {
  border-left: 1px solid #fff;
}
.globalNav .nav .--has-child-menu .child-flex .nav__child-menu-item {
  height: auto;
  width:100%;
}
.globalNav .nav .--has-child-menu .child-flex .nav__child-menu-item a {
  padding: .15rem;}
.globalNav .nav .--has-child-menu .child-flex .nav__child-menu-item a .label {
  font-size: .7em;
  word-break: keep-all;
}
.globalNav .nav .--has-child-menu .child-flex .nav__child-menu-item a::before {
  content: none;}
.globalNav .nav .--has-child-menu .child-flex .nav__child-menu-item a.head {
  padding: 0;
  margin-bottom: .5em;
}
.globalNav .nav .--has-child-menu .child-flex .nav__child-menu-item a.head .label {
  font-size: 14px;}
.--h-fixed .globalNav .nav .--has-child-menu .child-menu {
  transform: translateY(50px);
}

.subNav .nav__menu {
  display: grid;
  align-items: center;
  grid-template-columns: repeat(3, auto);
  gap: 10px;
}
.subNav .nav__menu-item a {
  display: flex;
  width: 100%;
  height: 40px;
  align-items: center;
  justify-content: center;
  background-color:#595757;
  font-size: 12px;
  gap: 0.5em;
  transition: background-color 0.3s ease;
}
.subNav .nav__menu-item.transition-infogame a {
  background-image: linear-gradient(90deg, rgb(167, 134, 187), rgb(0, 98, 176));
}
.subNav .nav__menu-item.transition-automotive a {
  background-image: linear-gradient(90deg, rgb(248, 187, 0), rgb(236, 112, 0));
}
@media (hover: hover) and (pointer: fine) {
  .subNav .nav__menu-item a:hover {
    background-color: #000000;
  }
}
.subNav .nav__menu-item img {
  display: block;
  width: 20px;
  height: 100%;
}
.subNav .nav__menu-item svg {
  display: block;
  width: 14px;
  height: 100%;
}
.subNav .nav__menu-item svg path {
  fill: #FFF;
}
.subNav .nav__menu-item .label {
  color: #FFF;
}

.drawerButton {
  position: fixed;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
  z-index: 888;
  background-color: #FFF;
  display: none;
  transition: transform 0.5s ease;
}
@media only screen and (max-width: 769px) {
  .drawerButton {
    display: flex;
    cursor: pointer;
  }
}
html.--open .drawerButton {
  transform: translateX(-270px);
}
.drawerButton__toggle {
  all: unset;
  display: flex;
  flex-direction: column;
  width: 33px;
  height: 33px;
  margin: auto;
}
.drawerButton__toggle-icon {
  display: block;
  width: 100%;
  height: 1px;
  background-color: #9fa0a0;
  position: relative;
  will-change: transform;
  transform-origin: left;
  transition: transform 0.5s var(--transiton-timing-function);
}
.drawerButton__toggle-icon:nth-child(1) {
  margin-top: auto;
}
html.--open .drawerButton__toggle-icon:nth-child(1) {
  transform: rotateZ(20deg);
}
.drawerButton__toggle-icon:nth-child(2) {
  margin-top: 5px;
}
html.--open .drawerButton__toggle-icon:nth-child(2) {
  opacity: 0;
}
.drawerButton__toggle-icon:nth-child(3) {
  margin-top: 5px;
}
html.--open .drawerButton__toggle-icon:nth-child(3) {
  transform: rotateZ(-20deg);
}
.drawerButton__toggle-text {
  display: block;
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  text-align: center;
  line-height: 1;
  position: relative;
  margin-top: auto;
}
.drawerButton__toggle-text span {
  display: block;
  font-size: 10px;
  font-style: italic;
  letter-spacing: 0.05em;
  text-indent: -0.2em;
  color: #9fa0a0;
  transition: opacity 0.5s var(--transiton-timing-function);
  word-break: keep-all;
}
.drawerButton__toggle-text .--menu {
  opacity: 1;
}
html.--open .drawerButton__toggle-text .--menu {
  opacity: 0;
}
.drawerButton__toggle-text .--close {
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
  opacity: 0;
}
html.--open .drawerButton__toggle-text .--close {
  opacity: 1;
}

.drawerNav {
  position: fixed;
  width: 270px;
  height: 100vh;
  height: 100dvh;
  right: 0;
  top: 0;
  z-index: 999;
  background-color: #FFF;
  display: none;
  pointer-events: none;
  will-change: transform;
  transform: translateX(270px);
  transition: transform 0.5s ease;
}
@media only screen and (max-width: 769px) {
  .drawerNav {
    display: block;
  }
}
html.--open .drawerNav {
  overscroll-behavior-y: contain;
  overflow-y: scroll;
  pointer-events: all;
  transform: translateX(0);
}
.drawerNav .nav ul li {
  border-bottom: 1px solid #FFF;
}
.drawerNav .nav ul li a {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 44px;
  padding: 0.5em;
}
.drawerNav .nav ul li.transition-infogame a {
  background-image: linear-gradient(90deg, rgb(167, 134, 187), rgb(0, 98, 176));
  font-weight: 600;
}
.drawerNav .nav ul li.transition-automotive a {
  background-image: linear-gradient(90deg, rgb(248, 187, 0), rgb(236, 112, 0));
  font-weight: 600;
}
.drawerNav .nav ul li a .label {
  font-size: 14px;
}
.drawerNav .nav__menu-item a {
  background-color: rgba(240, 131, 0, 0.9);
}
.drawerNav .nav__menu-item a .label {
  font-weight: 700;
  color: #FFF;
}
.drawerNav .nav__child-menu-item:first-child {
  border-top: 1px solid #FFF;
}
.drawerNav .nav__child-menu-item:last-child {
  border-bottom: none;
}
.drawerNav .nav__child-menu-item a {
  background-color: #f4a95d;
}
.drawerNav .nav__child-menu-item a .label {
  color: #fff;
  font-weight: 500;
}
.drawerNav .nav__sub-menu-item a {
  background-color: #727171 !important;
}
.drawerNav .nav__sub-menu-item a .label {
  color: #FFF;
}
.drawerNav .nav__sub-menu-item a .icon {
  width: 1.5em;
  border: none;
}
.drawerNav .nav__fsg-group-item > a > .label {
  font-weight: 700;
}
.drawerNav .nav__fsg-group-item a {
  background-color: #296753;
}
.drawerNav .nav__fsg-group-item a .label {
  color: #FFF;
}
.drawerNav .nav__fsg-group-item > .nav__child-menu a {
  background-color: #eff0f0 !important;
}
.drawerNav .nav__fsg-group-item > .nav__child-menu > .nav__child-menu-item:last-child > a > .label {
  color: gray;
}
.drawerNav .nav__fsg-group-item > .nav__child-menu > .nav__child-menu-item:last-child > a > .acdn__toggle-icon {
  border-color: gray;
}
.drawerNav .nav__fsg-group-item > .nav__child-menu .nav__child-menu .nav__child-menu-item a {
  background-color: rgba(35, 24, 21, 0.8) !important;
}
.drawerNav .acdn__toggle-icon {
  display: block;
  width: 0.5em;
  height: 0.5em;
  border-top: 2px solid #FFF;
  border-right: 2px solid #FFF;
  transform: rotateZ(45deg);
}
.drawerNav .acdn__toggle.--active .acdn__toggle-icon {
  transform: rotateZ(135deg);
}
.drawerNav .acdn__toggle + ul {
  display: none;
}




/* globalMain */
.main {
  position: inherit;
  z-index: -1;
}



/* globalFooter */
footer {
  position: relative;
  z-index: 1;
}
.site-footer__inner {
  margin: 0 auto;
  width: calc(100% - (100vw / (1366 / 220)));
  max-width: 1120px;
  padding-block: 90px;
  display: grid;
  grid-template-columns: repeat(2, auto);
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  row-gap: 24px;
}
@media only screen and (max-width: 768px) {
  .site-footer__inner {
    width: calc(100% - 4rem);
    max-width: inherit;
  }
}
@media only screen and (max-width: 768px) {
  .site-footer__inner {
    display: block;
    padding-block: 45px;
  }
}
.site-footer .logo {
  width: 434px;
}
@media only screen and (max-width: 768px) {
  .site-footer .logo {
    width: 258px;
  }
}
@media only screen and (max-width: 768px) {
  .site-footer .contact {
    margin-top: 16px;
  }
}
.site-footer .contact a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
.site-footer .contact a > span {
  line-height: 1.4;
  display: inline-block;
  position: relative;
}
.site-footer .contact a > span::before {
  content: "";
  background-color: #fff;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.39, 0.58, 0.57, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.39, 0.58, 0.57, 1);
  transition: transform 0.3s cubic-bezier(0.39, 0.58, 0.57, 1);
  transition: transform 0.3s cubic-bezier(0.39, 0.58, 0.57, 1), -webkit-transform 0.3s cubic-bezier(0.39, 0.58, 0.57, 1);
}
.site-footer .contact a > span::before {
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: right;
          transform-origin: right;
}
@media (hover: hover) and (pointer: fine) {
  .site-footer .contact a:hover > span::before {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: left;
            transform-origin: left;
  }
}
.site-footer .contact a .icon {
  width: 60px;
  line-height: 1;
  border: none;
}
@media only screen and (max-width: 768px) {
  .site-footer .contact a .icon {
    width: 36px;
  }
}
.site-footer .contact a .icon::before {
  content: none;
}
.site-footer .contact a .num {
  font-size: clamp(2.0625rem, 1.7787rem + 0.7568vw, 2.8125rem);
  font-size: 55px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  margin-left: 20px;
}
@media only screen and (max-width: 768px) {
  .site-footer .contact a .num {
    font-size: 33px;
    margin-left: 10px;
  }
}
.site-footer .contact a .num::before {
  height: 2px;
}
.site-footer .contact > span {
  display: block;
  font-size: clamp(1.3rem, 1.0351rem + 0.7064vw, 2rem);
  font-size: 20px;
  line-height: 1.5;
  color: #fff;
  padding-top: 0.5em;
}
@media only screen and (max-width: 768px) {
  .site-footer .contact > span {
    font-size: 13px;
  }
}
.site-footer .access {
  grid-row: 3;
  grid-column: 3/4;
  font-size: clamp(1.3rem, 1.0351rem + 0.7064vw, 2rem);
  font-size: 20px;
  line-height: 1.5;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .site-footer .access {
    font-size: 13px;
    margin-top: 16px;
  }
}
.site-footer .sns__list {
  grid-row: 1/4;
  grid-column: 2;
  margin-top: auto;
  display: grid;
  grid-template-columns: repeat(5, 76px);
  gap: 30px;
}
@media only screen and (max-width: 768px) {
  .site-footer .sns__list {
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    margin-top: 24px;
  }
}
.site-footer .sns__list-item a {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .site-footer .sns__list-item a:hover {
    opacity: 0.7;
  }
}
.site-footer .sns__list-item a img {
  border-radius: 50%;
  width: 100%;
}
.site-footer .contact-box {
  display: none;
  height: 100px;
  background-color: #FFF;
  border-radius: 6px;
  padding: .5rem;
  margin-top: 2.4rem;
}
.site-footer .contact-box a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.site-footer .contact-box__tel {
  width: 65%;
  border-right: 1px solid #f39800;
}
.site-footer .contact-box__tel .label::before {
  content: "";
  display: inline-block;
  width: 23px;
  height: 14px;
  background-image: url("./assets/img/libs/icon_free-dial-black.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 2px;
}
.site-footer .contact-box__access {
  width: 35%;
}
.site-footer .contact-box .icon {
  border: none;
  display: block;
  width: 40px;
  height: 40px;
  margin: 0 auto .5rem;
}
.site-footer .contact-box .icon img {
  width: 100%;
  height: 100%;
}
.site-footer .contact-box .label {
  display: block;
  text-align: center;
  font-size: 1.35rem;
  font-weight: 700;
  color: #000;
}
@media only screen and (max-width: 768px) {
  .site-footer .contact-box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}
.site-footer__inner {
  padding-bottom: 30px;
}

.footer__link {
  background: #ededed;
  padding: 15px 0;
}
.footer__link ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem 2rem;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  .footer__link ul {
    gap: 1rem 0;
  }
}
@media only screen and (max-width: 768px) {
  .footer__link ul li {
    width: 50%;
    text-align: center;
  }
}
.footer__link ul a {
  font-size: 13px;
  color: #333;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .footer__link ul a {
    font-size: 11px;
  }
}
.footer__link ul a::after {
  display: block;
  content: "";
  width: 0;
  height: 1px;
  background: #333;
  margin-top: 1px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.footer__link ul a:hover::after {
  width: 100%;
}

.copyright {
  font-size: 12px;
  font-weight: bold;
  padding: 1rem;
  text-align: center;
  background: #fff;
  color: #666;
}
@media only screen and (max-width: 768px) {
  .copyright {
    font-size: 10px;
    padding-bottom: 90px;
  }
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: drawerNav-footer */
.site-footer {
  background: rgb(225, 122, 0);
  background: -webkit-gradient(linear, left top, right top, from(rgb(225, 122, 0)), to(rgb(246, 171, 0)));
  background: -webkit-linear-gradient(left, rgb(225, 122, 0) 0%, rgb(246, 171, 0) 100%);
  background: linear-gradient(90deg, rgb(225, 122, 0) 0%, rgb(246, 171, 0) 100%);
  -webkit-clip-path: polygon(0 60px, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 60px, 100% 0, 100% 100%, 0% 100%);
  margin-top: -20px;
}
@media screen and (min-width: 769px) {
  .site-footer__inner {
    max-width: 1180px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-block: 60px;
    padding-top: 140px;
  }
  .site-footer .site-footer__right {
    width: 360px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 18px;
  }
  .site-footer .site-footer__right > * {
    width: 100%;
  }
  .site-footer .site-footer__right .sns__list {
    grid-template-columns: repeat(5, 50px);
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: unset;
  }
  .site-footer .site-footer__right .contact a .icon {
    width: 50px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 768px) {
  .site-footer .site-footer__right .contact a .icon {
    width: 36px;
  }
}
@media screen and (min-width: 769px) {
  .site-footer .site-footer__right .contact a .num {
    font-size: clamp(2.0625rem, 1.7787rem + 0.7568vw, 2.8125rem);
  }
}
@media screen and (min-width: 769px) {
  .site-footer .site-footer__right .contact > span {
    font-size: clamp(0.8125rem, 0.7179rem + 0.2523vw, 1.0625rem);
  }
}
@media screen and (min-width: 769px) {
  .site-footer .site-footer__right .access {
    font-size: clamp(0.8125rem, 0.7179rem + 0.2523vw, 1.0625rem);
  }
}
@media screen and (min-width: 769px) {
  .site-footer .drawerNav-footer {
    width: calc(100% - 360px - 6.9444444444%);
  }
  .site-footer .drawerNav-footer .drawerNav {
    display: block;
    position: unset;
    width: 100%;
    height: auto;
    background: unset;
    pointer-events: all;
    -webkit-transition: unset;
    transition: unset;
    -webkit-transform: unset;
            transform: unset;
  }
  .site-footer .drawerNav-footer .drawerNav .nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 3.125vw;
  }
  .site-footer .drawerNav-footer .drawerNav .nav ul li a {
    padding: 0;
    padding-right: 3px;
    background: unset;
    min-height: 40px;
    white-space: nowrap;
  }
  .site-footer .drawerNav-footer .drawerNav .nav ul li a .label {
    font-size: clamp(10px, 0.9722222222vw, 14px);
    color: #fff;
  }
  .site-footer .drawerNav-footer .drawerNav .nav ul li a:hover {
    opacity: 0.8;
  }
  .site-footer .drawerNav-footer .drawerNav .nav ul:first-child li:nth-child(n+3) {
    border-bottom-color: rgba(255, 255, 255, 0.5);
  }
  .site-footer .drawerNav-footer .drawerNav .nav ul:first-child li:last-child {
    border-bottom-color: #fff;
  }
  .site-footer .drawerNav-footer .drawerNav .nav ul:first-child li:nth-child(n+4) a {
    min-height: 34px;
  }
  .site-footer .drawerNav-footer .drawerNav .nav__menu:not(:last-child) .nav__menu-item .nav__child-menu {
    padding: 0 0 10px;
  }
  .site-footer .drawerNav-footer .drawerNav .nav__menu:not(:last-child) .nav__menu-item .nav__child-menu .nav__child-menu-item {
    border-top: unset;
  }
  .site-footer .drawerNav-footer .drawerNav .nav__menu:not(:last-child) .nav__menu-item .nav__child-menu .nav__child-menu-item a {
    min-height: unset;
    padding-top: 6px;
    padding-bottom: 6px;
  }
  .site-footer .drawerNav-footer .drawerNav .nav__menu:not(:last-child) .nav__menu-item .nav__child-menu .nav__child-menu-item .label {
    font-size: clamp(10px, 0.9027777778vw, 13px);
  }
  .site-footer .drawerNav-footer .drawerNav .nav__menu:not(:last-child) .nav__menu-item .nav__child-menu .nav__child-menu-item .label::before {
    content: "-";
    display: inline-block;
    padding: 0 5px;
  }
  .site-footer .drawerNav-footer .drawerNav .nav__menu:not(:last-child) .nav__menu-item .nav__child-menu .nav__child-menu-item:not(:last-child) {
    border-bottom: unset;
  }
  .site-footer .drawerNav-footer .drawerNav .nav__menu {
    min-width: 164px;
  }
  /* .site-footer .drawerNav-footer .drawerNav .nav__menu:nth-child(1) .nav__menu-item:nth-child(3) > .nav__child-menu {
    display: block;
  } */
  .site-footer .drawerNav-footer .drawerNav .nav__menu:nth-child(1) .nav__menu-item:nth-child(3) > .nav__child-menu > .nav__child-menu-item:first-child {
    display: none;
  }
  /* .site-footer .drawerNav-footer .drawerNav .nav__menu:nth-child(1) .nav__menu-item:nth-child(3) .acdn__toggle {
    display: none;
  } */
  .site-footer .drawerNav-footer .drawerNav .nav__menu:nth-child(1) .nav__menu-item:nth-child(3) .nav__child-menu .nav__child-menu-item:first-child {
    border-top: unset;
  }
  .site-footer .drawerNav-footer .drawerNav .nav__menu:nth-child(1) .nav__menu-item:nth-child(3) .nav__child-menu .nav__child-menu-item:first-child a {
    padding-left: 0;
  }
  /* .site-footer .drawerNav-footer .drawerNav .nav__menu:nth-child(1) .nav__menu-item:nth-child(3) .nav__child-menu .nav__child-menu-item:first-child a .label {
    font-size: clamp(10px, 0.9722222222vw, 14px);
  } */
  .site-footer .drawerNav-footer .drawerNav .nav__menu:nth-child(1) .nav__menu-item:nth-child(3) .nav__child-menu .nav__child-menu-item:first-child a .label::before {
    display: none;
  }
  .site-footer .drawerNav-footer .drawerNav .nav__menu:nth-child(1) .nav__menu-item:nth-child(3) .nav__child-menu .nav__child-menu-item:not(:first-child) a {
    min-height: unset;
    padding-top: 6px;
    padding-bottom: 6px;
  }
  .site-footer .drawerNav-footer .drawerNav .nav__menu:nth-child(1) .nav__menu-item:nth-child(3) .nav__child-menu .nav__child-menu-item .label {
    font-size: clamp(10px, 0.9027777778vw, 13px);
  }
  .site-footer .drawerNav-footer .drawerNav .nav__menu:nth-child(1) .nav__menu-item:nth-child(3) .nav__child-menu .nav__child-menu-item .label::before,
  .site-footer .drawerNav-footer .drawerNav .nav__menu:nth-child(1) .nav__menu-item:nth-child(3) .nav__child-menu .nav__child-menu-item:first-child a .label::before {
    content: "-";
    display: inline-block;
    padding: 0 5px;
  }
  .site-footer .drawerNav-footer .drawerNav .nav__menu:nth-child(1) .nav__menu-item:nth-child(3) .nav__child-menu .nav__child-menu-item:not(:last-child) {
    border-bottom: unset;
  }
  .site-footer .drawerNav-footer .drawerNav .nav__menu:nth-child(3) .nav__menu-item:nth-child(1) .acdn__toggle {
    display: none;
  }
  .site-footer .drawerNav-footer .drawerNav .nav__menu:nth-child(3) .nav__menu-item:nth-child(1) .nav__child-menu {
    display: block;
  }
  .site-footer .drawerNav-footer .drawerNav .nav__menu:nth-child(3) .nav__menu-item:nth-child(1) .nav__child-menu .nav__child-menu-item:first-child {
    border-top: unset;
  }
}
@media only screen and (max-width: 768px) {
  .site-footer {
    -webkit-clip-path: polygon(0 40px, 100% 0, 100% 100%, 0% 100%);
            clip-path: polygon(0 40px, 100% 0, 100% 100%, 0% 100%);
    margin-top: 0;
  }
  .site-footer__inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .site-footer .site-footer__right {
    max-width: 340px;
    margin: auto;
  }
  .site-footer .site-footer__right > * {
    width: 100%;
  }
  .site-footer .drawerNav-footer {
    margin-bottom: 50px;
  }
  .site-footer .drawerNav-footer .drawerNav {
    display: block;
    position: unset;
    max-width: 360px;
    width: 100%;
    height: auto;
    margin: auto;
    background: unset;
    pointer-events: all;
    -webkit-transition: unset;
    transition: unset;
    -webkit-transform: unset;
            transform: unset;
  }
  .site-footer .drawerNav-footer .drawerNav .nav ul li a {
    padding-left: 0;
    padding-right: 3px;
    background: unset;
  }
  .site-footer .drawerNav-footer .drawerNav .nav ul li a .label {
    color: #fff;
  }
  .site-footer .drawerNav-footer .drawerNav .nav ul:first-child li:nth-child(n+3) {
    border-bottom-color: rgba(255, 255, 255, 0.5);
  }
  .site-footer .drawerNav-footer .drawerNav .nav ul:first-child li:last-child {
    border-bottom-color: #fff;
  }
  .site-footer .drawerNav-footer .drawerNav .nav ul:first-child li:nth-child(n+4) a {
    min-height: 40px;
  }
  .site-footer .drawerNav-footer .drawerNav .nav__menu .nav__menu-item .nav__child-menu {
    padding: 0 0 10px;
  }
  .site-footer .drawerNav-footer .drawerNav .nav__menu .nav__menu-item .nav__child-menu .nav__child-menu-item {
    border-top: unset;
  }
  .site-footer .drawerNav-footer .drawerNav .nav__menu .nav__menu-item .nav__child-menu .nav__child-menu-item a {
    min-height: unset;
    padding-top: 6px;
    padding-bottom: 6px;
  }
  .site-footer .drawerNav-footer .drawerNav .nav__menu .nav__menu-item .nav__child-menu .nav__child-menu-item .label {
    font-weight: bold;
  }
  .site-footer .drawerNav-footer .drawerNav .nav__menu .nav__menu-item .nav__child-menu .nav__child-menu-item .label::before {
    content: "-";
    display: inline-block;
    padding: 0 5px;
  }
  .site-footer .drawerNav-footer .drawerNav .nav__menu .nav__menu-item .nav__child-menu .nav__child-menu-item:not(:last-child) {
    border-bottom: unset;
  }
}

/* .site-footer {
  background-color: #f39800;
  position: relative;
  z-index: 10;
}
.site-footer__inner {
  margin: 0 auto;
  width: calc(100% - (100vw / (1366 / 220)));
  max-width: 1120px;
  padding-block: 4rem;
  display: grid;
  grid-template-columns: repeat(2, auto);
  justify-content: space-between;
  row-gap: 2rem;
}
.site-footer .logo {
  width: 510px;
}
.site-footer .contact a {
  display: flex;
  align-items: center;
}
.site-footer .contact a > span {
  line-height: 1.4;
  display: inline-block;
  position: relative;
}
.site-footer .contact a > span::before {
  content: "";
  background-color: #FFF;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  transition: transform 0.3s cubic-bezier(0.39, 0.58, 0.57, 1);
}
.site-footer .contact a > span::before {
  transform: scaleX(0);
  transform-origin: right;
}
.site-footer .contact a:hover > span::before {
  transform: scaleX(1);
  transform-origin: left;
}
.site-footer .contact a .icon {
  width: 67px;
  line-height: 1;
  border: none;
}
.site-footer .contact a .icon::before {
  content: none;
}
.site-footer .contact a .num {
  font-size: clamp(2.0625rem, 1.3766rem + 1.829vw, 3.875rem);
  font-weight: 700;
  line-height: 1;
  color: #FFF;
  margin-left: 2rem;
}
.site-footer .contact a .num::before {
  height: 2px;
}
.site-footer .contact > span {
  display: block;
  font-size: clamp(0.8125rem, 0.505rem + 0.8199vw, 1.625rem);
  line-height: 1.5;
  color: #FFF;
  padding-top: 0.5em;
}
.site-footer .access {
  font-size: clamp(0.8125rem, 0.505rem + 0.8199vw, 1.625rem);
  line-height: 1.5;
  color: #FFF;
}
.site-footer .sns__list {
  grid-row: 1/4;
  grid-column: 2;
  margin-top: auto;
  display: grid;
  grid-template-columns: repeat(5, 76px);
  gap: 1.5rem;
}
.site-footer .sns__list-item a {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  transition: opacity 0.3s ease;
}
.site-footer .sns__list-item a:hover {
  opacity: 0.7;
}
.site-footer .sns__list-item a img {
  border-radius: 50%;
}
.site-footer .contact-box {
  display: none;
  height: 100px;
  background-color: #FFF;
  border-radius: 6px;
  padding: .5rem;
  margin-top: 2.4rem;
}
.site-footer .contact-box a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.site-footer .contact-box__tel {
  width: 65%;
  border-right: 1px solid #f39800;
}
.site-footer .contact-box__tel .label::before {
  content: "";
  display: inline-block;
  width: 23px;
  height: 14px;
  background-image: url("./assets/img/libs/icon_free-dial-black.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 2px;
}
.site-footer .contact-box__access {
  width: 35%;
}
.site-footer .contact-box .icon {
  border: none;
  display: block;
  width: 40px;
  height: 40px;
  margin: 0 auto .5rem;
}
.site-footer .contact-box .icon img {
  width: 100%;
  height: 100%;
}
.site-footer .contact-box .label {
  display: block;
  text-align: center;
  font-size: 1.35rem;
  font-weight: 700;
  color: #000;
}
.footer__link {
	background: #ededed;
	padding: 15px 0;
}
.footer__link ul {
	display: flex;
	gap: 1rem 2rem;
	justify-content: center;
	flex-wrap: wrap;
}
.footer__link ul li a {
	font-size: 13px;
	color: #333;
	position: relative;
}
.footer__link ul li a::after {
	display: block;
	content: "";
	width: 0;
	height: 1px;
	background: #333;
	margin-top: 1px;
	transition: 0.3s;
}
.footer__link ul li a:hover::after {
	width: 100%;
}

.copyright {
	font-size: 12px;
	font-weight: bold;
	padding: 1rem;
	text-align: center;
	background: #fff;
	color: #666;
}

@media only screen and (max-width: 769px) {
  .site-footer__inner {
    width: calc(100% - 2rem);
    max-width: inherit;
  }
  .site-footer__inner {
    display: block;
    padding-block: 2rem;
  }
  .site-footer .logo {
    width: 288px;
  }
  .site-footer .contact {
    margin-top: 1.6rem;
  }
  .site-footer .contact a .icon {
    width: 36px;
  }
  .site-footer .contact a .num {
    margin-left: 1rem;
  }
  .site-footer .access {
    margin-top: 1.6rem;
  }
  .site-footer .sns__list {
    grid-template-columns: repeat(5, 1fr);
    gap: 0.8rem;
    margin-top: 2.4rem;
  }
  .site-footer .contact-box {
    display: flex;
  }

  .footer__link ul {
  	gap: 1rem 0;
  }
  .footer__link ul li {
    width: 50%;
    text-align: center;
  }
  .footer__link ul li a {
    font-size: 11px;
  }

  .copyright {
    font-size: 10px;
    padding-bottom: 90px;
  }
} */


















@media only screen and (max-width: 769px) {
  .h_main {
    position: fixed;
    top: 0;
    z-index: 999;
    width: 100%;
  }
}



.fsg-partner {
  background-color: #fff;
  background-image: url(assets/img/libs/bg01.png);
  padding: 30px 0;}
.fsg-partner ul {
  margin: auto;
  max-width: 1050px;
  width: 90%;}
.fsg-partner ul li {
  box-sizing: border-box;
  padding: 0 15px;
}
.fsg-partner ul li a { display: block;}
.fsg-partner ul li img { width: 100%;}
.fsg-partner .slick-prev.slick-arrow {
  border: none;
  background: url(assets/img/home/parts-arrow.png) left center no-repeat !important;
  width: 23px;
  height: 41px;
  left: -45px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.fsg-partner .slick-next.slick-arrow {
  border: none;
  background: url(assets/img/home/parts-arrow.png) right center no-repeat !important;
  width: 23px;
  height: 41px;
  right: -45px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
@media screen and (max-width: 769px) {
  .fsg-partner {
    margin-top: -30px;
    margin-bottom: 30px;
  }
  .fsg-partner ul {
    margin: auto;
    width: 100%;
  }
  .fsg-partner ul li {
    padding: 0 5px 10px;}
}



/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/* fixNav */
/* 目次 */
/* __00: 共通設定 */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/* __00: 共通設定 */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.fixNav {
  position: fixed;
  width: 100px;
  height: -moz-fit-content;
  height: fit-content;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  pointer-events: none;
  z-index: 6666;
}
.fixNav .nav__menu {
  display: grid;
  row-gap: .5rem;
}
.fixNav .nav__menu-item {
	margin: 0 0 0 auto;
}
.fixNav .nav__menu-item a {
  background-color: #e67f11;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  display: grid;
  place-content: center;
  align-items: center;
  min-height: 80px;
  color: #FFF;
  pointer-events: all;
  padding: 0;
  gap: 5px;
  border-radius: 5px 0 0 5px;
  overflow: hidden;
  position: relative;
  z-index: 1;
  transition: opacity 0.3s ease;
  width: 80px;
}
.fixNav .nav__menu-item a.fixNav_oc {
  padding: 1rem 0;
  width: 100px;
}
.fixNav .nav__menu-item a:hover {
  opacity: 0.7;
}
.fixNav .nav__menu-item a::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1;
  background: linear-gradient(0, #FFF 0%, rgba(230, 127, 17, 0.6) 100%);
  opacity: 0.5;
  mix-blend-mode: multiply;
}
.fixNav .nav__menu-item a span {
  border: none;
  display: block;
  text-align: center;
  line-height: 1.2;
  letter-spacing: 0.01em;
}
.fixNav .nav__menu-item .icon {
  width: 38px;
  height: 28px;
  margin: 0 auto;
}
.fixNav .nav__menu-item .icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.fixNav .nav__menu-item .label {
  font-size: 11px;
  font-weight: 600;
}
.fixNav .nav__menu-item .day {
  font-size: 14px;
  font-weight: 700;
}
.home-infogame .fixNav .nav__menu-item a {
	background: var(--color-infogame);
	border: none;
}
.home-automotive .fixNav .nav__menu-item a {
	background: var(--color-automotive);
	border: none;
}
@media only screen and (max-width: 769px) {
  .fixNav {
    top: inherit;
    left: 0;
    bottom: 0;
    /* width: calc(100% - 2rem); */
	width: 100%;
    z-index: 99;
  }
  .fixNav .nav__menu {
    background-color: #e67f11;
    grid-template-columns: repeat(4, auto);
    row-gap: 0;
    border-radius: 8px 8px 0 0;
    overflow: hidden;
    position: relative;
  }
  .fixNav .nav__menu::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: -1;
    background: linear-gradient(90deg, #FFF 0%, rgba(230, 127, 17, 0.6) 100%);
    opacity: 0.5;
    mix-blend-mode: multiply;
  }
  .fixNav .nav__menu-item {
	margin: unset;
  }
  .fixNav .nav__menu-item a {
    height: 50px;
    min-height: inherit;
    background-color: transparent;
    border-radius: 0;
    padding: 0;
    margin: 5px 0;
    border-left: 1px solid #FFF;
    border-top: none;
    border-bottom: none;
	width: unset;
  }
  .fixNav .nav__menu-item a::before {
    content: none;
  }
  .fixNav .nav__menu-item .icon {
    width: 30px;
    height: 20px;
	padding: 0;
  }
  .fixNav .nav__menu-item:first-child a {
    border-left: none;
    background-image: none;
    padding: 0;
  }
  .fixNav .nav__menu-item:first-child .icon {
    grid-column: 1;
    grid-row: 1/3;
  }
  .fixNav .nav__menu-item:first-child .label {
    grid-column: 2;
  }
  .fixNav .nav__menu-item:first-child .dat {
    grid-column: 2;
  }
  .fixNav .nav__menu-item a.fixNav_oc {
	width: unset;
  }
  .fixNav .nav__menu-item a.fixNav_app,
  .fixNav .nav__menu-item a.fixNav_line {
    background-image: none;
  }
  .fixNav .nav__menu-item .day {
	font-size: 14px;
  }
  .home-infogame .fixNav .nav__menu {
	background: var(--color-infogame);
  }
  .home-automotive .fixNav .nav__menu {
	background: var(--color-automotive);
  }
}
/* .cta-top {
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 9999;
}
.cta-top div + a {
  margin-top: 10px;
}

.cta-top a {
	width: 110px;
  display: block;
  opacity: 1;
  overflow: hidden;
	margin: 0 auto 5px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;
}
.cta-top a img {
	width: 100%;
}
.cta-top a:hover {
  opacity: .8;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;
}
.cta-top a:nth-last-child(1) {
  margin-bottom: 0;
}
.cta-top a.btn02 {
	margin: 0 auto 5px;
	width: 100px;
}
.cta-top a.btn03 {
	margin: 20px auto 0;
	width: 50px;
}
.cta-top a.btn02 img,
.cta-top a.btn03 img {
	width: 100%;
}

@media only screen and (max-width: 769px) {
	.cta-top {
		top: inherit;
		bottom: 15px;
		right: 5px;
		transform: translate(0);
		z-index: 555;
	}
	.cta-top .spmode::after {
		content: '';
		display: table;
		clear: both;
	}
	.cta-top a {
		margin-bottom: 5px;
		width: 70px;
	}
	.cta-top a.btn02 {
		margin: 0 auto 5px;
		width: 60px;
	}
	.cta-top a.btn03 {
		margin: 0 auto 0;
		width: 40px;
		clear: both;
		padding-top: 10px;
	}
} */

/* 各ページスタイル
----------------------------------------------------- */
/*
@include max($md){

}
*/
/* general style */
.visual-header {
  background-color: #ffdf9f;
  background-image:repeating-linear-gradient(-45deg,rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.3) 5px,transparent 0, transparent 15px) !important;
  height: 150px;
  position: relative;
}
.visual-header h1 {
  align-items: center;
  box-sizing: border-box;
  color: #e67f12;
  display: flex;
  font-size: 43px;
  flex-wrap: wrap;
  padding-left: .5em;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 95%;
  height: 85px;
  max-width: 1120px;
}
.visual-header h1::after {
  content: "";
  position: absolute;
  width: 5px;
  height: 100%;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #e67f12;
  border-radius: 6px;
}
.visual-header h1 span {
  display: block;
  width: 100%;
}
.visual-header h1 .small {
  font-size: 16px;
}

@media only screen and (max-width: 769px) {
  .visual-header {
    height: 130px;
    margin-top: 50px;
  }
  .visual-header h1 {
    font-size: 30px;
    height: 60px;
  }
}

.col1 {
  float: left;
}

@media only screen and (max-width: 769px) {
  .col1 {
    float: inherit;
  }
}

.col2:nth-child(2n+1) {
  float: left;
}

.col2:nth-child(2n+2) {
  float: right;
}

@media only screen and (max-width: 769px) {
  .col2:nth-child(2n+1), .col2:nth-child(2n+2) {
    float: inherit;
  }
}

.icon {
  border-radius: 5px;
  border: 2px solid;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  font-weight: bold;
}

.floBox::after {
  content: '';
  display: table;
  clear: both;
}

.tbl-set {
  width: 1120px;
  margin: auto;
  border: none;
}

.tbl-set + .tbl-set {
  margin-top: 40px;
}

.tbl-set table, .tbl-set figure {
  border-collapse: collapse;
  border-spacing: 0;
  width: 1120px;
}

.tbl-set table th, .tbl-set table td, .tbl-set figure th, .tbl-set figure td {
  border: 1px solid #DCDDDD;
}

.tbl-set thead tr {
  background-color: #595757;
}

.tbl-set thead th {
  color: white;
  white-space: nowrap;
  vertical-align: middle;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  padding: 18px 0;
}

.tbl-set tbody tr > td:first-child {
  font-weight: bold;
  width: 390px;
}

.tbl-set tbody tr + tr {
  border-top: 1px solid #DCDDDD;
}

.tbl-set tbody tr:last-child {
  border-bottom: 1px solid #DCDDDD;
}

.tbl-set tbody th {
  text-align: center;
  padding: 14px 0;
  background: white;
  vertical-align: middle;
  box-sizing: border-box;
  border-right: 1px solid #DCDDDD;
}

.tbl-set tbody td {
  text-align: center;
  padding: 14px 0;
  background: white;
  vertical-align: middle;
  box-sizing: border-box;
  border-right: 1px solid #DCDDDD;
}

.tbl-set tbody td:nth-child(2), .tbl-set tbody td:nth-child(3), .tbl-set tbody td:nth-child(4), .tbl-set tbody td:nth-child(5), .tbl-set tbody td:nth-child(6) {
  border-left: 1px solid #DCDDDD;
}

.tbl-set tbody td p {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.tbl-set tbody td p strong {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.5714285714;
}

.tbl-set tbody td:first-child {
  border-left: 1px solid #DCDDDD;
}

@media only screen and (max-width: 769px) {
  .tbl-set {
    box-sizing: border-box;
    width: 100%;
    margin: auto;
    padding-bottom: 20px;
    overflow-x: scroll;
    white-space: nowrap;
  }
  .tbl-set table, .tbl-set figure {
  	width: 640px;
  }
  .tbl-set thead th,
  .tbl-set tbody td,
  .tbl-set tbody td p {
  	font-size:13px;
  }

  .tbl-set::-webkit-scrollbar {
    height: 5px;
  }
  .tbl-set::-webkit-scrollbar-track {
    background: #F1F1F1;
  }
  .tbl-set::-webkit-scrollbar-thumb {
    background: #BCBCBC;
  }
  .tbl-set.no-scroll {
  	overflow-x: hidden;
  	white-space: normal;
  }
  .tbl-set.no-scroll table, .tbl-set.no-scroll figure {
	width:auto;
	height: auto;
  }
  .tbl-set.no-scroll table td,
  .tbl-set.no-scroll table th {
  	width: auto;
  }
  .tbl-set.no-scroll table td:nth-of-type(1) {
  	width: 30%;
  }
}

.radius-box, .sp-radius-box {
  border-radius: 5px;
  box-sizing: border-box;
}

#test.home .slider {
  width: 100%;
  height: 100%;
  min-height: 750px;
  overflow: hidden;
  position: relative;
  background: url(assets/img/home/slide/back.png) no-repeat center top;
}
#test.home .slider .bx-pager {
  display: flex;
  flex-wrap: nowrap;
  position: absolute;
  width: 1120px;
  top: 580px;
  left: 50%;
  transform: translateX(-50%);
  margin: auto;
}
#test.home .slider .bx-pager a {
  margin: auto 0.5%;
  width: 32%;
}
#test.home .slider .bx-pager a img {
  width: 100%;
}

#slider {
    position: relative;
    margin: 0 auto;
    width: 980px;
    height: 432px;
}

/*
.bx-pager ul {
	display: flex;
}
.bx-pager li {
	margin: 0 5px;
	width: calc(100% / 7 - 10px);
    *display: inline;
    *zoom: 1;
}
.bx-pager li img { width: 100%;} */


/* .home .slider .bx-pager-first {
	margin: 0 auto 0;
	position: absolute;
	bottom: 0;
	top: 540px;
	left: 0;
	right: 0;
	width: 1120px;
}
.home .slider .bx-pager-first ul {
    display: table;
    width: 100%;
}
.home .slider .bx-pager-first li {
    display: table-cell;
    border: 5px solid transparent;
}
.home .slider .bx-pager-first li img { width: 100%;}
.home .slider .bx-pager-first img {
    display: block;
    width: 100%;
} */

@media only screen and (max-width: 769px) {
	/* .home .slider .bx-controls {
		bottom: 0;
	} */
}


/* .home .slider .slide-wrap .bx-wrapper:before {

  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background: url(assets/img/home/slide/logo.png) no-repeat right bottom;
  position: absolute;
  z-index: 1;

}

.home .slider .slide-wrap .bx-wrapper:after {

  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background: url(assets/img/home/slide/tex.png) no-repeat center center;
  position: absolute;
  z-index: 1;
  top: 0;

}
.home .slider .bx-pager a img {
    opacity: 0.5;
    filter: alpha(opacity=50);
}

.home .slider .bx-pager a.active img {
    opacity: 1;
    filter: alpha(opacity=100);
}

.home .slider nav > ul {
  width: 1050px;
  margin: auto;
  position: relative;
  top: 630px;
  background: white;
  z-index: 1;
  text-align: center;
}

.home .slider nav > ul::after {
  content: '';
  display: table;
  clear: both;
}

.home .slider nav > ul li {
  display: inline-block;
}

.home .slider nav > ul li:after {
  content: "｜";
  padding: 0 4px;
}

.home .slider nav > ul li:nth-last-child(1):after {
  content: "";
  padding: 0;
}

.home .slider nav > ul li a {
  padding: 17px 0;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
}


.home .topics {
  margin: 44px auto 50px;
  width: 1120px;
  background: url(assets/img/home/topics-bg.png) no-repeat right top;
}

.home .topics .ttl {
  position: relative;
  padding-top: 27px;
  margin-bottom: 20px;
}

.home .topics .ttl a {
  position: absolute;
  top: 70%;
  right: 0;
  transform: translate(0, -50%);
}



.home .sec-01 {
  background: #78D7FF;
  overflow: hidden;
}

.home .sec-01 .inner {
  position: relative;
  width: 1120px;
  height: 540px;
  margin: auto;
}

.home .sec-01 .inner .ph01 {
  position: absolute;
  left: -45px;
  top: 50px;
  z-index: 1;
}

.home .sec-01 .inner .ph02 {
  position: absolute;
  left: 518px;
  top: 60px;
}

.home .sec-01 .inner .ph03 {
  position: absolute;
  left: 0px;
  top: 210px;
}

.home .sec-01 .inner a.btn {
  position: absolute;
  top: 420px;
  left: 118px;
}


.home .pickup {
  margin: 44px auto 50px;
  width: 1120px;
  background: url(assets/img/home/pickup-bg.png) no-repeat right top;
}

.home .pickup .ttl {
  margin-left: 22px;
  margin-right: 22px;
  position: relative;
  padding-top: 27px;
  margin-bottom: 20px;
}

.home .pickup .ttl a {
  position: absolute;
  top: 70%;
  right: 0;
  transform: translate(0, -50%);
}

.home .pickup ul.pickup-slide {
  width: 1120px;
  margin: auto;
}

.home .pickup ul.pickup-slide::after {
  content: '';
  display: table;
  clear: both;
}

.home .pickup ul.pickup-slide li {
  background: #F9F9F9;
  width: 178px;
  float: left;
  margin-right: 10px;
}

.home .pickup ul.pickup-slide li:nth-last-child(1) {
  margin-right: 0;
}

.home .pickup ul.pickup-slide li figure {
  margin-bottom: 15px;
}
.home .pickup ul.pickup-slide li figure img {
  width:100%;
}

.home .pickup ul.pickup-slide li p {
  padding: 0 15px;
  font-size: 12px;
  line-height: 1.5;
}

.home .pickup ul.pickup-slide li p strong {
  font-size: 16px;
  line-height: 1;
  padding-bottom: 10px;
  color: #595757;
  display: inline-block;
}

.home .pickup ul.pickup-slide li p + p {
  padding-bottom: 15px;
}

.home .pickup ul.pickup-slide li .attr {
  padding: 10px 20px 20px;
}

.home .pickup ul.pickup-slide li .attr .icon {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  font-weight: bold;
  padding: 3px 14px;
}

.home .pickup ul.pickup-slide li .attr time {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  float: right;
} */

ul.blog_out {
  width: 1120px;
  margin: auto;
}

ul.blog_out::after {
  content: '';
  display: table;
  clear: both;
}

ul.blog_out li {
  background: #F9F9F9;
  width: 360px;
  float: left;
  margin-right: 20px;
}

ul.blog_out li .txt {
  padding: 0 20px 40px;
  min-height: 100px;
  position: relative;
}

ul.blog_out li:nth-last-child(1) {
  margin-right: 0;
}

ul.blog_out li figure {
  position: relative;
  display: block;
  text-align: center;
  width: 360px;
  height: 240px;
  margin-bottom: 15px;
}

ul.blog_out li figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  max-width: 360px;
  max-height: 240px;
}

ul.blog_out li p {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.5;
}

ul.blog_out li p strong {
  font-size: 21px;
  font-size: 1.3125rem;
  line-height: 1.1428571429;
  padding-bottom: 10px;
  color: #595757;
  display: inline-block;
}

ul.blog_out li .attr {
  position: absolute;
  bottom: 3px;
  width: 300px;
  padding: 10px 0;
}

ul.blog_out li .attr time {
  padding: 4px 0;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  float: right;
}

@media only screen and (max-width: 769px) {
  /* .home .slider nav > ul {
    display: none;
  } */
}

@media only screen and (max-width: 769px) {
  /* .home .slider {
		background: none;
    width: 100vw;
    min-height: auto;
  }
  .home .slider .slide-wrap {
    width: 100vw;
    height: auto;
    position: inherit;
    left: inherit;
    margin-left: 0px;
  }
  .home .slider .slide-wrap .bxslider li img {
    width: 100vw;
  }
  .home .slider .slide-wrap .bx-wrapper {
    width: 100vw;
    height: auto;
    margin: auto;
    position: relative;
  }
  .home .slider .slide-wrap .bx-wrapper:before {
    background: url(assets/img/home/slide/logo.png) no-repeat right bottom;
    background-size: 178px 83px;
    bottom: 2px;
  }
  .home .slider .slide-wrap .bx-wrapper:after {
    background: url(assets/img/home/slide/tex.png) no-repeat center center;
    background-size: 228.5px 30.5px;
  }
	.home .slider .bx-pager-first {
		position: relative;
		top: inherit;
		left: inherit;
		right: inherit;
		margin-top: 3%;
		width: 95%;
	}
	.home .slider .bx-pager-first ul {
    display: block;
    overflow: hidden;
    letter-spacing: -.4em;
	}
	.home .slider .bx-pager-first ul li {
		border: none;
	  display: inline-block;
		margin: 5px 5px;
	  width: calc(100% / 4 - 10px);
	  letter-spacing: normal;
	  vertical-align: top;
	} */
}

@media only screen and (max-width: 769px) {
  /* .home .topics {
    margin: 30px 22px 50px;
    width: calc(100% - 44px);
    background: url(assets/img/home/topics-bg.png) no-repeat right top;
    background-size: 190.4px 71.2px;
  }
  .home .topics .ttl {
    padding-top: 10px;
    margin-bottom: 10px;
  }
  .home .topics .ttl h1 img {
    height: 24px;
  }
  .home .topics a.btn {
    margin-top: 20px;
  } */
  ul.blog_out {
    width: 100%;
  }
  ul.blog_out li {
    background: #F9F9F9;
    width: 100%;
    margin-right: 0px;
  }
  ul.blog_out li .txt {
    padding: 0 5px 80px;
    position: relative;
  }
  ul.blog_out li figure {
    position: relative;
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: auto;
    margin-bottom: 5px;
  }
  ul.blog_out li figure img {
    position: static;
    top: 0%;
    left: 0%;
    -webkit-transform: translate(0%, 0%);
    transform: translate(0%, 0%);
    width: 100%;
    height: auto;
    max-height: none;
    max-width: 100%;
  }
  ul.blog_out li p strong {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.3rem;
  }
  ul.blog_out li .attr {
    width: 80%;
    padding: 10px 0 5px;
  }
  ul.blog_out li .attr .cat {
    font-size: 10px;
    font-size: 0.6rem;
    line-height: 1;
    font-weight: bold;
    padding: 2px 5px;
  }

  ul.blog_out li:nth-child(1) {
    margin-bottom: 15px;
  }
  ul.blog_out li:nth-child(1) .txt {
    padding: 0 5px 40px !important;
  }
  ul.blog_out li:nth-child(2) .attr {
    width: 90%;
  }
  ul.blog_out li:nth-child(1) .attr time {
    font-size: 14px;
    font-size: 0.8rem;
    line-height: 1;
    float: inherit;
    display: block;
    text-align: right;
  }

  ul.blog_out li:nth-child(2) {
    float: left;
    margin-right: 7px;
    width: calc(50% - 7px);
  }
  ul.blog_out li:nth-child(2) .txt {
    padding: 0 5px 20px !important;
  }
  ul.blog_out li:nth-child(2) .txt_box {
    display: none;
  }
  ul.blog_out li:nth-child(2) .attr {
    padding: 0px 5px 5px;
  }
  ul.blog_out li:nth-child(2) .attr time {
    font-size: 14px;
    font-size: 0.8rem;
    line-height: 1;
    float: inherit;
    display: block;
    text-align: right;
  }
  ul.blog_out li:nth-last-child(1) {
    margin-right: 0;
    float: right;
    margin-left: 7px;
    width: calc(50% - 7px);
  }
  ul.blog_out li:nth-last-child(1) .txt {
    padding: 0 5px 20px !important;
  }
  ul.blog_out li:nth-last-child(1) .txt_box {
    display: none;
  }
  ul.blog_out li:nth-last-child(1) .attr {
    padding: 0px 5px 5px;
  }
  ul.blog_out li:nth-last-child(1) .attr time {
    font-size: 14px;
    font-size: 0.8rem;
    line-height: 1;
    float: inherit;
    display: block;
    text-align: right;
  }
}

@media only screen and (max-width: 769px) {
  /* .home .sec-01 .inner {
    position: relative;
    width: 100%;
    height: auto;
    padding-bottom: 30px;
  }
  .home .sec-01 .inner .ph01 {
    position: inherit;
    left: inherit;
    top: inherit;
    z-index: 1;
    padding: 15px 9px 0;
  }
  .home .sec-01 .inner .ph01 img {
    width: 100%;
  }
  .home .sec-01 .inner .ph02 {
    position: inherit;
    left: inherit;
    top: inherit;
    padding: 17px 10px 0 22px;
  }
  .home .sec-01 .inner .ph02 img {
    width: 100%;
  }
  .home .sec-01 .inner .ph03 {
    display: none;
  }
  .home .sec-01 .inner p {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.5;
    font-weight: bold;
    color: white;
    margin-top: -20px;
    position: relative;
    z-index: 1;
  }
  .home .sec-01 .inner a.btn {
    position: inherit;
    top: inherit;
    left: inherit;
    margin-top: 14px;
  } */
}

@media only screen and (max-width: 769px) {
  /* .home .sec-02 {
    background: #e95514;
    overflow: hidden;
  }
  .home .sec-02 .inner {
    position: relative;
    width: 100%;
    margin: auto;
    padding: 29px 0 30px;
  }
  .home .sec-02 .inner .ta-c figure img {
    width: calc(100% - 72px);
    padding: 0 18px 0 54px;
  }
  .home .sec-02 ul {
    width: 100%;
  }
  .home .sec-02 ul li {
    text-align: center;
    width: calc(100% - 44px);
    float: inherit;
    border-right: none;
    border-bottom: 1px solid white;
    padding: 30px 13px;
    margin: 0 8px;
  }
  .home .sec-02 ul li figure {
    width: 50%;
    float: left;
    margin-right: 5%;
  }
  .home .sec-02 ul li img {
    width: 100%;
  }
  .home .sec-02 ul li:nth-last-child(1) {
    border-bottom: none;
    padding: 30px 13px 25px;
  }
  .home .sec-02 ul li p {
    color: white;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
    font-weight: bold;
    width: 45%;
    display: block;
    margin: 0 0 0 0px;
    text-align: left;
    overflow: hidden;
  }
  .home .sec-02 ul li p.ta-r {
    margin: 0 0 0 55%;
    text-align: left !important;
  }
  .home .sec-02 a.btn {
    margin: 0;
  } */
}


@media only screen and (max-width: 769px) {
  /* .home .pickup {
    margin: 30px 0 50px;
    width: 100%;
    background: url(assets/img/home/pickup-bg.png) no-repeat right top;
    background-size: 214px 71.2px;
  }
  .home .pickup ul {
    margin: auto !important;
  }
  .home .pickup .ttl {
    padding-top: 10px;
    margin-bottom: 10px;
  }
  .home .pickup .ttl h1 img {
    height: 24px;
  }
  .home .pickup ul.pickup-slide {
    width: 100%;
  }
  .home .pickup ul.pickup-slide::after {
    content: '';
    display: table;
    clear: both;
  }
  .home .pickup ul.pickup-slide li {
    background: none;
    float: left;
    margin-right: 4px;
    margin-left: 4px;
    display: block;
		width: 230px;
  }
  .home .pickup ul.pickup-slide li:nth-last-child(1) {
    margin-right: 0;
  }
  .home .pickup ul.pickup-slide li figure {
    padding-bottom: 20px;
  }
  .home .pickup ul.pickup-slide li figure img {
    width: 100%;
  }
  .home .pickup ul.pickup-slide li p {
    padding: 0 20px;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.5;
  }
  .home .pickup ul.pickup-slide li p strong {
    font-size: 21px;
    font-size: 1.3125rem;
    line-height: 1;
    padding-bottom: 10px;
    color: #595757;
    display: inline-block;
  }
  .home .pickup ul.pickup-slide li p + p {
    padding-bottom: 20px;
  }
  .home .pickup ul.pickup-slide li .attr {
    padding: 10px 20px 20px;
  }
  .home .pickup ul.pickup-slide li .attr .icon {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1;
    font-weight: bold;
    padding: 3px 14px;
  }
  .home .pickup ul.pickup-slide li .attr time {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1;
    float: right;
  }
  .home .pickup .slick-dots {
    width: 100%;
    bottom: 0;
  }
  .home .pickup .slick-dots li {
    width: 6px !important;
    display: inline-block !important;
    float: inherit !important;
  } */
}


/* .course .sec-01 {
  background: url(assets/img/libs/bg01.png);
  overflow: hidden;
}
.course .sec-01 .container {
  padding: 60px 0 100px;
	max-width: 1000px;
	margin: 0 auto;
}
.course .sec-01 .home-course-flex {
  background: linear-gradient(135deg, #8FC31F 50%, #fff);
	box-sizing: border-box;
	width: 100%;
	margin: 2% auto;
	padding: 30px;
}
.course .sec-01 .home-course-flex.info {
  background: linear-gradient(135deg, #008090 60%, #fff);
	margin-top: 5%;
}
.course .sec-01 .home-course-flex.game {
  background: linear-gradient(135deg, #e60027 50%, #fff);}
.course .sec-01 .home-course-flex.car {
  background: linear-gradient(135deg, #333333 50%, #fff);}
.course .sec-01 .home-course-flex.architecture {
  background: linear-gradient(135deg, #835c43 50%, #fff);}
.course .sec-01 .home-course-flex.environment {
	background: linear-gradient(135deg, #38A472 50%, #fff);}

.course .sec-01 .home-course-flex a {
	display: block;
}
.course .sec-01 .home-course-flex .ttl {
	color: #fff;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
}
.course .sec-01 .home-course-flex .ttl span {
	font-size: 55%;
	padding-left: 1em;
	vertical-align: middle;
}
.course .sec-01 .home-course-flex .btn {
	box-sizing: border-box;
	border: 2px solid #fff;
	color: #fff;
	display: block;
	font-weight: bold;
	font-size: 16px;
	max-width: 300px;
	margin: 2% auto 0;
	padding: 15px;
	text-align: center;
}

.course .sec-01 .home-course-flex ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.course .sec-01 .home-course-flex ul li {
	background-color: #fff;
	box-sizing: border-box;
	margin-top: 2%;
	width: 49%;
}
.course .sec-01 .home-course-flex ul li.w100 {
	width: 100%;
}
.course .sec-01 .home-course-flex ul li a {
	display: block;
}
.course .sec-01 .home-course-flex ul li img {
	width: 100%;
}
.course .sec-01 .home-course-flex ul li span {
	font-size: 18px;
	font-weight: bold;
	display: block;
	padding: 10px;
}
.course .sec-01 .home-course-flex ul li span .new {
	background-color: yellow;
	color: red;
	display: inline-block;
	margin-right: 10px;
	padding: 5px 10px;
	vertical-align: initial;
}
@media only screen and (max-width: 769px) {
  .course .sec-01 .container {
    padding: 60px 0;
		width: 100%;
  }
	.course .sec-01 .ta-c figure {
		margin: auto;
		width: 90%;
	}
	.course .sec-01 .ta-c figure img {
		width: 100%;
	}
	.course .sec-01 .home-course-flex {
		padding: 5%;
	}
  .course .sec-01 .home-course-flex.info {
    margin-top: 60px;
  }
	.course .sec-01 .home-course-flex .ttl {
		text-align: center;
	}
	.course .sec-01 .home-course-flex .ttl span {
		display: block;
		line-height: 1.25;
		margin-top: 10px;
		padding: 0;
	}
	.course .sec-01 .home-course-flex .txt {
		font-size: 14px;
		margin: 10px auto 20px;
		text-align: left;
	}
	.course .sec-01 .home-course-flex .btn {
		font-size: 14px;
		margin-bottom: 15px;
		padding: 13px;
	}
	.course .sec-01 .home-course-flex ul li {
		margin-top: 4%;
		width: 48%;
	}
	.course .sec-01 .home-course-flex ul li span {
		font-size: 12px;
		padding: 8px 5px;
	}
} */
/*
.course .main p {
  padding: 55px 20px 42px;
  font-weight: bold;
}

.course .sec-01 {
  padding-top: 80px;
  background: url(assets/img/libs/bg01.png);
}

.course .story {
  width: 1120px;
  margin: 30px auto 0;
  padding-bottom: 80px;
}

.course .story::after {
  content: '';
  display: table;
  clear: both;
}

.course .ttl {
  color: white;
  position: relative;
  padding: 8px 20px 8px 26px;
  font-size: 32px;
  font-size: 2rem;
  line-height: 1;
}

.course .ttl a {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 20px;
}

.course ul.btn {
  width: 511px;
  margin: auto;
  padding-bottom: 20px;
}

.course ul.btn::after {
  content: '';
  display: table;
  clear: both;
}

.course ul.btn li {
  float: left;
  width: 155px;
  margin-right: 8px;
	margin-bottom: 10px;
  display: block;
  background: white;
  padding: 16px 0 16px 10px;
  position: relative;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  font-weight: bold;
}

.course ul.btn li:nth-last-child(1),
.course ul.btn li:nth-child(2),
.course ul.btn li:nth-child(4) {
  margin-right: 0;
}

.course ul.btn li:after {
  content: "";
  width: 28px;
  height: 100%;
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
}

.course .sec-01_01, .course .sec-01_02, .course .sec-01_03, .course .sec-01_04, .course .sec-01_05, .course .sec-01_06, .course .sec-01_07, .course .sec-01_08 {
  width: 550px;
  margin-bottom: 20px;
}

.course .sec-01_01 {
  background: url(assets/img/course_bg01.jpg) center center no-repeat;
  background-size: cover;
}

.course .sec-01_01 .ttl {
  background: #333333;
}

.course .sec-01_01 ul.btn li a {
  color: #333333;
}

.course .sec-01_01 li:after {
  background: url(assets/img/libs/parts-arrow.png) center center no-repeat #333333;
  background-size: 12px 12px;
}

.course .sec-01_02 {
  background: url(assets/img/course_bg02.jpg) center center no-repeat;
  background-size: cover;
}

.course .sec-01_02 .ttl {
  background: #835c43;
}

.course .sec-01_02 ul.btn li {
  width: 240px;
}

.course .sec-01_02 ul.btn li a {
  color: #835c43;
}

.course .sec-01_02 li:after {
  background: url(assets/img/libs/parts-arrow.png) center center no-repeat #835c43;
  background-size: 12px 12px;
}

.course .sec-01_03 {
  background: url(assets/img/course_bg03.jpg) center center no-repeat;
  background-size: cover;
}

.course .sec-01_03 .ttl {
  background: #008090;
}

.course .sec-01_03 p {
  height: auto;
  padding: 35px 20px;
}
.course .sec-01_03 ul.btn {
  padding-bottom: 10px;
}
.course .sec-01_03 ul.btn li {
  width: 240px;
}
.course .sec-01_03 ul.btn li a {
  color: #008090;
}
.course .sec-01_03 li:after {
  background: url(assets/img/libs/parts-arrow.png) center center no-repeat #008090;
  background-size: 12px 12px;
}
.course .sec-01_04 {
  background: url(assets/img/course_bg04.jpg) center center no-repeat;
  background-size: cover;
}
.course .sec-01_04 .ttl {
  background: #FFAD3D;
}
.course .sec-01_04 ul.btn li {
  width: 240px;
}
.course .sec-01_04 ul.btn li a {
  color: #FFAD3D;
}
.course .sec-01_04 li:after {
  background: url(assets/img/libs/parts-arrow.png) center center no-repeat #FFAD3D;
  background-size: 12px 12px;
}
.course .sec-01_05 {
  background: url(assets/img/course_bg05.jpg) center center no-repeat;
  background-size: cover;
}

.course .sec-01_05 .ttl {
  background: #e60027;
}

.course .sec-01_05 ul.btn li {
  width: 240px;
}

.course .sec-01_05 ul.btn li a {
  color: #e60027;
}

.course .sec-01_05 li:after {
  background: url(assets/img/libs/parts-arrow.png) center center no-repeat #e60027;
  background-size: 12px 12px;
}

.course .sec-01_06 {
  background: url(assets/img/course_bg06.jpg) center center no-repeat;
  background-size: cover;
}

.course .sec-01_06 .ttl {
  background: #FFA6B9;
}

.course .sec-01_06 ul.btn li {
  width: 240px;
  margin-left: 130px;
}

.course .sec-01_06 ul.btn li a {
  color: #FFA6B9;
}

.course .sec-01_06 li:after {
  background: url(assets/img/libs/parts-arrow.png) center center no-repeat #FFA6B9;
  background-size: 12px 12px;
}

.course .sec-01_07 {
  background: url(assets/img/course_bg07.jpg) center center no-repeat;
  background-size: cover;
}

.course .sec-01_07 .ttl {
  background: #91999e;
}

.course .sec-01_07 ul.btn li {
  width: 240px;
  margin-left: 130px;
}

.course .sec-01_07 ul.btn li a {
  color: #91999e;
}

.course .sec-01_07 li:after {
  background: url(assets/img/libs/parts-arrow.png) center center no-repeat #91999e;
  background-size: 12px 12px;
}

.course .sec-01_08 {
  background: url(assets/img/course_bg08.jpg) center center no-repeat;
  background-size: cover;
}

.course .sec-01_08 .ttl {
  background: #8FC31F;
}

.course .sec-01_01 p {
	height: auto !important;
	padding: 20px;
}

.course .sec-01_05 p {
	height: auto !important;
	padding: 20px;
}

.course .sec-01_01 ul.btn li {
width: 240px;
}

.course .sec-01_08 ul.btn li {
  width: 240px;
}

.course .sec-01_08 ul.btn li a {
  color: #8FC31F;
}

.course .sec-01_08 li:after {
  background: url(assets/img/libs/parts-arrow.png) center center no-repeat #8FC31F;
  background-size: 12px 12px;
}
.course .sec-01_08 p {
	padding: 69px 20px;
}

@media only screen and (max-width: 769px) {
  .course .main p {
    padding: 20px;
  }
  .course .sec-01 {
    background: none;
    padding-top: 30px;
    margin: 0 27px;
  }
  .course .sec-01 img {
    width: 100%;
  }
  .course .story {
    width: 100%;
    padding-bottom: 10px;
  }
  .course .ttl {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1;
  }
  .course .ttl a img {
    width: 18px;
  }
  .course ul.btn {
    width: calc(100% - 40px);
    margin: 0 20px;
    padding-bottom: 10px;
  }
  .course ul.btn::after {
    content: '';
    display: table;
    clear: both;
  }
  .course ul.btn li {
    width: calc(50% - 15px);
    width: calc(100% - 15px);
    margin-right: 0;
    margin-bottom: 10px;
    display: block;
    background: white;
    padding: 16px 0 16px 10px;
    position: relative;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1;
    font-weight: bold;
  }
  .course ul.btn li:nth-last-child(1), .course ul.btn li:nth-child(odd) {
    margin-right: 0;
  }
  .course ul.btn li:nth-child(even) {
    margin-left: 0;
  }
  .course ul.btn li:after {
    content: "";
    width: 28px;
    height: 100%;
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0, -50%);
  }
  .course .sec-01_01, .course .sec-01_02, .course .sec-01_03, .course .sec-01_04, .course .sec-01_05, .course .sec-01_06, .course .sec-01_07, .course .sec-01_08 {
    width: 100%;
    margin-bottom: 40px;
  }
	.course .sec-01_01 ul.btn li {
		width: calc(100% - 15px);
	}
  .course .sec-01_02 ul.btn li, .course .sec-01_03 ul.btn li {
    width: calc(100% - 15px);
  }
  .course .sec-01_04 {
    background: url(assets/img/course_bg04.jpg) center center no-repeat;
    background-size: cover;
  }
  .course .sec-01_04 .ttl {
    background: #FFAD3D;
  }
  .course .sec-01_04 ul.btn li {
    width: calc(100% - 15px);
    margin-left: 0;
  }
  .course .sec-01_05 ul.btn li {
    width: calc(100% - 15px);
  }
  .course .sec-01_06 ul.btn li {
    width: calc(100% - 15px);
    margin-left: 0;
  }
  .course .sec-01_06 ul.btn li a {
    color: #FFA6B9;
  }
  .course .sec-01_07 ul.btn li {
    width: calc(100% - 15px);
    margin-left: 0;
  }
  .course .sec-01_07 ul.btn li a {
    color: #91999e;
  }
  .course .sec-01_08 ul.btn li {
    width: calc(100% - 15px);
  }
  .course .sec-01_08 ul.btn li a {
    color: #8FC31F;
  }
} */

.coursepage .sec-01 {
  padding-top: 80px;
  background: url(assets/img/libs/bg01.png);
}

.coursepage .sec-01 > h2 {
  margin-bottom: 30px;
}

.coursepage .story {
  width: 1120px;
  margin: 0 auto;
  padding-bottom: 80px;
}
.coursepage .story.w740 {
  width: 740px;
  margin: 0 auto;
  padding-bottom: 80px;
}

.coursepage .story::after {
  content: '';
  display: table;
  clear: both;
}

.coursepage ul.subject {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  justify-content: center;
}
.coursepage ul.subject li {
  width: calc(100% / 3 - 1rem);
}
.coursepage ul.subject li figure img { width: 100%;}
.coursepage ul.subject li:nth-last-child(1) {
  margin-right: 0;
}

.coursepage ul.subject li .tex-area {
  padding: 22px;
}

.coursepage ul.subject li .tex-area p strong {
  font-size: 21px;
  font-size: 1.3125rem;
  line-height: 1;
  display: inline-block;
  padding-bottom: 7px;
}

.coursepage ul.subject li .tex-area p strong + span {
  border-color: #00A694;
  color: #00A694;
  padding: 2px 20px;
  height: 21px;
  position: relative;
  top: -2px;
  margin-left: 10px;
}

.coursepage ul.subject li a.btn.btn-03 {
  color: white;
  background: #00A694;
  border: 2px solid #00A694;
}

.coursepage ul.subject li a.btn.btn-03:hover {
  color: #00A694;
  background: white;
}

.coursepage .sec-01_01 .caption {
  display: none;
}

.coursepage .sec-01_01 h4 {
  padding-top: 28px;
  padding-bottom: 34px;
}

.coursepage .sec-01_01 .floBox {
  width: 1120px;
  margin: auto;
}

.coursepage .sec-01_01 .floL {
  width: 550px;
}

.coursepage .sec-01_01 .floL p {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
}

.coursepage .sec-01_01 .floL p + figure img {
  padding-top: 43px;
}

.coursepage .sec-01_02 {
  background: white;
  margin-top: 86px;
  padding-top: 80px;
}

.coursepage .sec-01_02 .floBox {
  width: 1120px;
  margin: 24px auto 0;
  padding-bottom: 80px;
}

.coursepage .sec-01_02 .floBox li {
  float: left;
}

.coursepage .sec-01_02 .floBox li + li {
  margin-left: 18px;
}

.coursepage .sec-01_03 {
  background: #BCDED9;
  padding-top: 62px;
  padding-bottom: 60px;
}

.coursepage .sec-01_03 .inner {
  position: relative;
  width: 1120px;
  margin: auto;
  padding: 47px 0 0;
}

.coursepage .sec-01_03 ul {
  width: 1060px;
  margin: 20px auto 0;
}

.coursepage .sec-01_03 ul::after {
  content: '';
  display: table;
  clear: both;
}

.coursepage .sec-01_03 ul li {
  text-align: center;
  width: calc(33.33333% - 1px);
  float: left;
  border-right: 1px solid white;
  padding: 14px 0;
}

.coursepage .sec-01_03 ul li:nth-last-child(1) {
  border-right: none;
}

.coursepage .sec-01_03 ul li p {
  color: #595757;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: bold;
  width: 314px;
  display: block;
  margin: 20px auto 0;
  text-align: left;
}
/* 190418 追記 ----------------------------- */
.coursepage #info_course.sec-01_03 .inner {
  max-width: 650px;
}
.coursepage #info_course.sec-01_03 .floBox {
  margin-bottom: 30px;
}
@media only screen and (max-width: 769px) {
  .coursepage #info_course.sec-01_03 .floBox {
    margin-bottom: 0;
  }
  .coursepage #info_course.sec-01_03 .floBox .floL,
  .coursepage #info_course.sec-01_03 .floBox .floR {
    margin-bottom: 30px;
    text-align: center;
  }
}
/* ----------------------------------------- */

.coursepage .sec-02 {
  width: 100%;
  background: white;
  padding: 80px 0;
}

.coursepage .sec-02 .floBox {
  width: 1120px;
  margin: auto;
}

.coursepage .sec-02 .sec-02_01 .fb-inner {
  margin-top: 20px;
  width: 550px;
  /* width: 500px;
  height: 590px;
  padding: 25px;
  background: #F9F9F9; */
}

.coursepage .sec-02 .sec-02_02 .movie-grid {
  margin-top: 20px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
.coursepage .sec-02 .sec-02_02 .movie-grid .movie {
  box-sizing: border-box;
  position: relative;
  padding: 28%;
  width: 100%;
}
.coursepage .sec-02 .sec-02_02 .movie-grid .movie iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
}

.coursepage .sec-02 .sec-02_02 .mv-inner {
  width: 550px;
  overflow: hidden;
  position: relative;
}

.coursepage .sec-02 .sec-02_02 .mv-inner .bx-controls {
  width: 100%;
  height: 52px;
  z-index: 0;
  top: inherit;
  left: inherit;
  margin-left: 0;
  position: relative;
  margin-top: 10px;
}

.coursepage .sec-02 .sec-02_02 .mv-inner .bx-pager {
  position: absolute;
  top: 0;
  width: 100%;
  text-align: center;
}

.coursepage .sec-02 .sec-02_02 .mv-inner .bx-pager .bx-pager-item {
  height: inherit;
  width: auto;
  background: transparent;
  border-radius: 0;
}

.coursepage .sec-02 .sec-02_02 .mv-inner .bx-pager .bx-pager-item a {
  width: 55px;
  padding: 18px 0;
  background: white;
}

.coursepage .sec-02 .sec-02_02 .mv-inner .bx-pager .bx-pager-item a.active, .coursepage .sec-02 .sec-02_02 .mv-inner .bx-pager .bx-pager-item a:hover {
  color: white;
  background: #DCDDDD;
  opacity: 1;
}

.coursepage .sec-02 .sec-02_02 .mv-inner .bx-controls-direction {
  position: absolute;
  top: 0;
  min-width: 100%;
}

.coursepage .sec-02 .sec-02_02 .mv-inner .bx-controls-direction a {
  height: auto;
  width: inherit;
}

.coursepage .sec-02 .sec-02_02 .mv-inner a.bx-prev, .coursepage .sec-02 .sec-02_02 .mv-inner a.bx-next {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1;
  width: 55px;
  padding: 18px 0;
  background: white;
  text-align: center;
}

.coursepage .sec-02 .sec-02_02 .mv-inner a.bx-prev:hover, .coursepage .sec-02 .sec-02_02 .mv-inner a.bx-next:hover {
  color: white;
  background: #DCDDDD;
  opacity: 1;
}

.coursepage .sec-02 .sec-02_02 .mv-inner a.bx-prev {
  left: 0;
}

.coursepage .sec-02 .sec-02_02 .mv-inner a.bx-next {
  right: 0;
}

.coursepage .sec-02 .sec-02_02 .mv-inner-item {
  margin-top: 20px;
  width: 550px;
}

.coursepage .sec-02 .sec-02_02 .mv-inner-item ul::after {
  content: '';
  display: table;
  clear: both;
}

.coursepage .sec-02 .sec-02_02 .mv-inner-item li {
  float: left;
  width: 265px;
  padding-bottom: 32px;
}

.coursepage .sec-02 .sec-02_02 .mv-inner-item li:nth-child(odd) {
  margin-right: 10px;
}

.coursepage .sec-02 .sec-02_02 .mv-inner-item li:nth-child(even) {
  margin-left: 10px;
}

.coursepage .sec-02 .sec-02_02 .mv-inner-item li p {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.2857142857;
  padding-top: 10px;
}

.coursepage .sec-02 .sec-02_02 .mv-inner-item li p strong {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.3333333333;
}

.coursepage .sec-02 .sec-02_02 .mv-inner-item li p + p {
  padding-top: 4px;
}

.coursepage .sec-03 {
  background: url(assets/img/libs/bg03.png);
  padding: 60px 0;
}

.coursepage .sec-03 h2 {
  padding-bottom: 24px;
}

.coursepage .sec-03 .inner {
  width: 1120px;
  margin: auto;
}

.coursepage .sec-04 {
  background: url(assets/img/libs/bg01.png);
  padding-top: 44px;
  padding-bottom: 36px;
}

.coursepage .sec-04 .inner {
  width: 1120px;
  margin: auto;
}

.coursepage .sec-04 .inner h2 {
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 0.8;
  padding-bottom: 32px;
}

.coursepage .sec-04 .inner ul::after {
  content: '';
  display: table;
  clear: both;
}

.coursepage .sec-04 .inner ul li {
  float: left;
  width: 350px;
  margin-right: 35px;
	margin-bottom: 15px;
}

.coursepage .sec-04 .inner ul li:nth-child(3),
.coursepage .sec-04 .inner ul li:nth-last-child(1) {
  margin-right: 0;
}

.coursepage .sec-04 .inner ul li .floBox img {
  float: left;
  display: block;
  width: 180px;
}

.coursepage .sec-04 .inner ul li .floBox .detail {
  float: right;
  width: 145px;
}

.coursepage .sec-04 .inner ul li .floBox .detail span.icon {
  border-color: #00A694;
  color: #00A694;
  padding: 2px 20px;
  height: 21px;
  display: inline-block;
  line-height: 21px;
}

.coursepage .sec-04 .inner ul li .floBox .detail p strong {
  margin-top: 8px;
  display: inline-block;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.2;
}

.coursepage .sec-04 .inner ul li .floBox .detail a.btn.btn-03 {
  background: rgba(93, 163, 146, 0.8);
  text-align: center;
  color: white;
}

.coursepage .sec-04 .inner a.btn.btn-02 {
  margin-top: 30px;
  border: 1px solid #5DA392;
  background: white;
  text-align: center;
  color: #5DA392;
}

.coursepage .sec-04 .inner a.btn.btn-02:hover {
  background: #5DA392;
  color: white;
}

.coursepage .sec-06 {
  background:#fff;
  padding:5% 0;
}
.coursepage .sec-06 .inner {
  background:none;
  box-sizing: border-box;
  max-width:800px;
  margin:auto;
  padding: 16%;
  position: relative;
  text-align:center;
  width:90%;
}
.coursepage .sec-06 .inner iframe {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 769px) {
  .coursepage .sec-01 {
    padding-top: 30px;
  }
  .coursepage .sec-01 img {
    width: calc(100% - 54px);
    padding: 0 27px;
  }
  .coursepage .story {
    width: 100%;
    margin: 30px auto 0;
    padding-bottom: 30px;
  }
  .coursepage .story::after {
    content: '';
    display: table;
    clear: both;
  }
	.coursepage .story.w740 {
		width: 100%;
		padding-bottom: 40px;
	}
  .coursepage ul.subject {
    flex-wrap: wrap;
    margin: auto;
    width: 90%;
  }
  .coursepage ul.subject li {
    width: 100%;
  }
  .coursepage ul.subject li figure img {
    width: 100%;
    padding: 0;
  }
  .coursepage ul.subject li .tex-area {
    background: #F9F9F9;
    padding: 22px;
    width: calc(100% - 88px);
    margin: -58px 22px 0;
    position: relative;
  }
  .coursepage ul.subject li .tex-area p strong {
    font-size: 21px;
    font-size: 1.3125rem;
    line-height: 1;
    display: block;
    padding-bottom: 10px;
  }
  .coursepage ul.subject li .tex-area p strong + span {
    border-color: #00A694;
    color: #00A694;
    padding: 2px 20px;
    height: 21px;
    position: inherit;
    top: 0;
    margin-left: 0;
  }
  .coursepage ul.subject li .tex-area .txt {
    margin-top: 10px;
  }
  .coursepage ul.subject li a.btn.btn-03 {
    width: calc(100% - 44px);
    color: white;
    background: #00A694;
    border: 2px solid #00A694;
    margin: 0 22px;
  }
  .coursepage ul.subject li a.btn.btn-03:hover {
    color: #00A694;
    background: white;
  }
  .coursepage .sec-01_01 h3 {
    padding-bottom: 0px;
  }
  .coursepage .sec-01_01 figure img {
    width: 100%;
    padding: 0;
  }
  .coursepage .sec-01_01 .caption {
    display: block;
    margin: 12px;
    padding: 12px;
    background: white;
  }
  .coursepage .sec-01_01 .caption p strong {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    color: #00A694;
  }
  .coursepage .sec-01_01 .caption p + p {
    padding-top: 7px;
  }
  .coursepage .sec-01_01 h4 {
    padding-top: 25px;
    padding-bottom: 13px;
  }
  .coursepage .sec-01_01 .floBox {
    width: calc(100% - 44px);
    margin: auto;
  }
  .coursepage .sec-01_01 .floBox::after {
    content: '';
    display: table;
    clear: both;
  }
  .coursepage .sec-01_01 .floL {
    width: 100%;
    float: inherit;
  }
  .coursepage .sec-01_01 .floL p {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
  }
  .coursepage .sec-01_01 .floL p + figure img {
    padding-top: 18px;
  }
  .coursepage .sec-01_01 .floR {
    float: inherit;
    padding-top: 13px;
  }
  .coursepage .sec-01_02 {
    background: white;
    margin-top: 23px;
    padding-top: 40px;
  }
  .coursepage .sec-01_02 .floBox {
    width: calc(100% - 44px);
    margin: 13px auto 22px;
    padding-bottom: 20px;
  }
  .coursepage .sec-01_02 .floBox li {
    float: left;
    width: calc(50% - 5px);
    margin-right: 5px;
    margin-bottom: 10px;
  }
  .coursepage .sec-01_02 .floBox li:nth-child(2n+2) {
    margin-left: 5px;
    margin-right: 0;
  }
  .coursepage .sec-01_02 .floBox li img {
    padding: 0;
    width: 100%;
  }
  .coursepage .sec-01_02 .floBox li + li {
    margin-left: 0;
  }
  .coursepage .sec-01_03 {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .coursepage .sec-01_03 .inner {
    position: relative;
    width: 100%;
    margin: auto;
    padding: 29px 0 0;
  }
  .coursepage .sec-01_03 .inner .ta-c figure img {
    width: calc(100% - 72px);
    padding: 0 18px 0 54px;
  }
  .coursepage .sec-01_03 ul {
    width: 100%;
    margin: 0 auto 0;
  }
  .coursepage .sec-01_03 ul li {
    text-align: center;
    width: calc(100% - 44px);
    float: inherit;
    border-right: none;
    border-bottom: 1px solid white;
    padding: 24px 0;
    margin: 0 22px;
  }
  .coursepage .sec-01_03 ul li::after {
    content: '';
    display: table;
    clear: both;
  }
  .coursepage .sec-01_03 ul li figure {
    float: left;
    width: calc(50% - 5px);
    margin-right: 5px;
  }
  .coursepage .sec-01_03 ul li figure img {
    width: 100%;
    padding: 0;
  }
  .coursepage .sec-01_03 ul li:nth-child(1) {
    border-bottom: none;
    padding: 0 0 24px;
  }
  .coursepage .sec-01_03 ul li:nth-last-child(1) {
    border-bottom: none;
    padding: 24px 0 0;
  }
  .coursepage .sec-01_03 ul li p {
    float: right;
    width: calc(50% - 5px);
    color: #595757;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.5;
    font-weight: bold;
    display: block;
    margin: 0 auto;
    margin-left: 5px;
    text-align: left;
  }
  .coursepage .sec-02 {
    width: 100%;
    background: white;
    padding: 25px 0;
  }
  .coursepage .sec-02 .floBox {
    width: calc(100% - 44px);
    margin: auto;
  }
  .coursepage .sec-02 .floBox h3 img {
    width: 100%;
    padding: 0;
  }
  .coursepage .sec-02 .sec-02_01 .fb-inner {
    width: calc(100% - 24px);
    /* padding: 12px; */
    margin-top: 20px;
  }
  .coursepage .sec-02 .sec-02_02 {
    margin-top: 25px;
  }
  .coursepage .sec-02 .sec-02_02 .mv-inner {
    width: 100%;
  }
  .coursepage .sec-02 .sec-02_02 .mv-inner .bx-controls {
    height: 30px;
  }
  .coursepage .sec-02 .sec-02_02 .mv-inner .bx-pager .bx-pager-item a {
    width: 30px;
    padding: 6px 0;
  }
  .coursepage .sec-02 .sec-02_02 .mv-inner a.bx-prev, .coursepage .sec-02 .sec-02_02 .mv-inner a.bx-next {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1;
    width: 30px;
    padding: 6px 0;
  }
  .coursepage .sec-02 .sec-02_02 .mv-inner-item {
    margin-top: 20px;
    width: 100%;
  }
  .coursepage .sec-02 .sec-02_02 .mv-inner-item ul {
    width: 100%;
  }
  .coursepage .sec-02 .sec-02_02 .mv-inner-item ul::after {
    content: '';
    display: table;
    clear: both;
  }
  .coursepage .sec-02 .sec-02_02 .mv-inner-item li {
    width: calc(50% - 5px);
    padding-bottom: 24px;
  }
  .coursepage .sec-02 .sec-02_02 .mv-inner-item li img {
    width: 100%;
    padding: 0;
  }
  .coursepage .sec-02 .sec-02_02 .mv-inner-item li:nth-child(odd) {
    margin-right: 5px;
  }
  .coursepage .sec-02 .sec-02_02 .mv-inner-item li:nth-child(even) {
    margin-left: 5px;
  }
  .coursepage .sec-03 {
    background: url(assets/img/libs/bg03.png);
    padding: 24px 0 30px;
  }
  .coursepage .sec-03 h2 {
    padding-bottom: 24px;
  }
  .coursepage .sec-03 .inner {
    width: calc(100% - 44px);
    margin: auto;
  }
  .coursepage .sec-03 .inner .txt.ta-r.c-white {
    text-align: left;
  }
  .coursepage .sec-04 {
    background: url(assets/img/libs/bg01.png);
    padding-top: 44px;
    padding-bottom: 36px;
  }
  .coursepage .sec-04 .inner {
    width: calc(100% - 44px);
    margin: auto;
  }
  .coursepage .sec-04 .inner h2 {
    font-size: 22px;
    font-size: 1.375rem;
    line-height: 1.0909090909;
    padding-bottom: 32px;
  }
  .coursepage .sec-04 .inner ul::after {
    content: '';
    display: table;
    clear: both;
  }
  .coursepage .sec-04 .inner ul li {
    float: inherit;
    width: 100%;
    margin-right: 0;
  }
  .coursepage .sec-04 .inner ul li:nth-last-child(1) {
    margin-right: 0;
  }
  .coursepage .sec-04 .inner ul li + li {
    margin-top: 25px;
  }
  .coursepage .sec-04 .inner ul li .floBox img {
    float: left;
    display: block;
    width: calc(50% - 5px);
    padding: 0;
  }
  .coursepage .sec-04 .inner ul li .floBox .detail {
    float: right;
    width: calc(50% - 5px);
    position: relative;
  }
  .coursepage .sec-04 .inner ul li .floBox .detail span.icon {
    border-color: #00A694;
    color: #00A694;
    padding: 2px 20px;
    height: 21px;
    display: inline-block;
    line-height: 21px;
  }
  .coursepage .sec-04 .inner ul li .floBox .detail p strong {
    margin-top: 8px;
    display: inline-block;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.3333333333;
    padding-bottom: 8px;
  }
  .coursepage .sec-04 .inner ul li .floBox .detail a.btn.btn-03 {
    background: rgba(93, 163, 146, 0.8);
    text-align: center;
    color: white;
  }
  .coursepage .sec-04 .inner a.btn.btn-02 {
    margin-top: 30px;
    border: 1px solid #5DA392;
    background: white;
    text-align: center;
    color: #5DA392;
  }
  .coursepage .sec-04 .inner a.btn.btn-02:hover {
    background: #5DA392;
    color: white;
  }

  .coursepage .sec-06 .inner {
    padding: 30%;
  }
}

/* Facebook */
.fb_iframe_widget {
  width: 100% !important;
}

.fb_iframe_widget span, .fb_iframe_widget iframe[style] {
  width: 100% !important;
}

.pagePlugin {
  max-width: 460px;
  width: 100%;
  text-align: center;
  position: relative;
  left: 50%;
  transform: translate(-50%, 0);
}


/*  */
#modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 999;
  display: none;
}
#modal-overlay .modal-mask {
  position: fixed;
  width: 100%;
  height: 100vh;
  opacity: 0.5;
  background: #000; /* 背面のbodyを少しだけ暗くし、操作できないニュアンスを出す */
  z-index: 999;
}
#modal-overlay .modal-container {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50%;
  background: #fefefe;
  transform: translate(-50%, -50%);
  box-shadow: 3px 3px 5px #888; /* 背面のbodyの上に立体的にのせているイメージ */
  z-index: 999;
}
#modal-overlay .modal-inner {
  position: relative; /* 閉じるボタンの相対位置の基準とする */
  margin: 10px auto;
  width: 90%;
  height: auto;
  z-index: 999;
}
#modal-overlay .modal-title {
  width: 100%;
  font-size: 20px;
  font-weight: 700;
  color: #ff1493;
  text-align: center;
}
#modal-overlay .modal-text {
  padding: 5%;
  width: 100%;
  box-sizing: border-box;
  font-size: 16px;
  letter-spacing: 1px;
}
#modal-overlay button {
  position: absolute;
  top: calc(-10% - 8px);  /* 位置の基準とする親要素のmargin分と、親要素からはみ出す距離（ここでは8px)を引く */
  right: calc(-5% - 8px);
  padding: 3px;
  width: 20px;
  height: 20px;
  border: 1px solid #fefefe;
  border-radius: 50%;
  background-color: #fefefe;
  font-size: 20px;
  box-shadow: 2px 2px 3px #888;
  line-height: 10px;
  color: #444;
  cursor: pointer;
}
