/*--------------------------------------------------------------
 Normalize
--------------------------------------------------------------*/
/* A Modern CSS Reset */
*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role="list"],ol[role="list"]{list-style:none}html{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5}a:not([class]){text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}

html, body {
  height: 100%;
  min-height: 100vh;
}
html {
	font-size: 10px;
}
body {
  line-height: 1.6;
  /* font-family: YuGothic_Subset, YuGothic, "Yu Gothic Medium", "Yu Gothic", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, Verdana, Meiryo, sans-serif; */
  font-family: YuGothic_Subset, YuGothic, "Yu Gothic Medium", "Yu Gothic", Meiryo, sans-serif;
}
@media screen and (max-width: 600px){
  body { font-size: 1.6rem; }
}
@media screen and (min-width: 601px){
  body { font-size: 1.8rem; }
}
/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
/*--------------------------------------------------------------
 Fonts
--------------------------------------------------------------*/
/* 不足フォント */
/* PA1ゴシックStd Medium */
@font-face {
	font-family: 'Akrobat';
	src: local('Akrobat'),
	     url('./assets/fonts/Akrobat-Regular.eot?') format('eot'),
	     url('./assets/fonts/Akrobat-Regular.woff') format('woff'),
	     url('./assets/fonts/Akrobat-Regular.woff2') format('woff2'),
	     url('./assets/fonts/Akrobat-Regular.otf')  format('opentype');
  font-weight: normal;
}
@font-face {
	font-family: 'Akrobat';
	src: local('Akrobat'),
	     url('./assets/fonts/Akrobat-Bold.eot?') format('eot'),
	     url('./assets/fonts/Akrobat-Bold.woff') format('woff'),
	     url('./assets/fonts/Akrobat-Bold.woff2') format('woff2'),
	     url('./assets/fonts/Akrobat-Bold.otf')  format('opentype');
  font-weight: bold;
}
@font-face {
	font-family: 'YuGothic_Subset';
	src: local('游ゴシック体 ミディアム'),
	     url('./assets/fonts/YuGothic_medium.woff') format('woff'),
	     url('./assets/fonts/YuGothic_medium.woff2') format('woff2'),
       url('./assets/fonts/YuGothic_medium.otf')  format('opentype');
  font-weight: normal;
}
@font-face {
	font-family: 'YuGothic_Subset';
	src: local('游ゴシック体 ボールド'),
	     url('./assets/fonts/YuGothic_bold.woff') format('woff'),
	     url('./assets/fonts/YuGothic_bold.woff2') format('woff2'),
       url('./assets/fonts/YuGothic_bold.otf')  format('opentype');
  font-weight: bold;
}
@font-face {
	font-family: 'YuGothic_Vertical_Subset';
	src: local('游ゴシック体 ボールド'),
	     url('./assets/fonts/YuGothic_bold_v.woff') format('woff'),
	     url('./assets/fonts/YuGothic_bold_v.woff2') format('woff2'),
       url('./assets/fonts/YuGothic_bold_v.otf')  format('opentype');
  font-weight: bold;
}

