﻿@charset "utf-8";

/*====================================================================================================

  Layout

    1.  Header
    2.  Navigation
    3.  Contents
    4.  Footer

====================================================================================================*/

/*----------------------------------------------------------------------------------------------------

  1. Header
  
----------------------------------------------------------------------------------------------------*/

#l-hd {
  background-color:#fff;
  position:relative;
  text-align:left;
}

@media print,screen and (min-width:641px) {
  #l-hd {
    width:1180px;
    margin-left:auto;
    margin-right:auto;
    padding-top:1.25rem;
    padding-bottom:1.25rem;
  }
}

@media screen and (max-width:640px) {
  #l-hd {
    box-shadow:0 2px 8px -2px rgba(0,0,0,0.2);
  }
  
  header {
    position:relative;
    z-index:102;
    position:relative;
  }
}


/*--------------------------------------------------------------------------------
  ロゴ
--------------------------------------------------------------------------------*/

.siteLogo {
  line-height:1;
}

.siteLogo a {
  display:inline-block;
}

.siteLogo a:before {
  content:"";
  display:inline-block;
  vertical-align:middle;
  background-position:center center;
  background-repeat:no-repeat;
  background-size:contain;
  background-image:url(../image/sg_logo.svg);
  float:left;
}

.no-svg .siteLogo a:before { background-image:url(../image/sg_logo.png); }

.siteLogo img {
  float:left;
}

@media print,screen and (min-width:641px) {
  .siteLogo a:before {
    width:80px;
    height:90px;
  }
  
  .siteLogo img {
    width:300px;
    margin-top:24px;
    margin-left:20px;
  }
}

@media screen and (max-width:640px) {
  .siteLogo {
    width:65%;
    max-width:260px;
    padding-top:0.25rem;
    padding-bottom:0.2rem;
    padding-left:0.75rem;
  }
  
  .siteLogo a:before {
    width:20%;
    height:0;
    padding-top:26%;
  }
  
  .siteLogo img {
    width:70%;
    margin-left:4%;
    margin-top:7%;
  }
}


/*--------------------------------------------------------------------------------
  文字サイズ
--------------------------------------------------------------------------------*/

.fsChange {
  position:absolute;
  right:0;
  top:1.5rem;
  text-align:center;
  line-height:1;
  font-size:1rem; /* 固定サイズ */
}

.fsChange dt,
.fsChange dd {
  padding:0.5rem 0;
}

.fsChange dt {
  width:7em;
  float:left;
}

.fsChange dd {
  font-weight:400;
  cursor:pointer;
  width:3.25em;
  float:left;
  border-width:1px;
  border-style:solid;
  border-color:#d2d2d2 #bebebe #bebebe #d2d2d2;
}

.fsChange dd[data-size="S"] { border-radius:4px 0 0 4px; }
.fsChange dd[data-size="L"] { border-radius:0 4px 4px 0; }

.fsChange dd {
  overflow:hidden;
  position:relative;
  z-index:0;
  background:#f4f4f4;
}

.ua-pc .fs-large .fsChange dd[data-size="S"]:hover,
.ua-pc .fs-standard .fsChange dd[data-size="L"]:hover {
  background:#e8e8e8;
}

.ua-pc .fsChange dd {
  -webkit-transition:background 0.15s;
  transition:background 0.15s;
}

.ua-pc .fs-standard .fsChange dd[data-size="S"],
.ua-pc .fs-standard .fsChange dd[data-size="S"]:after,
.ua-pc .fs-large .fsChange dd[data-size="L"],
.ua-pc .fs-large .fsChange dd[data-size="L"]:after {
  -webkit-transition:none;
  transition:none;
}

.fs-standard .fsChange dd[data-size="S"],
.fs-large .fsChange dd[data-size="L"] {
  color:#fff;
  background:#94c80c;
  border-color:#85b40b #94c80c #94c80c #85b40b;
}
.fs-standard .fsChange dd[data-size="L"] {
  border-left:0;
}
.fs-large .fsChange dd[data-size="S"] {
  border-right:0;
}


/*--------------------------------------------------------------------------------
  local navigation
--------------------------------------------------------------------------------*/

.hd-lNav {
  list-style:none;
  position:absolute;
  right:300px;
  bottom:1.75rem;
  padding-right:2rem;
  line-height:1;
  font-size:0.9em;
}

.hd-lNav li {
  float:left;
  padding-left:1em;
  margin-left:1em;
  position:relative;
}

.hd-lNav li:not(:first-child):after {
  content:"";
  width:1px;
  height:60%;
  display:inline-block;
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  background-color:#e1e1e1;
}

