@charset "UTF-8";
/*
Theme Name: 制作自社サイト
Author: ecco
*/ :root {
  --main-color: #5791db;
  --main-on-color: #05d1e5;
  --main-light-color: #E6F2FF;
  --base-color: #f5f5f5;
  --base-txt-color: #333;
}
.trans, .btn, .btn a, .btn-03, .nav-pc > li > a, li.menu__mega .category-list li a, .foot-nav .nav-item li a, .footer-bottom ul li a, .fix-bnr, .contact-bnr .btn-area .btn-cb, .contact-bnr .btn-area .btn-mail:before, .contact-bnr .btn-area .tel-num:before, #sp-btn {
  transition: all .2s;
}
.beige {
  color: #c5a882;
}
.white {
  color: #fff;
}
.red {
  color: #ea2828;
}
@media screen and (max-width: 782px) {
  html[lang=ja] {
    margin-top: 0 !important;
  }
  html #wpadminbar {
    display: none;
  }
}
/*
---------------------------------------
reset
---------------------------------------
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, button {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  font-size: 100%;
  font-style: normal;
  font-weight: normal;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
  margin: 0;
  padding: 0;
}
html {
  min-height: 100%;
  width: 100%;
  font-size: 62.5%;
}
@media screen and (max-width: 1200px){
	html{
		font-size: 55.55%;
	}
}
@media screen and (max-width: 960px){
	html{
		font-size: 48.5%;
	}
}
html, body {
  /*height:100%;*/
  position: relative;
}
.wrapper {
  position: relative;
  overflow-x: clip;
}
#container {
  position: relative;
}
@font-face {
  font-family: sans-serif;
  src: local(HiraginoSans-W3);
  font-weight: normal;
}
@font-face {
  font-family: sans-serif;
  src: local(HiraginoSans-W5);
  font-weight: bold;
}
@font-face {
  font-family: 'Hiragino Kaku Gothic Pro W3';
  src: local(HiraginoSans-W3);
  font-weight: normal;
}
@font-face {
  font-family: 'Hiragino Kaku Gothic Pro W3';
  src: local(HiraginoSans-W5);
  font-weight: bold;
}
@font-face {
  font-family: 'ヒラギノ角ゴ Pro W3';
  src: local(HiraginoSans-W3);
  font-weight: normal;
}
@font-face {
  font-family: 'ヒラギノ角ゴ Pro W3';
  src: local(HiraginoSans-W5);
  font-weight: bold;
}
@font-face {
  font-family: 'ヒラギノ角ゴ ProN W3';
  src: local(HiraginoSans-W3);
  font-weight: normal;
}
@font-face {
  font-family: 'ヒラギノ角ゴ ProN W3';
  src: local(HiraginoSans-W5);
  font-weight: bold;
}
@font-face {
  font-family: 'ＭＳ Ｐゴシック';
  src: local(HiraginoSans-W3);
  font-weight: normal;
}
@font-face {
  font-family: 'ＭＳ Ｐゴシック';
  src: local(HiraginoSans-W5);
  font-weight: bold;
}
@font-face {
  font-family: 'MS P Gothic';
  src: local(HiraginoSans-W3);
  font-weight: normal;
}
@font-face {
  font-family: 'MS P Gothic';
  src: local(HiraginoSans-W5);
  font-weight: bold;
}
@font-face {
  font-family: 'MS PGothic';
  src: local(HiraginoSans-W3);
  font-weight: normal;
}
@font-face {
  font-family: 'MS PGothic';
  src: local(HiraginoSans-W5);
  font-weight: bold;
}
body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #333;
  height: 100%;
  width: 100%;
  min-width: 375px;
  margin: 0;
  padding: 0;
  position: relative;
  font-feature-settings: 'palt';
}
@media all and (-ms-high-contrast: none) {
  body {
    font-family: Verdana, Meiryo, sans-serif;
  }
}
input, textarea {
  margin: 0;
  padding: 0;
}
input:focus, textarea:focus, button:focus {
  outline: 0;
}
img {
  border: none;
}
ol, ul {
  list-style: none;
}
p, dt, dd, li {
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.1rem;
}
li {
  font-size: 1.6rem;
}
table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
table th {
  font-weight: normal;
}
caption, th {
  text-align: left;
}
a:focus {
  outline: none;
}
p, dd, li, address {
  font-style: normal;
}
body small {
  font-size: 1.1rem;
}
figure {
  line-height: 0;
}
em {
  font-weight: inherit;
}
/*
----------------------------------------
flex
----------------------------------------
*/
.flex {
  -js-display: flex;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: stretch;
}
.flex.nowrap {
  flex-wrap: nowrap;
}
.flex.reverce {
  flex-direction: row-reverse;
}
.flex.item-center {
  align-items: center;
}
/*
---------------------------------------
link
---------------------------------------
*/
a {
  text-decoration: none;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}