/*--------------------------------------------------------------
 Common components
--------------------------------------------------------------*/
a, a:hover {
  color: #001d81;
  text-decoration: none;
}
a {
  transition: all 0.3s;
}
.flex-container {
  display: flex;
}
.grid-container {
  display: grid;
}
.content-inner {
  margin: 0 auto;
}
.nowrap {
  white-space: nowrap;
}
.btn-area ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.hide {
  display: none;
}
.btn-area a {
  display: block;
  width: 100%;
  color: #001d81;
  border: 2px solid #001d81;
  background: #fff;
  font-size: 1.6rem;
  line-height: 3.5em;
  text-align: center;
  text-decoration: none;
}
.btn-area a:hover {
  color: #fff;
  background: linear-gradient(#0047bf, #00085f);
}

@media screen and (max-width: 600px){
  .pc_only { display: none; }

  .content-inner {
    padding: 0 20px;
    max-width: 1000px;
  }

  .btn-area {
    margin-top: 1em;
  }
  .btn-area ul {
    margin: 0 auto;
    padding: 0;
    display: block;
  }
  .btn-area li {
    margin: 0 auto 1em;
    max-width: 270px;
  }
  .btn-area li:nth-of-type(2n) {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 601px){
  .sp_only { display: none; }

  .content-inner {
    padding: 0 30px;
    max-width: 1000px;
  }

  .btn-area ul {
    display: flex;
    flex-wrap: wrap;
    list-style-type: none;
  }
  .btn-area li {
    margin-bottom: 20px;
    width: 100%;
    /* max-width: 210px; */
  }
}



.breadcrumb {
  color: #fff;
  background-color: #001d81;
}
.breadcrumb a,
.breadcrumb a:hover {
  color: #fff;
}
.breadcrumb ul {
  margin: 0;
  padding: 5px 0;
  font-size: 1.4rem;
  font-family: 'YuGothic_Subset', YuGothic, "Yu Gothic Medium", "Yu Gothic";
  list-style-type: none;
  display: flex;
}
.breadcrumb li {
  line-height: 2;
}
.breadcrumb li::after {
  content: '';
  margin: -2px 2rem;
  width: 1em;
  height: 1em;
  background: url(assets/image/icon_arrow_white.svg) no-repeat center;
  display: inline-block;
}
.breadcrumb li:last-child::after {
  display: none;
}
.page-header {
  position: relative;
}
.page-header::after {
  content: '';
  width: 100%;
  height: 2px;
  background: #001d81;
  display: block;
  align-items: center;
  position: absolute;
  top: 50%;
  z-index: -1;
}
.page-header h1 {
  margin: 0 auto;;
  padding-left: 2.5rem;
  padding-right: 2rem;
  width: 100%;
  max-width: 940px;
  color: #001d81;
  background-color: #fff;
  border-left: 2px solid #001d81;
  border-right: 2px solid #001d81;
  font-family: YuGothic_Subset, YuGothic, "Yu Gothic Medium", "Yu Gothic";
  font-size: 4rem;
  line-height: 13rem;
}
@media screen and (max-width: 600px){
  .page-header {
    margin: 40px 0;
  }
  .page-header h1 {
    height: 50px;
  }
}
@media screen and (min-width: 601px){
  .page-header {
    margin: 60px 0;
  }
  .page-header h1 {
    height: 130px;
  }
}
@media screen and (max-width: 1000px){
  .page-header h1 {
    margin-left: 30px;
    margin-right: 30px;
    max-width: calc(100% - 60px);
    padding-left: 10px;
    font-size: 3.4rem;
    line-height: initial;
  }
}

.search-area {
  margin-bottom: 20px;
  font-size: 1.7rem;
  line-height: 2.5;
  background-color: #ebf0fa;
}
.search-area .grid-container {
  margin: 0px 0px;
}
.search-area .grid-container > div:first-child {
  font-weight: bold;
}
.search-area .grid-container ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
}
.search-area .grid-container li {
  margin-right: 30px;
}
.search-area .grid-container li:last-child {
  margin-right: 0;
}
.search-area .grid-container li a {
  color: #000;
}
.search-area .grid-container li a.active {
  padding-bottom: 3px;
  color: #001d81;
  font-weight: bold;
  border-bottom: 2px solid #001d81;
}
.search-area .search-keyword {
  display: flex;
  align-items: center;
}
.search-area .search-keyword input[type=search] {
  width: calc(100% - 45px);
  height: 2.2em;
  border: none;
  border-bottom: 2px solid #001d81;
  line-height: 2.2em;
  display: inline-block;
}
.search-area .search-keyword button[type=submit] {
  padding: 0;
  width: 40px;
  height: 2.2em;
  display: inline-block;
  background: url(assets/image/icon_search.svg) no-repeat center 70% transparent;
  background-size: 1.6em;
  border: none;
  position: relative;
  text-indent: 100%;
  overflow: hidden;
  cursor: pointer;
}
@media screen and (max-width: 600px){
  .search-area {
    padding: 20px 0;
    font-size: 1.4rem;
    line-height: 2.2;
  }
  .search-area .grid-container {
    grid-template-columns: 5em 1fr;
    grid-gap: 40px;
  }
  .search-area .grid-container > div:first-child {
    text-align: left;
  }
  .search-area form {
    margin: 20px 0px 10px;
  }
}
@media screen and (min-width: 601px){
  .search-area {
    padding: 45px 0 30px;
    font-size: 1.6rem;
  }
  .search-area .grid-container {
    grid-template-columns: 100px 1fr;
    grid-gap: 60px;
  }
  .search-area .grid-container > div:first-child {
    text-align: right;
  }
  .search-area form {
    margin: 20px 0px;
  }
}

/*--------------------------------------------------------------
 Header
--------------------------------------------------------------*/
header {
  width: 100%;
  background-color: #fff;
  position: fixed;
  top: 0;
  z-index: 9999;
}
header .language-sp{
    display: none;
}
header .language-pc{
    position: absolute;
    top:16px;
    right: 0;
    padding: 0 30px;
}
header .language-pc a,header .language-pc span{
    display: inline-block;
    color:#7d7d7d;
    margin: 0 0 0 10px;
    font-size: 1.4rem;
}
header .language-pc a.on,header .language-pc span.on{
    font-weight: 400;
    color:#000;
}
header .language-pc a:hover{
    color:#000;
    font-weight: 400;
}
header a,
header a:hover {
  color: #001d81;
  text-decoration: none;
  font-size: 1.4rem;
}
header h1 {
  text-indent: 100%;
  overflow: hidden;
  width: 190px;
  min-width: 190px;
  height: 40px;
  background: url(assets/image/logo.svg) no-repeat center;
  background-size: contain;
}
header ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
  line-height: 1.8;
  display: flex;
}
header > .content-inner {
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding-top:20px;
}
header nav li:not(:first-child) {
  margin-left: 40px;
}
@media screen and (max-width: 600px){
  header {
    height: 50px;
  }
  header .content-inner {
    padding: 10px 20px;
  }
  header h1 {
    width: 150px;
    height: 30px;
    min-width: initial;
  }
  header .language-pc{
    display: none;
  }
  header .language-sp{
    display: block;
    padding: 0 30px;
    margin: 2em 4em 0 4em;
    text-align: center;
  }
  header .language-sp a,header .language-sp span{
    display: inline-block;
    color:#7d7d7d;
    margin: 0 0 0 10px;
    font-size: 1.4rem;
  }
  header .language-sp a.on,header .language-sp span.on{
    font-weight: 400;
    color:#fff;
    border-bottom: solid 1px #fff;
  }
  header .language-sp a:hover{
    color:#fff;
    font-weight: 400;
    border-bottom: solid 1px #fff;
  }
}
@media screen and (min-width: 601px){
  header {
    height: 100px;
  }
}
/*--------------------------------------------------------------
 Header Navigation
--------------------------------------------------------------*/
/* for PC */
@media screen and (min-width: 601px){
  .nav-submenu-wrap {
    position: fixed;
    top: 100px;
    left: 0;
    padding: 30px 0px;
    width: 100%;
    background-color: #001d81;
    z-index: 101;
  }
  .nav-submenu-wrap::before {
    content: '';
    position: fixed;
    background: transparent;
    width: 100px;
    height: 25px;
    top: 75px;
  }
  .nav-submenu-wrap::after {
    content: '';
    width: 2px;
    height: 25px;
    background-color: #001d81;
    display: block;
    position: fixed;
    top: 75px;
  }
  .nav-submenu-wrap .navi-submenu-content {
    display: flex;
    justify-content: flex-start;
  }
  .nav-submenu-wrap .navi-submenu-content > div {
    margin-right: 35px;
  }
  .nav-submenu-wrap .navi-title-sub {
    margin-bottom: 10px;
    color: #fff;
    font-size: 1.2rem;
  }
  .nav-submenu-wrap .nav-submenu {
    display: block;
  }
  .nav-submenu-wrap .nav-submenu li,
  .nav-submenu-wrap .nav-submenu a {
    color: #fff;
  }
  .nav-submenu-wrap .nav-submenu a:hover {
    text-decoration: underline;
  }
  .nav-submenu-wrap .nav-submenu li {
    margin-left: 0;
    padding-bottom: 5px;
  }
  .nav-submenu-wrap.sm-solutions .nav-submenu a {
    display: flex;
    align-items: center;
  }
  .nav-submenu-wrap.sm-solutions .nav-submenu li a::before {
    content: "";
    margin-right: 5px;
    width: 50px;
    height: 40px;
    display: inline-block;
  }
  .nav-submenu-wrap .nav-submenu li a.kr_advance::before {
    background: url(assets/image/icon_kr_advance_white.png) no-repeat center;
  }
  .nav-submenu-wrap .nav-submenu li a.kr_manda::before {
    background: url(assets/image/icon_kr_manda_white.png) no-repeat center;
  }
  .nav-submenu-wrap .nav-submenu li a.kr_operation::before {
    background: url(assets/image/icon_kr_operation_white.png) no-repeat center;
  }
  .nav-submenu-wrap .nav-submenu li a.kr_withdrawal::before {
    background: url(assets/image/icon_kr_withdrawal_white.png) no-repeat center;
  }
  .nav-submenu-wrap .nav-submenu li a.kr_taxsupport::before {
    background: url(assets/image/icon_kr_taxsupport_white.png) no-repeat center;
  }
  .nav-submenu-wrap .nav-submenu li a.kr_casestudy::before {
    background: url(assets/image/icon_kr_casestudy_white.png) no-repeat center;
  }
  .nav-submenu-wrap .nav-submenu li a.jp_startup::before {
    background: url(assets/image/icon_jp_startup_white.png) no-repeat center;
  }
  .nav-submenu-wrap .nav-submenu li a.jp_advance::before {
    background: url(assets/image/icon_jp_advance_white.png) no-repeat center;
  }
  .nav-submenu-wrap .nav-submenu li a.jp_manda::before {
    background: url(assets/image/icon_jp_manda_white.png) no-repeat center;
  }
  .nav-submenu-wrap .nav-submenu li a.jp_taxsupport::before {
    background: url(assets/image/icon_jp_taxsupport_white.png) no-repeat center;
  }
  .nav-submenu-wrap .nav-submenu li a.jp_accountaudit::before {
    background: url(assets/image/icon_jp_accountaudit_white.png) no-repeat center;
  }
  .nav-submenu-wrap .nav-submenu li a.jp_casestudy::before {
    background: url(assets/image/icon_jp_casestudy_white.png) no-repeat center;
  }
}
/* for SP */
#nav-drawer {
  position: relative;
}
#nav-hm {
  display: inline-block;
  width: 30px;
  height: 18px;
  vertical-align: middle;
}
#nav-hm span, #nav-hm span:before, #nav-hm span:after {
  position: absolute;
  height: 2px;/*線の太さ*/
  width: 20px;/*長さ*/
  border-radius: 3px;
  background: #555;
  display: block;
  content: '';
  cursor: pointer;

  transition: all .2s;
}
#nav-hm span::before {
  bottom: -6px;
}
#nav-hm span::after {
  bottom: -12px;
}
#nav-hm.nav-open span {
  color: #001d81;
  bottom: calc(100% / 2);
  transform: rotate(45deg);
}
#nav-hm.nav-open span::before {
  background-color: #fff;
  bottom: 0px;
  transform: rotate(-90deg);
}
#nav-hm.nav-open span::after {
  color: #001d81;
  bottom: 0px;
  transform: rotate(-90deg);
}