.hd-lNav li a:before {
  content:"";
  width:1.2em;
  height:1.4rem;
  margin-bottom:0.2rem;
  display:inline-block;
  vertical-align:middle;
  background-position:center center;
  background-repeat:no-repeat;
  background-size:contain;
  margin-right:0.5em;
}

.hd-lNav__guide a:before { background-image:url(../image/icon/info.svg); }
.hd-lNav__contact a:before { background-image:url(../image/icon/mail.svg); }

.no-svg .hd-lNav__guide a:before { background-image:url(../image/icon/info.png); }
.no-svg .hd-lNav__contact a:before { background-image:url(../image/icon/mail.png); }


/*--------------------------------------------------------------------------------
  Googleカスタム検索
--------------------------------------------------------------------------------*/

.gsc--pc {
  position:absolute;
  right:0;
  bottom:1.5rem;
  width:300px;
}

.gsc-control-cse {
	padding:0 !important;
	margin:0 !important;
}

.gsc-input-box {
	padding:0 !important;
	margin:0 !important;
	height:auto !important;
}

.gsc--pc .gsc-input {
	height:auto !important;
}

.gsc--pc .gsc-search-button-v2 {
	padding-top:7px !important;
	padding-bottom:7px !important;
}

.gsc-control-wrapper-cse,
.gsc-results-wrapper-overlay {
	line-height:normal !important;
}


/*----------------------------------------------------------------------------------------------------

  2. Navigation
  
----------------------------------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------------
  global navigation
--------------------------------------------------------------------------------*/

.gNav ul {
  list-style:none;
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}

.gNav li {
  width:16.5%;
  float:left;
  line-height:1;
  overflow:hidden;
  position:relative;
  z-index:0;
  vertical-align:baseline;
}

.gNav li.gNav__home { width:14%; }
.gNav li.gNav__service { width:14%; }
.gNav li.gNav__recruit { width:14%; }
.gNav li.gNav__about { width:25%; }

.gNav li a {
  display:block;
  height:100%;
}