a:hover {
  text-decoration: none;
}
/*
---------------------------------------
clear
---------------------------------------
*/
.clearfix:after {
  content: '.';
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden;
}
.clearfix {
  min-height: 1px;
}
* html .clearfix {
  height: 1px;
  /*\*/
  /*/
	height: auto;
	overflow: hidden;
	/**/
}
*:first-child + html .clearfix {
  zoom: 1;
}
/* IE7 */
/*
---------------------------------------
common
---------------------------------------
*/
.pc {
  display: block !important;
  margin: 0 auto;
}
.sp {
  display: none !important;
}
.inner {
  max-width: 1200px;
  margin: 0 auto;
  word-wrap: break-word;
  word-break: break-all;
}
span {
  font-size: inherit;
  font-weight: inherit;
}
.en, .btn, .btn a, .copyright small {
  font-family: 'Raleway', sans-serif;
  font-weight: 600;
  font-style: normal;
}
.en-2 {
  font-family: 'Poppins', sans-serif;
}
.mon {
  font-family: 'Montserrat', sans-serif;
  font-style: normal;
}
.thin, .copyright small {
  font-weight: 200;
}
.regular {
  font-weight: 400;
}
.center {
  text-align: center;
}
.bold {
  font-weight: bold;
}
.slick-slide:focus {
  outline: none !important;
}
.trans, .btn-03, .nav-pc > li > a, li.menu__mega .category-list li a, .foot-nav .nav-item li a, .footer-bottom ul li a, .fix-bnr, .contact-bnr .btn-area .btn-cb, .contact-bnr .btn-area .btn-cb2, .contact-bnr .btn-area .btn-mail:before, .contact-bnr .btn-area .tel-num:before, #sp-btn, #sp-btn-logo {
  transition: all .2s;
}
.ofi img {
  object-fit: cover;
  font-family: 'object-fit: cover;' /* ie */
}
/*
---------------------------------------
icomoon
---------------------------------------
*/
@font-face {
  font-family: 'icomoon';
  src: url("../../fonts/icomoon.ttf?f19px7") format("truetype"), url("../../fonts/icomoon.woff?f19px7") format("woff"), url("../../fonts/icomoon.svg?f19px7#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
}
.fa-arrow-right:before {
  content: "\e900";
}
.fa-chevron-right:before {
  content: "\e901";
}
.fa-dot-circle:before {
  content: "\e902";
}
.fa-pencil-alt:before {
  content: "\e903";
}
.fa-cogs:before {
  content: "\e904";
}
.fa-search:before {
  content: "\e905";
}
.fa-plug:before {
  content: "\e906";
}
.fa-chevron-down:before {
  content: "\e907";
}
.fa-chevron-down1:before {
  content: "\e908";
}
.fa-chart-network:before {
  content: "\e909";
}
.fa-window-restore:before {
  content: "\e90a";
}
.fa-comment-smile:before {
  content: "\e90b";
}
.fa-wifi:before {
  content: "\e90c";
}
.fa-chevron-circle-down:before {
  content: "\e90d";
}
.fa-external-link-alt:before {
  content: "\e90e";
}
.fa-check-square:before {
  content: "\e90f";
}
.fa-clock:before {
  content: "\e910";
}
.fa-comment-alt-edit:before {
  content: "\e911";
}
.fa-chart-pie:before {
  content: "\e912";
}
.fa-camera-retro:before {
  content: "\e913";
}
.fa-align-justify:before {
  content: "\e914";
}
.fa-chalkboard-teacher:before {
  content: "\e915";
}
.fa-graduation-cap:before {
  content: "\e916";
}
.fa-keynote:before {
  content: "\e917";
}
.fa-check-circle:before {
  content: "\e918";
}
.fa-angle-right:before {
  content: "\e919";
}
.fa-angle-left:before {
  content: "\e91a";
}
.fa-th-large:before {
  content: "\e91b";
}
.fa-arrow-left:before {
  content: "\e91c";
}
.fa-comment-lines:before {
  content: "\e91d";
}
.fa-star-light:before {
  content: "\e91e";
}
.fa-star-solid:before {
  content: "\e91f";
}
.fa-chevron-left:before {
  content: "\e920";
}
.fa-minus-circle:before {
  content: "\e921";
}
.fa-plus-circle:before {
  content: "\e922";
}
.fa-list:before {
  content: "\e923";
}
.fa-search-solid:before {
  content: "\e924";
}
.fa-random:before {
  content: "\e925";
}
.fa-users:before {
  content: "\e926";
}
.fa-repeat:before {
  content: "\e927";
}
.fa-list-ul:before {
  content: "\e928";
}
.fa-mobile-android-alt:before {
  content: "\e929";
}
.fa-running:before {
  content: "\e92a";
}
[class^="fa-"], [class*=" fa-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/*
---------------------------------------
heading
---------------------------------------
*/
.heading-01 {
  text-align: center;
}
.heading-01 .ja {
  font-size: 2rem;
  color: #666;
  display: block;
  padding: 0 0 .5rem;
}
.heading-01 .en, .heading-01 .btn, .heading-01 .btn a, .btn .heading-01 a, .heading-01 .copyright small, .copyright .heading-01 small {
  font-size: 5.6rem;
  display: block;
  color: #111;
}
.heading-02 .ja {
  font-size: 1.8rem;
  color: #666;
  display: block;
}
.heading-02 .en, .heading-02 .btn, .heading-02 .btn a, .btn .heading-02 a, .heading-02 .copyright small, .copyright .heading-02 small {
  font-size: 5.6rem;
  display: block;
  color: #111;
}
.heading-03 {
  position: relative;
  padding: 0 0 29px;
}
.heading-03:before {
  content: '';
  background: #c5a882;
  display: block;
  width: 60px;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.heading-03 .ja {
  font-size: 1.8rem;
  color: #111;
  display: block;
}
.heading-03 .en, .heading-03 .btn, .heading-03 .btn a, .btn .heading-03 a, .heading-03 .copyright small, .copyright .heading-03 small {
  font-size: 4.6rem;
  display: block;
  color: #111;
}
.heading-04 {
  position: relative;
  padding: 0 0 35px;
  margin: 0 0 3rem;
}
.heading-04:before {
  content: '';
  background: rgba(255, 255, 255, 0.5);
  display: block;
  width: 60px;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.heading-04 .ja {
  font-size: 1.8rem;
  color: #fff;
  display: block;
}
.heading-04 .en, .heading-04 .btn, .heading-04 .btn a, .btn .heading-04 a, .heading-04 .copyright small, .copyright .heading-04 small {
  font-size: 5rem;
  display: block;
  color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding: 0 0 .5rem;
}
.heading-05 {
  position: relative;
  padding: 0 0 31px;
  text-align: center;
}
.heading-05.no-line:before {
  content: none;
}
.heading-05:before {
  content: '';
  background: #c5a882;
  display: block;
  width: 60px;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.heading-05 .ja {
  font-size: 2rem;
  color: #666;
  display: block;
  padding: 0 0 0.3rem;
}
.heading-05 .en, .heading-05 .btn, .heading-05 .btn a, .btn .heading-05 a, .heading-05 .copyright small, .copyright .heading-05 small {
  font-size: 4.8rem;
  display: block;
  color: #111;
}
.heading-06 {
  position: relative;
  text-align: center;
}
.heading-06:before {
  border-top: 1px solid #ccc;
  content: "";
  position: absolute;
  top: 40%;
  left: 0;
  width: 100%;
  z-index: 1;
}
.heading-06:after {
  border-top: 1px solid #ccc;
  content: "";
  position: absolute;
  top: 60%;
  left: 0;
  width: 100%;
  z-index: 1;
}
.heading-06 .heading-06-inner {
  background-color: white;
  display: inline-block;
  padding: 0 1em;
  position: relative;
  z-index: 2;
  font-size: 2.8rem;
  font-weight: 600;
}
.heading-07 {
  text-align: center;
}
.heading-07 .ja {
  font-size: 2.2rem;
  color: #666;
  display: block;
  padding: 0 0 .5rem;
}
.heading-07 .en, .heading-07 .btn, .heading-07 .btn a, .btn .heading-07 a, .heading-07 .copyright small, .copyright .heading-07 small {
  font-size: 6rem;
  display: block;
  color: #111;
  padding: 0 0 1rem;
}
.heading-08 {
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}
.heading-08 .heading-08-ja {
  font-size: 1.6rem;
  color: #222;
  display: block;
}
.heading-08 .heading-08-en {
  font-size: 3.6rem;
  display: block;
  color: #111;
  padding: 0 2rem 0 0;
}
/*
---------------------------------------
btn
---------------------------------------
*/
.btn, .btn a {
  position: relative;
  transition: color .2s, background .2s;
}
.btn a:after {
  transition: right .2s;
}
@media (min-width: 751px) {
  .btn a:hover:after {
    right: 0;
  }
  .btn.back a:hover:after {
    left: 0;
  }
}
@media (min-width: 751px) {
  .btn-01 a:hover, .btn-02 a:hover, .btn-04 a:hover {
    color: #262626;
    background: #fff;
  }
}
@media (min-width: 751px) {
  .btn-05 a:hover {
    color: #fff;
    background: #c5a882;
  }
}
.btn-01 a {
  display: block;
  background: #262626;
  color: #fff;
  max-width: 220px;
  font-size: 1.6rem;
  font-weight: normal;
  text-align: center;
  height: 50px;
  line-height: 50px;
  padding: 0 10px 0 0;
  box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.1);
  position: relative;
}
.btn-01 a:after {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e900";
  position: absolute;
  right: .5rem;
  top: 50%;
  transform: translateY(-50%);
}
.btn-02 a {
  display: block;
  background: #262626;
  color: #fff;
  max-width: 320px;
  font-size: 1.6rem;
  text-align: center;
  height: 50px;
  line-height: 50px;
  padding: 0 10px 0 0;
  box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.1);
  position: relative;
}
.btn-02 a:after {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e900";
  position: absolute;
  right: .5rem;
  top: 50%;
  transform: translateY(-50%);
}
.btn-02.back a:after {
  transform: translateY(-50%) scale(-1, 1);
  right: auto;
  left: .5rem;
  ;
}
.btn-03 {
  display: block;
  color: #fff;
  border: 1px solid #fff;
  max-width: 220px;
  font-size: 1.6rem;
  text-align: center;
  height: 50px;
  line-height: 50px;
  padding: 0 10px 0 0;
  box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.1);
  position: relative;
  margin: 0 auto;
}
.btn-03.blk {
  box-shadow: none;
  border: 1px solid #999;
  color: #333;
}
.btn-03:after {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e900";
  position: absolute;
  right: .5rem;
  top: 50%;
  transform: translateY(-50%);
  transition: right .2s;
}
.btn-04 a {
  display: block;
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  width: 220px;
  font-size: 1.4rem;
  text-align: center;
  height: 50px;
  line-height: 50px;
  padding: 0 10px 0 0;
  box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.1);
  position: relative;
}
.btn-04 a:after {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e900";
  position: absolute;
  right: .5rem;
  top: 50%;
  transform: translateY(-50%);
}
.btn-05 a {
  display: block;
  color: #c5a882;
  border: 1px solid #c5a882;
  max-width: 100%;
  font-size: 1.6rem;
  text-align: center;
  font-weight: 600;
  height: 50px;
  line-height: 50px;
  padding: 0 10px 0 0;
  position: relative;
}
.btn-05 a:after {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e900";
  position: absolute;
  right: .5rem;
  top: 50%;
  transform: translateY(-50%);
}
.btn-link {
  display: inline-block;
  border: solid 1px #ccc;
  border-radius: 4px;
  padding: 2px 40px 2px 15px;
  margin: 0 20px;
  color: #c5a882;
  background: url(../img/common/icon-link@2x.png ) right 12px center / 16px no-repeat;
  transition: all .2s;
}
.btn-link:hover {
  color: #fff;
  background: #c5a882 url(../img/common/icon-link-wh@2x.png ) right 12px center / 16px no-repeat;
}
/*
---------------------------------------
table
---------------------------------------
*/
.tbl-01 {
  width: 100%;
  table-layout: fixed;
}
.tbl-01 tbody {
  width: 100%;
}
.tbl-01 tr {
  width: 100%;
}
.tbl-01 th {
  font-size: 1.6rem;
  border-bottom: 1px solid #e0e0e0;
  position: relative;
  padding: 2.5rem 2rem;
  width: 18%;
  line-height: 2;
}
.tbl-01 th:before {
  content: '';
  background: #c5a882;
  width: 50px;
  height: 1px;
  display: block;
  position: absolute;
  left: 0;
  bottom: -1px;
}
.tbl-01 td {
  font-size: 1.6rem;
  border-bottom: 1px solid #e0e0e0;
  padding: 2.5rem 2rem;
  line-height: 2;
}
.tbl-02 {
  width: 100%;
  table-layout: fixed;
}
.tbl-02 tbody {
  width: 100%;
  border-top: 1px solid #d1d1d1;
  border-left: 1px solid #d1d1d1;
  border-right: 1px solid #d1d1d1;
}
.tbl-02 tr {
  width: 100%;
}
.tbl-02 th {
  font-size: 1.6rem;
  border-bottom: 1px solid #d1d1d1;
  background: #f5f5f5;
  position: relative;
  padding: 1.5rem 2rem;
  width: 18%;
  line-height: 2;
}
.tbl-02 td {
  font-size: 1.6rem;
  border-bottom: 1px solid #d1d1d1;
  padding: 1.5rem 2rem;
  line-height: 2;
}
.tbl-02 td .attention {
  font-size: 1.4rem;
  color: #666;
  display: block;
}
/*
---------------------------------------
list
---------------------------------------
*/
.dl-01 dt {
  padding-left: 2.2rem;
  position: relative;
}
.dl-01 dt::before {
  content: '■';
  color: #c5a882;
  position: absolute;
  top: 0;
  left: 0;
}
.dl-01 {}
/*
---------------------------------------
header
---------------------------------------
*/
.header-top {
  padding: 0 0 0 34px;
}
#sp-btn, #sp-btn-close, #sp-btn-close-02 {
  display: none;
}
#g-nav {
  display: none;
  position: relative;
}
#result-nav {
  display: none;
}
.nav-menu {
  align-items: center;
}
.nav-menu-wrap {
  width: 100%;
}
.nav-pc {
  position: relative;
  width: 100%;
  justify-content: flex-end;
  align-items: center;
  font-family: 'Noto Sans JP', sans-serif;
  font-feature-settings: normal;
}
.nav-pc > li > a {
  display: block;
  padding: 30px 27px;
  color: #364246;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 1240px) and (min-width: 751px) {
  .nav-pc > li > a {
    padding: 30px 20px;
  }
}
.nav-pc > li:hover > a {
  color: #1664b9;
}
.nav-pc > li.menu__mega > a {
  background: url(../img/common/arrow-delta-down.png ) center bottom 22px / 10px 5px no-repeat;
}
.nav-pc > li {
  text-align: left;
  padding: 0;
  margin: 0;
}
.menu__mega {
  position: relative;
}
.megaDisp {
  visibility: hidden;
  opacity: 0;
  z-index: 2;
  position: absolute;
  top: calc(100% - 12px);
  left: 50%;
  transform: translateX(-50%);
  box-sizing: border-box;
  background: #1664b9;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
  -webkit-box-shadow: 0 2px 3px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  min-width: 180px;
}
li.menu__mega:hover .megaDisp {
  visibility: visible;
  opacity: 1;
  z-index: 999999;
}
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, li.menu__mega:hover .megaDisp {
    top: 89px;
  }
  /* IE11 */
}
/*
li.menu__mega .megaDisp:after {
	bottom: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}

li.menu__mega .megaDisp:after {
	border-color: rgba(255, 255, 255, 0);
	border-bottom-color: #c5a882;
	border-width: 10px;
	margin-left: -10px;
}
*/
li.menu__mega .category-list {
  width: 100%;
  padding: 0;
  display: block;
}
li.menu__mega .category-list li {
  width: 100%;
  border-bottom: 1px solid #4583c7;
}
li.menu__mega .category-list li:last-child {
  border-bottom: none;
}
li.menu__mega .category-list li a {
  display: block;
  position: relative;
  padding: 12px 25px 13px;
  border: solid 1px #1664b9;
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
  white-space: nowrap;
}
/*
li.menu__mega .category-list li a:after {
	content: url(../img/common/arrow-right_blk.png);
	position: absolute;
	right: 1.2rem;
	top: calc(50% - 4px);
	transform: translateY(-50%);
}
*/
li.menu__mega .category-list li a:hover {
  background-color: #fff;
  color: #1664b9;
}
.menu__contact {
  transition: all ease-in-out .5s;
  position: relative;
}
.nav-pc > li.menu__contact {
  margin-left: 23px;
}
.nav-pc > li.menu__contact .btn-inner {
  display: inline-block;
}
.nav-pc > li.menu__contact a {
  position: relative;
  background: linear-gradient(-122deg, #05d1e5, #5791db);
  color: #fff;
  font-size: 1.3rem;
  font-weight: bold;
  letter-spacing: .1em;
  width: 140px;
  height: 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 9px 0 0;
}
.nav-pc > li.menu__contact a .en {
  font-family: 'Montserrat';
  font-size: 1.7rem;
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1;
}
.nav-pc > li.menu__contact a::before {
  position: absolute;
  top: 0;
  left: -30%;
  z-index: 2;
  display: block;
  content: '';
  width: 12%;
  height: 100%;
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%);
  -webkit-transform: skewX(-25deg);
  transform: skewX(-25deg);
}
@-webkit-keyframes shine {
  100% {
    left: 130%;
  }
}
@keyframes shine {
  100% {
    left: 130%;
  }
}
.nav-pc > li.menu__contact a:hover::before {
  -webkit-animation: shine .75s;
  animation: shine .75s;
}
/* sp-btn */
html.active, body.active {
  overflow: hidden;
}
#sp-btn {
  visibility: hidden;
  opacity: 0;
  width: 70px;
  height: 70px;
  z-index: 99999999999;
  transition: visibility 0.2s, opacity 0.2s;
  position: fixed;
  top: 25px;
  right: 25px;
  background: #c5a882;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
}
#sp-btn-logo {
  visibility: hidden;
  opacity: 0;
  width: 70px;
  height: 70px;
  z-index: 999999999;
  transition: visibility 0.2s, opacity 0.2s;
  position: fixed;
  top: 25px;
  left: 25px;
}
#sp-btn.fixed, .bg-fixed #sp-btn, #sp-btn-logo.fixed, #result-dtl #sp-index-btn.fixed {
  visibility: visible;
  opacity: 1;
}
#sp-btn:hover {
  cursor: pointer;
}
#sp-btn #sp-btn-a {
  display: inline-block;
  box-sizing: border-box;
  transition: opacity .5s;
}
#sp-btn #sp-btn-a span {
  display: inline-block;
  box-sizing: border-box;
  transition: top .5s;
}
#sp-btn #sp-btn-a {
  position: relative;
  width: 30px;
  height: 15px;
  margin: 0 0 10px;
}
#sp-btn #sp-btn-a:hover {
  opacity: 1;
}
#sp-btn #sp-btn-a span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: #fff;
}
#sp-btn #sp-btn-a span:nth-of-type(1) {
  top: 5px;
}
#sp-btn #sp-btn-a span:nth-of-type(2) {
  top: 13px;
}
#sp-btn #sp-btn-a span:nth-of-type(3) {
  top: 21px;
}
#sp-btn-a::before {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  color: #fff;
  font-size: 12px;
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
  line-height: .9;
  transition: all 0.2s;
}
#sp-btn.active #sp-btn-a::after {
  color: #fff;
}
#sp-btn.active span:nth-of-type(1) {
  -webkit-transform: translateY(8px) rotate(-45deg);
  transform: translateY(8px) rotate(-45deg);
}
#sp-btn.active span:nth-of-type(2) {
  opacity: 0;
}
#sp-btn.active span:nth-of-type(3) {
  -webkit-transform: translateY(-8px) rotate(45deg);
  transform: translateY(-8px) rotate(45deg);
}
/* g-anv */
#g-nav {
  display: block;
  z-index: 999999999;
  position: fixed;
  top: 0;
  background: rgba(255, 255, 255, .85);
  transition: left 1s;
  overflow-y: scroll;
  overflow-x: hidden;
  padding: 50px;
  width: 50%;
  min-width: 640px;
  height: 100%;
  left: -200%;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
}
#g-nav.active {
  left: 0;
  transition: left 0.3s;
}
#g-nav .g-nav-list {
  padding: 60px 0 50px 50px;
}
#g-nav .g-nav-list li {
  position: relative;
}
#g-nav .g-nav-list li a {
  position: relative;
  display: block;
  padding: 0.7rem 20px 0.7rem 40px;
  color: #1664b9;
  transition: .25s;
}
#g-nav .g-nav-en {
  display: none !important;
  font-size: 3.8rem;
}
#g-nav .g-nav-ja {
  font-size: 2rem;
}
#g-nav .g-nav-list li a::before {
  content: '';
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 14px;
  height: 14px;
  background: url(../img/common/blue-circle-arrow.png) center / contain no-repeat;
}
@media (min-width: 751px) {
  #g-nav .g-nav-list li a:hover {
    background: #eee;
  }
  /* #g-nav .g-nav-list li.mega > a:hover {
		background: inherit;
		cursor: default;
	} */
}
#g-nav .g-nav-list li .category-list > li:nth-child(1) {
  width: 55%;
}
#g-nav .g-nav-list li .category-list > li:nth-child(2) {
  width: 45%;
}
#g-nav .g-nav-list li .category-list li li {
  padding: 0;
}
#g-nav .g-nav-list li .category-list li li a {
  padding: 9px 0 8px 50px;
  position: relative;
  color: #333;
  font-size: 1.6rem;
  line-height: 1.5;
}
#g-nav .g-nav-list li .category-list li li a:before {
  content: '';
  width: 12.5px;
  height: 1px;
  background: #1664b9;
  display: inline-block;
  position: absolute;
  left: 22px;
  top: 25px;
}
.g-nav-contact .g-nav-contact-txt {
  font-size: 13px;
  padding: 0 0 10px;
}
.g-nav-contact .btn-list .btn-item {
  width: 100%;
  max-width: 400px;
  margin: 0 auto 12px;
}
.g-nav-contact .btn-list .btn-item.btn-marketing a img {
  width: 100%;
  height: auto;
}
.g-nav-contact .btn-tel a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 80px;
  border: solid 1px #1664b9;
  color: #1664b9;
}
.g-nav-contact .btn-tel .num {
  font-family: 'Inter', sans-serif;
  font-size: 27px;
  margin: 0 .5em 3px 0;
}
.g-nav-contact .btn-tel .num::before {
  content: '';
  display: inline-block;
  width: 21px;
  height: 20px;
  background: url(../img/common/icon-tel_blue.png) center / contain no-repeat;
  margin-right: 5px;
}
.g-nav-contact .btn-tel .note {
  font-size: 14px;
  letter-spacing: .08em;
}
.g-nav-contact .btn-mail a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 60px;
  background: linear-gradient(-113deg, #05d1e5, #5791db);
  color: #fff;
  font-size: 16px;
  letter-spacing: .06em;
}
.g-nav-contact .btn-mail span {
  margin-right: .5em;
}
.g-nav-contact .btn-mail span::before {
  content: '';
  display: inline-block;
  width: 25px;
  height: 19px;
  background: url(../img/common/icon-mail_white.png) center / contain no-repeat;
  margin-right: 15px;
}
#g-nav .btn-01 a {
  padding: 15px 0;
  margin: 0 auto;
  width: 100%;
  font-size: 17px;
}
#g-nav .copyright {
  text-align: left;
  color: #fff;
}
#g-nav .copyright small {
  font-size: 1rem;
  font-weight: 400;
}
/* sidebar */
.sticky {
  position: sticky;
  top: 20px;
}
@keyframes fuwafuwa {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
footer .marketing-bnr {
  margin-top: 12px;
}
footer .marketing-bnr img {
  vertical-align: bottom;
}
.eoc-bnr {
  display: inline-block;
  line-height: .5;
  position: relative;
}
.eoc-bnr.eoc-blog .eccoman {
  position: absolute;
  bottom: 0%;
  right: -4%;
  animation: 3s fuwafuwa infinite;
  width: 30%;
}
#g-nav .eoc-bnr img {
  max-width: 100%;
  max-height: 100px;
}
.sidebar .eoc-bnr {
  margin-bottom: 2.7rem;
}
.sidebar .eoc-bnr img {
  width: 100%;
}
footer .eoc-bnr {
  margin-top: 15px;
}
footer .eoc-bnr img {
  height: 70px;
}
#sp-fix-bnr .eoc-bnr {
  width: calc(100% - 70px);
}
#sp-fix-bnr .eoc-bnr a {
  display: block;
  width: 100%;
  background: url(../img/eoc/eoc-fix-bnr-sp-bg.png ) center center / auto 75px no-repeat;
  text-align: center;
}
#sp-fix-bnr .flex .eoc-bnr img {
  height: 75px;
}
@media (min-width: 751px) {
  #footer .service-nav {
    width: 39.2%;
  }
  #footer .service-nav__list {
    display: flex;
    justify-content: space-between;
  }
}
.eoc-banner-wide-adjust {
  position: relative;
}
.eccoman-banner-wide-adjust {
  position: absolute;
  right: 0;
}