#nav-sp {
  /* padding: 2em 4em 3.5em; */
  padding: 0;
  width: 100%;
  height: 0;
  color: #fff;
  background-color: #001d81;
  font-size: 1.4rem;
  position: fixed;
  top: 50px;
  left: 0;
  overflow: hidden;
  /* display: none; */
  opacity: 0;
  transition: all .2s;
}
#nav-sp.nav-open {
  height: auto;
  opacity: 1;
}
#nav-sp a,
#nav-sp a:hover {
  color: #fff;
}
#nav-sp ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
#nav-sp li {
  margin: 0;
}
#nav-sp > ul {
  margin: 1em 4em 0;
  display: block;
}
#nav-sp > ul > li {
  border-bottom: 1px solid #fff;
}
#nav-sp span.nav-submenu-title {
  padding: 1em 0;
  font-weight: 700;
  display: flex;
  justify-content: space-between;
}
#nav-sp li > span.nav-submenu-title::after {
  content: '＋';
}
#nav-sp li.open span.nav-submenu-title::after {
  content: 'ー';
}
#nav-sp li.open {
  padding-bottom: 1em;
}
#nav-sp .nav-submenu-wrap {
  display: none;
}
#nav-sp .nav-submenu-wrap .flex-container {
  display: flex;
  flex-wrap: wrap;
}
#nav-sp .nav-submenu li {
  width: 50%;
}
#nav-sp .nav-submenu .navi-sub-wrap {
  margin-top: 1em;
}
#nav-sp .nav-submenu .navi-sub-wrap:first-child {
  margin-top: 0;
}
#nav-sp .nav-submenu .navi-sub-wrap ul {
  display: block;
}
#nav-sp .nav-submenu .navi-sub-wrap li {
  width: 100%;
}
#nav-sp .nav-submenu .navi-title-sub {
  margin-bottom: .5em;
  color: #a0b4dc;
  font-size: 1rem;
  border-bottom: solid 1px #a0b4dc;
}