@media print,screen and (min-width:641px) {
  .gNav {
    border-top:1px solid #bad7f4;
    border-bottom:3px solid #0a6fbf;
    background:#ebf5ff;
    box-shadow:0 2px 8px -2px rgba(0,0,0,0.2);
    position:relative;
  }

  .gNav li {
    border-left:1px solid #bad7f4;
    font-size:1.2em;
    font-weight:700;
  }
  
  .gNav li.gNav__nwContact {
    border-right:1px solid #bad7f4;
  }

  .gNav a,
  .gNav a:visited,
  .gNav a:hover { color:#197ece; text-decoration:none; }
  
  .gNav li.is-active,
  .gNav li.is-active a,
  .gNav li.is-active + li:not(:last-child) { border-left:0; border-right:0; }

  .gNav li a {
    padding-top:1.5rem;
    padding-bottom:1.5rem;
  }
  
  .gNav li.is-active {
    border-top:1px solid #278dde;
    margin-top:-1px;
  }

  .gNav li.is-active a,
  .ua-pc .gNav li.is-active a:hover {
    color:#fff;
    background:#278dde;
  }
  
  .ua-pc .gNav a:hover {
    background:#d7ebff;
  }
  
  .ua-pc .gNav a {
    -webkit-transition:background 0.15s;
    transition:background 0.15s;
  }
}

@media screen and (max-width:640px) {
  .gNav {
    width:100%;
    position:fixed;
    bottom:0;
    left:0;
    z-index:100;
    color:#fff;
    background:#0a6fbf;
  }
  
  .gNav li {
    font-size:0.8em;
    padding: 0 0.2em;
  }
  
  .gNav li.gNav__home,
  .gNav li.gNav__home a {
    border-left:0;
  }

  .gNav a,
  .gNav a:visited,
  .gNav a:hover { color:#fff; text-decoration:none; }

  .gNav li a {
    padding-top:1.5em;
    padding-bottom:1.25em;
    border-left:1px solid rgba(255,255,255,0.15); 
  }
  
  .gNav li a:before {
    content:"";
    width:100%;
    max-height:25px;
    height:1.8em;
    display:block;
    background-position:center center;
    background-repeat:no-repeat;
    background-size:contain;
    margin-bottom:0.75em;
  }
  
  .gNav__home a:before { background-image:url(../image/icon/home_white.svg); }
  .gNav__about a:before { background-image:url(../image/icon/about.svg); }
  .gNav__service a:before { background-image:url(../image/icon/service.svg); }
  .gNav__group a:before { background-image:url(../image/icon/network.svg); }
  .gNav__recruit a:before { background-image:url(../image/icon/recruit.svg); }
  .gNav__nwContact a:before { background-image:url(../image/icon/nwContact.svg); }
  
  .no-svg .gNav__home a:before { background-image:url(../image/icon/home_white.png); }
  .no-svg.gNav__about a:before { background-image:url(../image/icon/about.png); }
  .no-svg.gNav__service a:before { background-image:url(../image/icon/service.png); }
  .no-svg.gNav__group a:before { background-image:url(../image/icon/network.png); }
  .no-svg.gNav__recruit a:before { background-image:url(../image/icon/recruit.png); }
  .no-svg.gNav__nwContact a:before { background-image:url(../image/icon/nwContact.png); }
}

@media screen and (max-width:500px) {
  .gNav li {
    font-size:2.65vw;
  }
}

@media screen and (max-width:320px) {
  .gNav li {
    font-size:0.5em;
  }
}


/*--------------------------------------------------------------------------------
  SP global navigation button
--------------------------------------------------------------------------------*/

.sp-gNavBtn {
  width:20%;
  max-width:90px;
  height:100%;
  position:absolute;
  right:0;
  top:0;
  border-left:1px solid #e1e1e1;
  text-align:center;
  cursor:pointer;
}

.sp-gNavBtnLo {
  position:relative;
  height:100%;
}

.sp-gNavBtnLo__item {
  display:inline-block;
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
}

.sp-gNavBtn__label:before,
.sp-gNavBtn__label:after {
  display:block;
  text-align:center;
  font-size:0.8rem;
  line-height:1;
  color:#00acee;
}
  
.sp-gNavBtn__label:before { content:"MENU"; }
html:not(.is-sp-gNavOpen).sp-gNavBtn__label:after { display:none; }
  
html.is-sp-gNavOpen .sp-gNavBtn__label:after { content:"閉じる"; }
html.is-sp-gNavOpen .sp-gNavBtn__label:before { display:none; }

.sp-gNavBtn__icon,
.sp-gNavBtn__icon span,
.sp-gNavBtn__icon span:before,
.sp-gNavBtn__icon span:after {
  display:inline-block;
}
  
.sp-gNavBtn__icon {
  position:relative;
  width:28px;
  height:21px;
}
      
.sp-gNavBtn__icon span {
  position:absolute;
  left:0;
  width:100%;
  height:3px;
  background-color:#00acee;
}
  
.sp-gNavBtn__icon span:nth-of-type(1) {
  top:0;
}
.sp-gNavBtn__icon span:nth-of-type(2) {
  top:9px;
}
.sp-gNavBtn__icon span:nth-of-type(3) {
  bottom:0;
}
  
.sp-gNavBtn.is-aniSet .sp-gNavBtn__icon span:nth-of-type(1) {
  -webkit-animation:menu-bar01 0.4s forwards;
  animation:menu-bar01 0.4s forwards;
}
  
.sp-gNavBtn.is-aniSet .sp-gNavBtn__icon span:nth-of-type(2) {
  transition:opacity 0.2s 0.2s;
  opacity:1;
}
  
.sp-gNavBtn.is-aniSet .sp-gNavBtn__icon span:nth-of-type(3) {
  -webkit-animation:menu-bar02 0.4s forwards;
  animation:menu-bar02 0.4s forwards;
}
  
.sp-gNavBtn.is-close .sp-gNavBtn__icon span:nth-of-type(1) {
  -webkit-animation:active-menu-bar01 0.4s forwards;z
  animation:active-menu-bar01 0.4s forwards;
}
  
.sp-gNavBtn.is-close .sp-gNavBtn__icon span:nth-of-type(2) {
  opacity:0;
}
  
.sp-gNavBtn.is-close .sp-gNavBtn__icon span:nth-of-type(3) {
  -webkit-animation:active-menu-bar03 0.4s forwards;
  animation:active-menu-bar03 0.4s forwards;
}

@media screen and (max-width:400px) {
  .sp-gNavBtn__label:before,
  .sp-gNavBtn__label:after {
    font-size:3vw;
    line-height:0.9;
  }
  
  .sp-gNavBtn__icon {
    font-size:5.5vw;
    transform:scale(0.9);
  }
}

@-webkit-keyframes menu-bar01 {
  0% {
    -webkit-transform:translateY(9px) rotate(45deg);
  }
  50% {
    -webkit-transform:translateY(9px) rotate(0);
  }
  100% {
    -webkit-transform:translateY(0) rotate(0);
  }
}
@keyframes menu-bar01 {
  0% {
    transform:translateY(9px) rotate(45deg);
  }
  50% {
    transform:translateY(9px) rotate(0);
  }
  100% {
    transform:translateY(0) rotate(0);
  }
}
@-webkit-keyframes menu-bar02 {
  0% {
    -webkit-transform:translateY(-9px) rotate(-45deg);
  }
  50% {
    -webkit-transform:translateY(-9px) rotate(0);
  }
  100% {
    -webkit-transform:translateY(0) rotate(0);
  }
}
@keyframes menu-bar02 {
  0% {
    transform:translateY(-9px) rotate(-45deg);
  }
  50% {
    transform:translateY(-9px) rotate(0);
  }
  100% {
    transform:translateY(0) rotate(0);
  }
}
@-webkit-keyframes active-menu-bar01 {
  0% {
    -webkit-transform:translateY(0) rotate(0);
  }
  50% {
    -webkit-transform:translateY(9px) rotate(0);
  }
  100% {
    -webkit-transform:translateY(9px) rotate(45deg);
  }
}
@keyframes active-menu-bar01 {
  0% {
    transform:translateY(0) rotate(0);
  }
  50% {
    transform:translateY(9px) rotate(0);
  }
  100% {
    transform:translateY(9px) rotate(45deg);
  }
}
@-webkit-keyframes active-menu-bar03 {
  0% {
    -webkit-transform:translateY(0) rotate(0);
  }
  50% {
    -webkit-transform:translateY(-9px) rotate(0);
  }
  100% {
    -webkit-transform:translateY(-9px) rotate(-45deg);
  }
}
@keyframes active-menu-bar03 {
  0% {
    transform:translateY(0) rotate(0);
  }
  50% {
    transform:translateY(-9px) rotate(0);
  }
  100% {
    transform:translateY(-9px) rotate(-45deg);
  }
}


/*--------------------------------------------------------------------------------
  SP global navigation
--------------------------------------------------------------------------------*/

html.is-sp-gNavOpen {
  overflow-y:hidden;
}

.sp-gNav {
  display:none;
  padding:1rem 0.75em 0 0.75em;
  background-color:#ebf5ff;
  position:fixed;
  right:0;
  left:0;
  top:0;
  bottom:0;
  z-index:101;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  box-shadow:0 2px 8px -2px rgba(0,0,0,0.15) inset;
}

.sp-gNav nav a,
.sp-gNav nav a:visited,
.sp-gNav nav a:hover { color:inherit; text-decoration:none; }

.sp-gNav nav {
  padding-bottom:1.5rem;
}

.sp-gNav nav ul {
  list-style:none;
  text-align:left;
  font-size:1.1em;
}

.sp-gNav nav ul:not(.sp-gNav__item--child) {
  border-bottom:1px solid #bad7f4;
}

.sp-gNav__item a,
.sp-gNav__item--parent > a {
  display:block;
  padding:0.6em 0.75em;
  font-weight:400;
}

.sp-gNav__item:not(:first-child) a,
.sp-gNav__item--parent > a {
  border-top:1px solid #bad7f4;
}

.sp-gNav__item--parent.is-active > a {
  background-color:#33bdf1;
  border-top-color:#33bdf1;
  border-radius:5px;
}

.sp-gNav__item--parent.is-active > a,
.sp-gNav__item--parent.is-active > a:visited,
.sp-gNav__item--parent.is-active > a:hover { color:#fff; text-decoration:none; }

.sp-gNav__item--child {
  padding:0.5em 0.5em 1em 0.5em;
  display:none;
}

.sp-gNav__item--parent.is-active .sp-gNav__item--child {
  display:inherit;
}

.sp-gNav__item--child li {
  padding:0 0.2em 0 0.3em;
  font-size:0.9em;
}

.sp-gNav__item--child li a {
  display:block;
  padding-top:0.25em;
  padding-bottom:0.25em;
}

.sp-gNav__item--child li .p-iconTxt__mk:after {
  margin-top:0.25em;
  border-width:2px;
}

.sp-gNav__item--parent > a {
  display:block;
  position:relative;
}

.sp-gNav__item--parent .parent--icon {
  display:inline-block;
  position:absolute;
  top:50%;
  right:0.75em;
  transform:translateY(-50%);
}

.sp-gNav__item--parent .parent--icon .p-icon--R.is-active {
  background-color:#fff;
}

.sp-gNav__item--parent .parent--icon .p-icon--R.is-active .p-iconMk--plus:before {
  background-color:#00acee;
}


/* Googleカスタム検索 */
.gsc--sp { padding-bottom:2rem; }

.gsc--sp .gsc-control-cse {
  background-color:transparent !important;
  border-color:transparent !important;
}

.gsc--sp .gsc-input {
	height:2rem !important;
}

.gsc--sp .gsc-search-button-v2 {
  padding-top:0.8rem !important;
  padding-bottom:0.8rem !important;
}


/*----------------------------------------------------------------------------------------------------

  3. Contents
  
----------------------------------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------------
  パンくずリスト
--------------------------------------------------------------------------------*/

.pan {
  width:100%;
  line-height:1.4;
  font-size:0.9em;
  list-style:none;
  text-align:left;
}

.pan li {
  display:inline-block;
  position:relative;
  vertical-align:top;
}

.pan li:first-child a {
  background-position:left 0.3em;
  background-repeat:no-repeat;
  background-image:url(../image/icon/home.svg);
  background-size:1.5em auto;
  padding-left:1.75em;
}

.no-svg .pan li:first-child a {
  background-image:url(../image/icon/home.png);
}

.pan li:not(:last-child):after {
  content:"";
  width:0.4em;
  height:0.4em;
  display:inline-block;
  border-style:solid;
  border-color:#282828;
  -webkit-transform:rotate(-45deg);
  transform:rotate(-45deg);
  vertical-align:middle;
  margin-bottom:0.15em;
  margin-left:0.25rem;
  border-width:0 1px 1px 0;
}

@media print,screen and (min-width:641px) {
  .pan {
    max-width:1180px;
    margin-left:auto;
    margin-right:auto;
    padding-top:1.5rem;
  }
}

@media screen and (max-width:640px) {
  .pan {
    padding-top:1.5rem;
    padding-left:0.75rem;
    padding-right:0.75rem;
  }
}


#l-ct {
  text-align:left;
}

@media print,screen and (min-width:641px) {
  #l-ct {
    max-width:1180px;
    margin-left:auto;
    margin-right:auto;
    text-align:left;
    padding-top:40px;
    padding-bottom:60px;
  }
}


/*----------------------------------------------------------------------------------------------------

  Contents > side
  
----------------------------------------------------------------------------------------------------*/

@media print,screen and (min-width:641px) {
  #l-side {
    width:280px;
    float:right;
  }
}