#nav-sp .contact {
  margin: 40px 4em 3.5em;
}
#nav-sp .contact a {
  margin: 0 auto;
  width: 100%;
  max-width: 300px;
  height: 70px;
  color: #001d81;
  font-size: 1.6rem;
  font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", sans-serif;
  font-weight: 700;
  line-height: 70px;
  text-align: center;
  background: #fff url(./assets/image/nav_sp_contact_bg.jpg) no-repeat left center;
  background-size: cover;
  display: block;
}

@media screen and (max-width: 600px){
  #nav-hm {
    width: 20px;
    height: 22px;
  }

}
@media screen and (min-width: 480px){
  #nav-sp .nav-submenu-wrap .flex-container {
    flex-wrap: nowrap;
  }
  #nav-sp .nav-submenu .navi-sub-wrap:not(:first-of-type) {
    margin-top: 0;
    margin-left: 30px;
  }
}
@media screen and (min-width: 601px){
  #nav-hm {
    height: 22px;
  }
  #nav-hm span, #nav-hm span:before, #nav-hm span:after {
    height: 3px;
    width: 25px;
  }
  #nav-hm span:before {
    bottom: -8px;
  }
  #nav-hm span:after {
    bottom: -16px;
  }
  #nav-sp {
    top: 80px;
  }
}
@media screen and (max-width: 800px){
  /* ヘッダーメニューが折り返されるのでイレギュラー対応 */
  #nav-global {
    display: none;
  }

}
@media screen and (min-width: 801px){
  #nav-drawer {
    display: none;
  }
  /* 800px未満でグロナビ非表示のため */
  #nav-sp {
    display: none;
  }
}

/*--------------------------------------------------------------
 Footer
--------------------------------------------------------------*/
footer {}
footer a,
footer a:hover {
  color: #fff;
  text-decoration: none;
}
footer ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
  line-height: 1.8;
}
footer .footer-navi-wrap {
  padding: 20px 0 130px;
  background-color: #001d81;
}
footer .footer-navi {
  color: #fff;
  background-color: #001d81;
}
footer .footer-navi a.navi-title {
  font-weight: 700;
}
footer .footer-navi .navi-title-sub {
  margin-bottom: .4em;
  color: #a0b4dc;
  border-bottom: 1px solid #a0b4dc;
}
footer .footer-company-info-wrap {
  padding: 0 30px;
}
footer .company-info {
  margin: -100px auto 0;
  padding: 25px;
  width: 100%;
  max-width: 1000px;
  background-color: #fff;
  position: relative;
  border-radius: 5px;
  display: flex;
  justify-content: space-around;
  flex-direction: column;
}
footer .company-info .branch-info {
  padding-bottom: 60px;
  justify-content: space-around;
  align-items: center;
  flex-wrap: wrap;
}
footer .company-info .company-name,
footer .company-info .branch {
  color: #001d81;
  font-weight: 700;
}
footer .company-info .address,
footer .company-info .address a {
  color: #000;
}
footer .company-info .company-name {
  font-size: 1.8rem;
}
footer .company-info .logo {
  padding-bottom: 30px;
  text-align: center;
}
footer .company-info .logo img {
  width: 100%;
  max-width: 200px;
  height: auto;
  display: inline-block;
}
footer .company-info .copyright {
  text-align: center;
}
footer .company-info .copyright small {
  font-size: 1.4rem;
}