@media screen and (max-width:640px) {
  #l-side {
    padding-bottom:1rem;
  }
}

/*--------------------------------------------------------------------------------
  navigation
--------------------------------------------------------------------------------*/

.l-sideNav a,
.l-sideNav a:visited,
.l-sideNav a:hover { color:inherit; text-decoration:none; }

.l-sideNav__label {
  background-color:#197ece;
  color:#fff;
  font-size:1.2em;
}

.l-sideNav__list {
  font-weight:400;
}

.l-sideNav__list,
.l-sideNav__list ul {
  list-style:none;
}

.l-sideNav__list li:not(:last-child) {
  border-bottom:1px solid #bad7f4;
}

.l-sideNav__list dt:not(:first-child) {
  border-top:1px solid #bad7f4;
}

.l-sideNav__list li a,
.l-sideNav__list dt a {
  display:block;
}

.l-sideNav__list li.is-active a,
.l-sideNav__list dt.is-active a {
  background:#ebf5ff;
  color:#197ece;
}

.l-sideNav__list dt {
  font-weight:500;
}

.l-sideNav__list dd {
  border-top:1px solid #bad7f4;
  font-size:0.9em;
  font-weight:300;
}

.l-sideNav__list dd li a {
  padding-left:1.7em;
}

@media print,screen and (min-width:641px) {
  .l-sideNav {
    border:2px solid #197ece;
    border-radius:5px;
    margin-bottom:40px;
    overflow:hidden;
    box-sizing: border-box;
  }
  
  .l-sideNav__label {
    padding:0.6em 1rem;
  }
  
  .l-sideNav li:last-child,
  .l-sideNav dd:last-child {
    border-radius:0 0 5px 5px;
    overflow:hidden;
  }
  
  .l-sideNav__list li,
  .l-sideNav__list dt,
  .l-sideNav__list dd {
    letter-spacing:0;
  }
  
  .l-sideNav__list li a,
  .l-sideNav__list dt a,
  .l-sideNav__list dd a {
    padding:0.8em 1rem;
  }
  
  .ua-pc .l-sideNav__list li a,
  .ua-pc .l-sideNav__list dt a,
  .ua-pc .l-sideNav__list dd a {
    -webkit-transition:background 0.15s;
    transition:background 0.15s;
  }
  
  .ua-pc .l-sideNav__list li a:hover,
  .ua-pc .l-sideNav__list dt a:hover,
  .ua-pc .l-sideNav__list dd a:hover {
    background:#ebf5ff;
    color:#197ece;
  }
}