@media screen and (max-width: 600px){
  footer {
    font-size: 1.2rem;
  }
  footer a,
  footer a:hover {
    font-size: 1.2rem;
  }
  footer .footer-navi-wrap {
    padding-top: 30px;
  }
  footer .footer-navi-wrap > .content-inner {
    padding: 0 35px;
  }
  footer .footer-navi > ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 25px;
  }
  footer .footer-navi > ul > li,
  footer .footer-navi {
    margin-right: 0;
  }
  footer .footer-navi > ul > li:nth-child(3) {
    grid-column: 1 / 3;
  }
  footer .footer-navi > ul > li:nth-child(3) .flex-container > div {
    width: 50%;
  }
  footer .footer-navi .navi-title-sub {
    font-size: 1.0rem;
  }
  footer .footer-navi .navi-sub-wrap {
    margin-right: 25px;
  }
  footer .footer-navi .navi-sub-wrap:last-child {
    margin-right: 0;
  }
  footer .company-info .branch-info.flex-container {
    display: block;
  }
  footer .company-info .branch-info .company-name {
    font-size: 1.6rem;
    text-align: left !important;
  }
  footer .company-info .branch-info > div {
    margin-top: 10px;
  }
  footer .company-info .branch-info > div:first-child {
    margin-top: 0;
  }
  footer .company-info .logo {
    padding-bottom: 10px;
  }
  footer .company-info .copyright small {
    font-size: 1rem;
  }
}
@media screen and (min-width: 601px){
  footer {}
  footer a,
  footer a:hover {
    font-size: 1.4rem;
  }
  footer a:hover {
    text-decoration: underline;
  }
  footer .footer-navi > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  footer .footer-navi > ul > li:first-child {
    width: 100%;
    line-height: 2.4;
  }
  footer .footer-navi > ul > li,
  footer .footer-navi .navi-sub-wrap {
    margin-right: 35px;
  }
  footer .footer-navi > ul > li:last-child,
  footer .footer-navi .navi-sub-wrap:last-child {
    margin-right: 0;
  }
  footer .footer-navi .navi-title-sub {
    font-size: 1.2rem;
  }
  footer .company-info .branch-info {
    font-size: 1.4rem;
  }

}
@media screen and (min-width: 601px) and (max-width: 750px){
  footer .company-info .branch-info.flex-container {
    display: block;
  }
  footer .company-info .branch-info.flex-container > div {
    margin-bottom: 30px;
  }
  footer .company-info .branch-info.flex-container > div:last-child {
    margin-bottom: 0px;
  }
}
@media screen and (min-width: 601px) and (max-width: 900px){
  footer .company-info .branch-info .company-name {
    margin-bottom: 30px;
    width: 100%;
    text-align: center;
  }
}

#gototop {
  position: fixed;
  right: 2vw;
  bottom: 60px;
  border: #d2d2d2 2px solid;
  background-color: #4c4c4c;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  display: none;
  transition: none;
}
#gototop::before {
  content: '';
  border-left: #b7b7b7 2px solid;
  border-top: #b7b7b7 2px solid;
  display: block;
  transform: rotate(45deg);
  position: absolute;
}
@media screen and (max-width: 800px){
  #gototop {
    width: 26px;
    height: 26px;
  }
  #gototop::before {
    width: 10px;
    height: 10px;
    top: 8px;
    left: 6px;
  }
}
@media screen and (min-width: 801px){
  #gototop {
    width: 76px;
    height: 76px;
  }
  #gototop::before {
    width: 35px;
    height: 35px;
    top: 30px;
    left: 19px;
  }
}

/*--------------------------------------------------------------
 Main content
--------------------------------------------------------------*/
@media screen and (max-width: 600px){
  main {
    margin-top: 50px;
  }
}
@media screen and (min-width: 801px){
  main {
    margin-top: 100px;
    margin-bottom: 100px;
  }
}