@media screen and (max-width:640px) {
  .l-sideNav {
    border:2px solid #197ece;
    border-radius:5px;
    overflow:hidden;
    box-sizing: border-box;
    margin-left: 0.75rem;
    margin-right: 0.75rem;
    margin-bottom: 15px;
  }
  .l-sideNav__label {
    padding:0.75rem;
  }
  
  .l-sideNav__list {
    border-bottom:1px solid #bad7f4;
  }
  
  .l-sideNav__list li a,
  .l-sideNav__list dt a,
  .l-sideNav__list dd a {
    padding:0.85em 0.75rem;
  }

  .l-sideNav__list ul li a {
    padding-left:1.5rem;
  }
}


/*--------------------------------------------------------------------------------
  バナー
--------------------------------------------------------------------------------*/

.sideBnr {
  list-style:none;
}
.sideBnr li:first-child {
  margin-top:0;
}

.sideBnr li a {
  display:block;
  border-radius:5px;
  overflow:hidden;
  transition: 0.3s;
  border:2px solid #bbb;
  background: -moz-linear-gradient(top, #fff, #f0f0f0);
  background: -webkit-linear-gradient(top, #fff, #f0f0f0);
  background: linear-gradient(to bottom, #fff, #f0f0f0);  
}
.sideBnr li a:hover {
  border:2px solid #26b8f1;
  background: -moz-linear-gradient(top, #fff, #d7eff9);
  background: -webkit-linear-gradient(top, #fff, #d7eff9);
  background: linear-gradient(to bottom, #fff, #d7eff9);  
}

.sideBnr li.sg a {
  border:2px solid #26b8f1;
  background: none;
}
.sideBnr li.sg a:hover {
  opacity: 0.7;
}

@media print,screen and (min-width:641px) {
  .sideBnr li {
    margin-top:1.25rem;
  }
}

@media screen and (max-width:640px) {
  .sideBnr {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-left:0.375rem;
    padding-right:0.375rem;
    margin-bottom: -15px;
  }
  
  .sideBnr li {
    width:50%;
    float:left;
    padding-left:0.375rem;
    padding-right:0.375rem;
    margin-bottom: 15px;
  }
  
  .sideBnr li.sg a {
    padding-top:3.5%;
    padding-bottom:3.5%;
  }
}


/*--------------------------------------------------------------------------------
  住所・連絡先
--------------------------------------------------------------------------------

.l-side-mCo {
  border-width:1px 1px 0 1px;
  border-style:solid;
  border-color:#d2d2d2;
  border-radius:5px 5px 0 0;
  padding:1.5rem;
  font-size:0.9em;
  line-height:1.5;
}

.l-side-mCo__torikumi {
  font-size:0.9em;
  color:#00acee;
  line-height:1.4;
  font-weight:500;
  padding-bottom:0.75rem;
}

.l-side-mCo .logo {
  width:180px;
  height:auto;
  margin-bottom:0.25rem;
}

.l-side-mCo address {
  margin-bottom:0.5rem;
}

.l-side-mCo .contact {
  display:inline-block;
  margin-top:0.5rem;
  font-size:1.1em;
}

.l-side-mCo .contact:before {
  content:"";
  width:1.2em;
  height:1.4rem;
  margin-bottom:0.2rem;
  display:inline-block;
  vertical-align:middle;
  background-position:center center;
  background-repeat:no-repeat;
  background-size:contain;
  margin-right:0.5em;
}

.l-side-mCo .contact:before { background-image:url(../image/icon/mail.svg); }
.no-svg .l-side-mCo .contact:before { background-image:url(../image/icon/mail.png); }


.l-side-mCo .fax:after {
  content:"";
  display:block;
  height:1.2em;
  margin-top:0.5rem;
  margin-bottom:0.25rem;
  background:url(../image/mail.gif) no-repeat left center;
  background-size:contain;
}


/*--------------------------------------------------------------------------------
  local navigation
--------------------------------------------------------------------------------

.l-side-lNav {
  list-style:none;
  border-width:0 1px 1px 1px;
  border-style:solid;
  border-color:transparent #bebebe #bebebe #d2d2d2;
  border-radius:0 0 5px 5px;
  overflow:hidden;
  font-weight:400;
}

.l-side-lNav li {
  border-top:1px solid #d2d2d2;
}

.l-side-lNav li a,
.l-side-lNav li a:visited,
.l-side-lNav li a:hover { color:inherit; text-decoration:none; }

.l-side-lNav li a {
  display:block;
  padding:0.75em 1rem;
  background:#f8f8f8;
  -webkit-transition:background 0.15s;
  transition:background 0.15s;
}

.l-side-lNav li a:hover {
  background:#eee;
}

.l-side-lNav li .p-iconTxt__mk {
  display:block;
}


/*--------------------------------------------------------------------------------
  SSL
--------------------------------------------------------------------------------*/

.l-sideSSL {
  text-align:center;
}

.l-sideSSL p {
  line-height:1.5;
  padding-top:0.25em;
}

@media print,screen and (min-width:641px) {
  .l-sideSSL {
    padding-top:30px;
  }
  
  .l-sideSSL p {
    font-size:0.75em;
    text-align:left;
  }
}

@media screen and (max-width:640px) {
  .l-sideSSL {
    padding:1.5rem 0.75rem;
  }
  
  .ssl-sticker {
    width:35%;
    max-width:140px;
  }
  
  .l-sideSSL p {
    font-size:0.8em;
    text-align:center;
  }
}


/*----------------------------------------------------------------------------------------------------

  Contents > main
  
----------------------------------------------------------------------------------------------------*/

@media print,screen and (min-width:641px) {
  #l-main {
    width:860px;
    float:left;
    padding-bottom:20px;
  }
}

@media screen and (max-width:640px) {
  #l-main {
    padding-bottom:2rem;
    padding-left:0.75rem;
    padding-right:0.75rem;
  }
}

@media screen and (max-width:400px) {
  #l-main {
    padding-bottom:1.5rem;
  }
}


/*--------------------------------------------------------------------------------

  ページタイトル
  
--------------------------------------------------------------------------------*/

.pgTtl {
  background:url(../image/pgTtl_bg.png) no-repeat right bottom;
  background-size:contain;
  position:relative;
  font-weight:700;
  line-height:1.4;
}

@media print,screen and (min-width:641px) {
  .pgTtl {
    padding:2.25rem 2.5rem;
    border-radius:5px;
    border-width:1px;
    border-style:solid;
    border-color:#dcdcdc #c8c8c8 #c8c8c8 #dcdcdc;
    font-size:1.9em;
    margin-bottom:2.5rem;
  }
}

@media screen and (max-width:640px) {
  .pgTtl {
    padding:1em 1.25rem;
    border-bottom:1px solid #dcdcdc;
    margin-left:-0.75rem;
    margin-right:-0.75rem;
    font-size:1.7em;
    margin-bottom:2rem;
  }
}

@media screen and (max-width:400px) {
  .pgTtl {
    margin-bottom:1.5rem;
  }
}


/*--------------------------------------------------------------------------------

  見出し
  
--------------------------------------------------------------------------------*/

.l-hdline {
  line-height:1.4;
  font-weight:700;
}

@media print,screen and (min-width:641px) {
  .l-hdline {
    font-size:1.3em;
  }
}

@media screen and (max-width:640px) {
  .l-hdline {
    font-size:1.2em;
  }
}


/*--------------------------------------------------------------------------------
  水色背景
--------------------------------------------------------------------------------*/

.l-hdline--bg {
  background-color:#26b8f1;
  border:1px solid #26b8f1;
  color:#fff;
}

@media print,screen and (min-width:641px) {
  .l-hdline--bg {
    border-radius:5px;
    padding:0.75rem 1rem;
  }
}

@media screen and (max-width:640px) {
  .l-hdline--bg {
    padding:0.6em 0.75rem;
    margin-left:-0.75rem;
    margin-right:-0.75rem;
  }
}


/*--------------------------------------------------------------------------------
  ❚左ライン
--------------------------------------------------------------------------------*/

.l-hdline--line {
  border-left:5px solid #197ece;
  padding-left:1rem;
  margin-bottom:0.6em;
  position:relative;
}

.l-hdline--line:before,
.l-hdline--line:after {
  content:"";
  display:block;
  width:100%;
  height:1px;
  position:absolute;
  left:0;
  bottom:-0.6em;
  background-color:#dcdcdc;
}

.l-hdline--line:before {
  left:-5px;
}


/*----------------------------------------------------------------------------------------------------

  3. Footer
  
----------------------------------------------------------------------------------------------------*/

footer {
  background-color:#197ece;
  color:#fff;
}

footer a,
footer a:visited,
footer a:hover,
.ua-pc footer a:hover { color:#fff; }

#l-ft {
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
  position:relative;
}

@media print,screen and (min-width:641px) {
  footer {
    padding-top:2.5rem;
    padding-bottom:2.5rem;
  }
  
  #l-ft {
    text-align:left;
  }
}

@media screen and (max-width:640px) {
  footer {
    padding:2.5rem 1rem;
  }
}


/*--------------------------------------------------------------------------------
  local navigation
--------------------------------------------------------------------------------*/

.ft-lNav {
  list-style:none;
  line-height:1;
  font-size:0.9em;
  padding-top:0.25rem;
}

.ft-lNav li {
  float:left;
  padding-right:1em;
  margin-right:1em;
  position:relative;
}

.ft-lNav li:not(:last-child):after {
  content:"";
  width:1px;
  height:60%;
  display:inline-block;
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  background-color:rgba(255,255,255,0.25);
}


/*--------------------------------------------------------------------------------
  住所・連絡先
--------------------------------------------------------------------------------*/
  
@media print,screen and (min-width:641px) {
  .ft-mCo {
    margin-top:1.75rem;
  }
  
  .ft-mCo__ad {
    display:inline-block;
    font-size:0.8em;
    line-height:1.6;
  }
  
  .ft-logo {
    width:240px;
    height:auto;
    margin-top:0.1em;
    margin-right:1.5rem;
    float:left;
  }
  
  .ft-mCo__ad .yno {
    display:inline-block;
    margin-right:1em;
  }
  
  .ft-mCo__ad .tel,
  .ft-mCo__ad .fax {
    display:inline-block;
  }
  
  .ft-mCo__ad .tel {
    margin-right:1em;
  }
}

@media screen and (max-width:640px) {
  .ft-logo {
    margin-top:0.25rem;
    margin-bottom:1.25rem;
    max-width:220px;
    width:60%;
    height:auto;
  }
  
  .ft-mCo__ad {
    display:block;
    padding-bottom:1.25rem;
  }
  
  .ft-mCo__ad .tel,
  .ft-mCo__ad .fax {
    display:inline-block;
    margin-top:0.25rem;
    margin-left:0.5rem;
    margin-right:0.5rem;
  }
  
  .ft-mCo__ad .yno {
    display:block;
    line-height:1.4;
  }
}
  
.ua-tab .ft-mCo__ad .tel a[href^="tel:"],
.ua-sp .ft-mCo__ad .tel a[href^="tel:"] {
  font-weight:400;
}


/*--------------------------------------------------------------------------------
  copyright
--------------------------------------------------------------------------------*/

.copyright {
  display:inline-block;
  font-size:0.8em;
}

@media print,screen and (min-width:641px) {
  .copyright {
    position:absolute;
    right:0;
    bottom:0.1em;
  }
}

@media screen and (max-width:400px) {
  .copyright {
    font-size:0.7em;
  }
}


/*--------------------------------------------------------------------------------
  back to top
--------------------------------------------------------------------------------*/

.backtoTop-lo {
  display:none;
  width:100%;
  position:fixed;
  bottom:0;
  z-index:200;
  pointer-events:none;
}
  
.backtoTop {
  display:inline-block;
  width:3rem;
  height:3rem;
  border:2px solid #197ece;
  background-color:#fff;
  border-radius:5px;
  cursor:pointer;
  float:right;
  pointer-events:auto;
}

.backtoTop__icon {
  position:relative;
  width:100%;
  height:100%;
  display:block;
  text-indent:100%;
  white-space:nowrap;
  overflow:hidden;
  line-height:0;
}

.backtoTop__icon:after {
  content:"";
  display:inline-block;
  width:0.8rem;
  height:0.8rem;
  position:absolute;
  left:50%;
  top:50%;
  margin-left:2px;
  margin-top:-2px;
  border-top:2px solid #197ece;
  border-right:2px solid #197ece;
  -webkit-transform:rotate(-45deg) translate(-50%,-50%);
  transform:rotate(-45deg) translate(-50%,-50%);
}

@media print,screen and (min-width:641px) {
  .backtoTop-lo {
    min-width:1180px;
    height:4.5rem;
  }
  
  .backtoTop {
    margin-right:1.5rem;
  }
  
  .ua-pc .backtoTop {
    -webkit-transition:background 0.15s;
    transition:background 0.15s;
  }
  
  .ua-pc .backtoTop:hover {
    background-color:#278dde;
    border-color:#278dde;
  }
  
  .ua-pc .backtoTop:hover .backtoTop__icon:after {
    border-color:#fff;
  }
}

@media screen and (max-width:640px) {
  .backtoTop-lo {
    height:3.75rem;
  }
  
  .backtoTop {
    margin-right:1.5rem;
  }
}

@media screen and (max-width:500px) {
  .backtoTop-lo {
    height:3.25rem;
  }
  
  .backtoTop {
    width:2.5rem;
    height:2.5rem;
  }
  
  .backtoTop__icon:after {
    width:0.65rem;
    height:0.65rem;
  }
}

