/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
1.0 Bourbon + Neat
2.0 icomoon
3.0 Content styles
--------------------------------------------------------------*/
/*--------------------------------------------------------------
//1.0 Bourbon + Neat
--------------------------------------------------------------*/
html {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

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

/* ---------------------
//2.0 icomoon
------------------------ */
@font-face {
  font-family: 'icomoon';
  src: url("../fonts/icomoon.eot?-78de77");
  src: url("../fonts/icomoon.eot?#iefix-78de77") format("embedded-opentype"), url("../fonts/icomoon.ttf?-78de77") format("truetype"), url("../fonts/icomoon.woff?-78de77") format("woff"), url("../fonts/icomoon.svg?-78de77#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
}
[class^="icon-"], [class*=" icon-"] {
  font-family: 'icomoon';
  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;
}

.icon-fax:before {
  content: "\e610";
}

.icon-tel:before {
  content: "\e611";
}

.icon-mail:before {
  content: "\e608";
}

.icon-arrow-box-right:before {
  content: "\e600";
}

.icon-arrow-down:before {
  content: "\e601";
}

.icon-arrow-left:before {
  content: "\e602";
}

.icon-arrow-right:before {
  content: "\e603";
}

.icon-arrow-up:before {
  content: "\e604";
}

.icon-close:before {
  content: "\e605";
}

.icon-cross:before {
  content: "\e606";
}

.icon-loupe:before {
  content: "\e607";
}

.icon-menu:before {
  content: "\e609";
}

.icon-minus:before {
  content: "\e60a";
}

.icon-pdf:before {
  content: "\e60b";
}

.icon-plus:before {
  content: "\e60c";
}

.icon-side-menu:before {
  content: "\e60d";
}

.icon-tomey:before {
  content: "\e60e";
}

.icon-tri-right:before {
  content: "\e60f";
}

/* ---------------------
//3.0 Content styles
------------------------ */
/* ---------------------
   Common styles
------------------------ */
.lead {
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.3;
  text-align: center;
  margin: 1.3em 0;
}

.lead--small {
  margin-bottom: 40px;
}

.lead--small-center {
  margin-bottom: 40px;
  text-align: center;
}

.honbun {
  word-wrap: break-word;
}
.honbun p {
  margin-bottom: 1.75em;
  font-size: 14px;
  font-size: 0.875rem;
}

.banner__adept {
  width: 445px;
  margin: 60px auto 0;
}
.banner__adept img {
  border: 1px solid #b3b3b3;
}

.table-link th {
  vertical-align: middle;
  background-color: #33658d;
  color: #fff;
  padding: 0;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.375;
}
.table-link th .sub {
  font-size: 14px;
  font-size: 0.875rem;
}
.table-link th a {
  display: block;
  padding: 8px 18px 8px 38px;
  position: relative;
  color: #fff;
}
.table-link th a:hover {
  color: #eee;
}
.table-link th a:before {
  font-family: icomoon;
  content: "\e603";
  position: absolute;
  left: 18px;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
  height: 1em;
  line-height: 1;
  font-size: 11px;
  font-size: 0.6875rem;
}
.table-link td {
  vertical-align: middle;
  font-size: 14px;
  font-size: 0.875rem;
  padding: 8px 18px;
}
.table-link td p {
  margin-bottom: .5em;
}
.table-link td .note {
  font-size: 85.7%;
  margin-bottom: 0;
}

.anchor-link {
  margin: 20px 0 60px;
  display: flex;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
}
.anchor-link::after {
	content: '';
	width: 265px;
}
.anchor-link__item {
	margin: 0;
	border: 1px solid #4d799c;
	width: 265px;
}
.anchor-link__item a {
  display: block;
  position: relative;
  color: #003f71;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 20px;
  padding: 0 8px;
  border-left: 20px solid #4d799c;
	text-align: center;
}
.anchor-link__item a:hover {
  color: #33658d;
  border-left: 20px solid #809fb8;
}
.anchor-link__item a:before {
  font-family: icomoon;
  content: "\e603";
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1;
  position: absolute;
  left: -20px;
  top: 0;
  bottom: 0;
  width: 20px;
  height: 1em;
  margin: auto 0;
  color: #fff;
}

.link-area-border {
  border-top: 1px solid #c4c4c4;
  border-bottom: 1px solid #c4c4c4;
  padding: 20px 0;
  margin-bottom: 10px;
}

.btn-area {
  text-align: center;
}
.btn-area button {
  margin: 0 15px;
}
.btn-area i {
  font-size: 80%;
}

@media screen and (max-width: 40em) {
  .pagebody {
    padding-left: 10px;
    padding-right: 10px;
  }

  .lead {
    font-size: 15px;
    font-size: 0.9375rem;
    font-weight: bold;
  }

  .lead--small,
  .lead--small-center {
    font-size: 13px;
    font-size: 0.8125rem;
    margin-bottom: 20px;
  }

  .honbun p,
  .honbun ul,
  .honbun ol {
    font-size: 13px;
    font-size: 0.8125rem;
  }

  .banner__adept {
    width: 100%;
    margin: 20px auto 0;
  }

  .table-link {
    border-top: 0;
    border-left: 0;
    border-right: 0;
    margin-bottom: 10px;
  }
  .table-link tbody,
  .table-link tr,
  .table-link th,
  .table-link td {
    display: block;
    width: auto;
  }
  .table-link th {
    font-size: 13px;
    font-size: 0.8125rem;
    border-bottom: 0;
  }
  .table-link th .sub {
    font-size: 13px;
    font-size: 0.8125rem;
  }
  .table-link th a {
    padding: 8px 12px 8px 32px;
  }
  .table-link th a:before {
    font-family: icomoon;
    content: "\e603";
    position: absolute;
    left: 12px;
    top: 10px;
    bottom: 0;
    height: inherit;
    font-size: 11px;
    font-size: 0.6875rem;
  }
  .table-link td {
    font-size: 11px;
    font-size: 0.6875rem;
    padding: 8px 12px;
    border-bottom: 0;
  }

  .anchor-link {
    margin: 40px auto;
    width: 88%;
		flex-direction: column;
  }
	.anchor-link::after {
		display: none;
	}
  .anchor-link__item {
    border: 1px solid #4d799c;
    width: 100%;
  }

  .btn-area {
    font-size: 0px;
    font-size: 0rem;
    margin-left: -2.5%;
    margin-right: -2.5%;
  }
  .btn-area button {
    font-size: 14px;
    font-size: 0.875rem;
    margin: 0 2.5%;
    max-width: 45%;
  }
}
/* ---------------------
   Corp
------------------------ */
/* tomeycorp/index */
.corp-menu {
  width: 740px;
  margin-right: -50px;
}
.corp-menu:before, .corp-menu:after {
  content: "";
  display: table;
}
.corp-menu:after {
  clear: both;
}
.corp-menu__item {
  float: left;
  width: 320px;
  height: 80px;
  margin: 0 50px 40px 0;
  border: 1px solid #003f71;
  position: relative;
  line-height: 1.4;
}
.corp-menu__item a {
  display: block;
  height: 80px;
  font-size: 16px;
  font-size: 1rem;
  color: #333;
  padding: 28px 120px 28px 35px;
  text-indent: -15px;
}
.corp-menu__item a:hover {
  color: #003f71;
}
.corp-menu__item a:before {
  font-family: icomoon;
  content: "\e603";
  font-size: 10px;
  font-size: 0.625rem;
  color: #003f71;
  padding-right: .5em;
}
.corp-menu__item img {
  position: absolute;
  right: 0;
  top: 0;
  width: 120px;
  z-index: -1;
}
.corp-menu__item--8 a {
  padding: 16px 120px 16px 35px;
}

/* tomeycorp/daihyo */
.daihyo {
  text-align: center;
  margin-bottom: 40px;
}
.daihyo > li {
  width: 157px;
  margin: 0 25px;
  display: inline-block;
  text-align: center;
  line-height: 1.5;
}
.daihyo__photo {
  margin-bottom: 5px;
  padding: 0 10px;
}
.daihyo__name {
  font-size: 12px;
  font-size: 0.75rem;
}

/* tomeycorp/rinen */
.principle {
  text-align: center;
  margin-bottom: 60px;
}
.principle__img {
  margin-bottom: 20px;
}

.logomark {
  border: 1px solid #33658d;
  padding: 30px;
}
.logomark:before, .logomark:after {
  content: "";
  display: table;
}
.logomark:after {
  clear: both;
}
.logomark__mark {
  float: left;
  width: 190px;
  margin-right: 35px;
}
.logomark__heading {
  float: left;
  margin: 10px 0 20px;
  font-size: 16px;
  font-size: 1rem;
  color: #33658d;
}
.logomark__desc {
  float: left;
  width: 403px;
  font-size: 14px;
  font-size: 0.875rem;
  margin-bottom: 0;
}

/* tomeycorp/gaiyo */
.gaiyo-top {
  margin-bottom: 40px;
}
.gaiyo-top__photo {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  width: 668px;
  margin: 0 auto 20px;
}
.gaiyo-top__photo > div {
  text-align: center;
}
.gaiyo-top__table {
  width: 100%;
}
.gaiyo-top__table th {
  width: 12em;
}

.table-enkaku {
  border: none;
}
.table-enkaku th {
  border: none;
  border-bottom: 1px dotted #c4c4c4;
  background-color: transparent;
  vertical-align: top;
  padding: 20px 10px;
  color: #003f71;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.2;
}
.table-enkaku td {
  border: none;
  border-bottom: 1px dotted #c4c4c4;
  vertical-align: top;
  padding: 21px 5px;
}

/* tomeycorp/jigyo */
.jigyo-menu {
  position: relative;
  width: 612px;
  height: 512px;
  background: url(../../tomeycorp/img/jigyo/bg-specialist.jpg) no-repeat center center;
  margin: 60px auto 0;
}
.jigyo-menu__item {
  position: absolute;
  width: 242px;
  height: 242px;
}
.jigyo-menu__item--1 {
  left: 0;
  top: 0;
}
.jigyo-menu__item--2 {
  right: 0;
  top: 0;
}
.jigyo-menu__item--3 {
  left: 0;
  bottom: 0;
}
.jigyo-menu__item--4 {
  right: 0;
  bottom: 0;
}

/* tomeycorp/product */
.product-hero {
  width: 540px;
  margin: 40px auto;
}

.product-title {
  font-size: 16px;
  font-size: 1rem;
  margin-left: 34px;
}
.product-title:before, .product-title:after {
  content: "";
  display: table;
}
.product-title:after {
  clear: both;
}
.product-title__num {
  display: block;
  float: left;
  width: 96px;
  margin-right: 5px;
}
.product-title__name {
  padding-top: 18px;
  display: block;
}

.product {
  margin-left: 20px;
  margin-bottom: 40px;
  display: table;
  width: 690px;
}
.product:before, .product:after {
  content: "";
  display: table;
}
.product:after {
  clear: both;
}
.product__photo {
  display: table-cell;
  width: 240px;
  vertical-align: middle;
}
.product__photo img {
  width: 240px;
}
.product__desc {
  display: table-cell;
  width: 396px;
  padding-left: 34px;
}
.product__desc img {
  width: 396px;
}
.product__excerpt {
  font-size: 13px;
  font-size: 0.8125rem;
  margin-bottom: 20px;
}

.product-link {
  border-left: 1px solid #c4c4c4;
  margin-bottom: 20px;
  line-height: 1.5;
}
.product-link:before, .product-link:after {
  content: "";
  display: table;
}
.product-link:after {
  clear: both;
}
.product-link__cat {
  float: left;
  border-right: 1px solid #c4c4c4;
  width: 25%;
  padding: 0 20px;
}
.product-link__title {
  margin-bottom: 1em;
  font-size: 16px;
  font-size: 1rem;
}
.product-link__item {
  font-size: 13px;
  font-size: 0.8125rem;
  margin-top: .5em;
}
.product-link__item a {
  color: #333;
  display: block;
  position: relative;
  padding-left: 1.5em;
}
.product-link__item a:hover {
  color: #003f71;
}
.product-link__item a:before {
  font-family: icomoon;
  content: "\e603";
  color: #003f71;
  font-size: 11px;
  font-size: 0.6875rem;
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  padding-top: .15em;
}

/* tomeycorp/society */
.society-photo--first {
  margin-bottom: 120px;
}
.society-photo__item {
  min-height: 283px;
}
.society-photo__caption {
  text-align: left;
  font-size: 12px;
  font-size: 0.75rem;
}

/* tomeycorp/society 201703 */
.society_lead {
	margin-bottom: 20px;
}
.society_pnav li {
	display: inline-block;
	margin: 0 10px 20px 0;
	font-size: 13px;
	font-size: 0.8125rem;
}
.society_pnav li a {
    position: relative;
    padding: 10px 10px 10px 30px;
    display: block;
    color: #333;
}
.society_pnav li a::before {
    font-family: 'icomoon';
    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;
}
.society_pnav li a::before {
    content: "\e603";
    font-size: 12px;
    font-size: 0.75rem;
    color: #003f71;
    display: block;
    position: absolute;
    top: 14px;
    left: 10px;
}
.society_box1 {
	margin-bottom: 60px;
}
.society_box2 {
	margin-bottom: 40px;
}
.society_tit {
	font-size: 13px;
	font-size: 0.8125rem;
	margin: 40px 0 7px;
}
.society_tit span {
	font-size: 12px;
    font-size: 0.75rem;
}
.society_tit span a {
	text-decoration: underline;
}
.society_tit span a:hover {
	text-decoration: none;
}
.society_box2 .society_tit {
	margin-top: 25px;
}
.society_table th {
	font-size: 13px;
	font-size: 0.8125rem;
	text-align: center;
	padding: 5px 12px;
}
.society_table .society_table_th1 {
	width: 25%;
}
.society_table .society_table_th2 {
	width: 35%;
}
.society_table td {
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1.4;
}
.society_table tr:nth-child(odd) td {
	background-color: #f7f7f7;
}
.society_table td a {
	text-decoration: underline;
}
.society_table td a:hover {
	text-decoration: none;
}
.society_caution {
	font-size: 10px;
	font-size: 0.625rem;
	text-align: right;
}
.society_figbox {
	width: 100%;
	font-size: 0;
}
.society_figbox li {
	font-size: 12px;
    font-size: 0.75rem;
	display: inline-block;
	width: 30%;
	margin: 0 5% 2% 0;
	vertical-align: top;
}
.society_figbox li:nth-child(3n) {
	margin-right: 0;
}
.society_figbox li figcaption {
	text-align: left;
}
.society_box2 .society_figbox {
	margin-top: 30px;
}
.society_btn a {
	display: block;
	width: 570px;
	height: 125px;
	margin: 0 auto;
	background: url(../tomeycorp/img/society/new/btn_adept.jpg) left center no-repeat;
	font-size: 12px;
    font-size: 0.75rem;
	color: #3e3a39;
	text-align: left;
	line-height: 1.4;
}
.society_btn a span {
	display: block;
	padding: 80px 0 0 18px;
}
.society_btn a img {
	display: none;
}

@media screen and (max-width: 40em) {
.society_box1 {
	margin-bottom: 40px;
}
.society_box2 {
	margin-bottom: 20px;
}
.society_tit {
	margin: 20px 0 5px;
}
.society_tit span {
	display: block;
}
.society_table th {
	font-size: 12px;
	font-size: 0.75rem;
	padding: 3px 8px;
}
.society_table td {
	font-size: 12px;
	font-size: 0.75rem;
	padding: 6px 8px;
}
.society_figbox li {
	width: 48%;
	margin: 0 4% 2% 0;
	vertical-align: top;
}
.society_figbox li:nth-child(3n) {
	margin-right: 4%;
}
.society_figbox li:nth-child(2n) {
	margin-right: 0;
}
.society_btn a {
	width: 100%;
	height: auto;
	background: none;
}
.society_btn a span {
	display: none;
}
.society_btn a img {
	display: block;
	margin: 0 auto;
}
}

/* tomeycorp/service */
.service-img {
  margin-bottom: 60px;
  text-align: center;
}

/* tomeycorp/education */
.edu__slide {
  width: 610px;
  margin: 0 auto 60px;
  position: relative;
}
.edu__slide .slick-slide:focus {
  outline: none;
}
.edu__slide .slick-slide img {
  padding: 0 5px;
}
.edu__slide .slick-arrow {
  position: absolute;
  width: 20px;
  height: 100%;
  text-indent: -7777px;
  padding: 0;
}
.edu__slide .slick-prev {
  left: -30px;
  top: 0;
  background: url(../../img/common/bt-prev.png) no-repeat left center;
}
.edu__slide .slick-next {
  right: -30px;
  top: 0;
  background: url(../../img/common/bt-next.png) no-repeat right center;
}

.edu-service {
  margin-bottom: 40px;
}
.edu-service__item {
  margin-bottom: 10px;
}
.edu-service__item:before, .edu-service__item:after {
  content: "";
  display: table;
}
.edu-service__item:after {
  clear: both;
}
.edu-service__info {
  float: left;
  width: 454px;
}
.edu-service__img {
  float: right;
  width: 216px;
}
.edu-service__title {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
}
.edu-service__desc {
  font-size: 14px;
  font-size: 0.875rem;
}

.table-link--edu {
  margin-bottom: 60px;
}

.edu-map {
  margin-bottom: 10px;
}

.table-edu {
  margin-bottom: 40px;
}
.table-edu th {
  width: 8em;
  white-space: nowrap;
}

/* tomeycorp/eigyosho */
.office-map {
  width: 625px;
  height: 380px;
  margin: 0 auto 60px;
  background: url(../../tomeycorp/img/eigyosho/officemap.png) no-repeat center center;
  position: relative;
}
.office-map__item {
  position: absolute;
  line-height: 15px;
}
.office-map__item--1 {
  left: 5px;
  top: 30px;
}
.office-map__item--2 {
  left: 5px;
  top: 90px;
}	
.office-map__item--3 {
  left: 5px;
  top: 133px;
}
.office-map__item--4 {
  left: 308px;
  top: 305px;
}
.office-map__item--5 {
  left: 233px;
  top: 353px;
}
.office-map__item--6 {
  left: 470px;
  top: 190px;
}
.office-map__item--7 {
  left: 470px;
  top: 230px;
}
.office-map__item--8 {
  left: 5px;
  top: 210px;
}
.office-map__item--9 {
  left: 5px;
  top: 155px;
}
.office-map__item a {
  font-size: 14px;
  font-size: 0.875rem;
  vertical-align: middle;
}
.office-map__item a:before {
  font-family: icomoon;
  content: "\e603";
  font-size: 11px;
  font-size: 0.6875rem;
  padding-right: .5em;
}
.office-map__item .flag {
  display: inline-block;
  padding-right: .5em;
  vertical-align: middle;
}

.office {
  margin-bottom: 60px;
}
.office--last {
  margin-bottom: 120px;
}
.office p {
  margin-bottom: 0;
}
.office__tel {
  position: relative;
  padding-left: 1.8em;
}
.office__tel:before {
  font-family: icomoon;
  content: "\e611";
  font-size: 19px;
  font-size: 1.1875rem;
  line-height: 1;
  color: #4d799c;
  position: absolute;
  left: 0;
  top: 0;
}
.office__fax {
  position: relative;
  padding-left: 1.8em;
}
.office__fax:before {
  font-family: icomoon;
  content: "\e610";
  font-size: 19px;
  font-size: 1.1875rem;
  line-height: 1;
  color: #4d799c;
  position: absolute;
  left: 0;
  top: 0;
}

/* tomeycorp/yakuin */
.table-yakuin {
  max-width: 60%;
}
.table-yakuin th {
  width: 40%;
}
.table-yakuin td {
  width: 60%;
}

@media screen and (max-width: 40em) {
  /* tomeycorp/index */
  .corp-menu {
    width: 100%;
    margin: 0;
  }
  .corp-menu__item {
    float: none;
    width: 100%;
    height: 75px;
    margin: 0 0 7px;
  }
  .corp-menu__item a {
    height: 75px;
    font-size: 15px;
    font-size: 0.9375rem;
    padding: 27px 112px 27px 35px;
  }
  .corp-menu__item img {
    width: 112px;
  }
  .corp-menu__item--8 a {
    padding: 18px 112px 18px 35px;
  }

  /* tomeycorp/daihyo */
  .daihyo {
    margin-bottom: 20px;
  }
  .daihyo > li {
    width: 30%;
    margin: 0 3%;
  }
  .daihyo__photo {
    margin-bottom: 5px;
    padding: 0;
  }

  /* tomeycorp/rinen */
  .principle {
    margin: 0 0 10px;
  }
  .principle__img {
    margin: 0 20px 10px;
  }
  .principle__desc {
    text-align: left;
    font-size: 13px;
    font-size: 0.8125rem;
  }

  .logomark {
    padding: 3%;
  }
  .logomark__mark {
    float: none;
    width: 34%;
    margin: 0 auto 10px;
  }
  .logomark__heading {
    float: none;
    margin: 0 0 10px;
    font-size: 14px;
    font-size: 0.875rem;
  }
  .logomark__desc {
    float: none;
    width: 100%;
    font-size: 13px;
    font-size: 0.8125rem;
  }

  /* tomeycorp/gaiyo */
  .gaiyo-top__photo {
    width: 90%;
    flex-direction: column;
    gap: 10px;
    margin: 0 auto 20px;
    font-size: 13px;
  }
  .gaiyo-top__table {
    width: 100%;
    position: relative;
  }

  .table-enkaku th {
    padding: 10px;
    font-size: 19px;
    font-size: 1.1875rem;
  }
  .table-enkaku td {
    padding: 12px 5px 10px;
    font-size: 13px;
    font-size: 0.8125rem;
  }

  /* tomeycorp/jigyo */
  .jigyo-menu {
    width: 100vw;
    height: 110vw;
    margin: 0 -10px;
    background-size: contain;
  }
  .jigyo-menu__item {
    position: absolute;
    width: 43.75vw;
    height: 43.75vw;
  }
  .jigyo-menu__item--1 {
    left: 10px;
    top: 0;
  }
  .jigyo-menu__item--2 {
    right: 10px;
    top: 0;
  }
  .jigyo-menu__item--3 {
    left: 10px;
    bottom: 0;
  }
  .jigyo-menu__item--4 {
    right: 10px;
    bottom: 0;
  }

  /* tomeycorp/product */
  .product-hero {
    width: 100%;
    margin: 20px 0;
  }

  .product-title {
    font-size: 15px;
    font-size: 0.9375rem;
    margin-left: 0;
  }

  .product {
    margin-left: 0;
    margin-bottom: 40px;
    display: block;
    width: 100%;
  }
  .product:before, .product:after {
    content: "";
    display: table;
  }
  .product:after {
    clear: both;
  }
  .product__photo {
    display: block;
    width: 60%;
    margin: 0 auto 20px;
  }
  .product__photo img {
    width: auto;
  }
  .product__desc {
    display: block;
    width: 100%;
    padding-left: 0;
  }
  .product__desc img {
    width: auto;
  }

  .product-link {
    border-left: 0;
    margin-bottom: 0;
  }
  .product-link:before, .product-link:after {
    content: "";
    display: table;
  }
  .product-link:after {
    clear: both;
  }
  .product-link__cat {
    float: left;
    border-right: 0;
    width: 50%;
    padding: 0 20px;
  }
  .product-link__cat:nth-child(odd) {
    border-right: 1px solid #c4c4c4;
    padding-left: 0;
  }
  .product-link__cat:nth-child(even) {
    border-right: 0;
    padding-right: 0;
  }
  .product-link__cat {
    margin-bottom: 20px;
  }
  .product-link__title {
    margin-bottom: 1em;
    font-size: 16px;
    font-size: 1rem;
  }
  .product-link__item {
    font-size: 13px;
    font-size: 0.8125rem;
    margin-top: .5em;
  }
  .product-link__item a {
    color: #333;
    display: block;
    position: relative;
    padding-left: 1.5em;
  }
  .product-link__item a:hover {
    color: #003f71;
  }
  .product-link__item a:before {
    font-family: icomoon;
    content: "\e603";
    color: #003f71;
    font-size: 11px;
    font-size: 0.6875rem;
    position: absolute;
    left: 0;
    top: 0;
  }

  /* tomeycorp/society */
  .society-photo--first {
    margin-bottom: 20px;
  }
  .society-photo__item {
    min-height: inherit;
  }
  .society-photo__caption {
    font-size: 9px;
    font-size: 0.5625rem;
  }

  /* tomeycorp/service */
  .service-img {
    margin-bottom: 20px;
  }

  /* tomeycorp/education */
  .edu__slide {
    width: 87%;
    margin: 0 auto 20px;
  }
  .edu__slide .slick-slide img {
    padding: 0 2px;
  }
  .edu__slide .slick-arrow {
    position: absolute;
    width: 14px;
    background-size: contain;
  }
  .edu__slide .slick-prev {
    left: -7%;
  }
  .edu__slide .slick-next {
    right: -7%;
  }

  .edu-service {
    margin-bottom: 20px;
  }
  .edu-service__item {
    margin-bottom: 20px;
  }
  .edu-service__info {
    float: none;
    width: auto;
    margin-bottom: 10px;
  }
  .edu-service__img {
    float: none;
    width: 60%;
    margin: 0 auto;
  }
  .edu-service__title {
    font-size: 13px;
    font-size: 0.8125rem;
  }
  .edu-service__desc {
    font-size: 13px;
    font-size: 0.8125rem;
  }

  .table-link--edu {
    margin-bottom: 20px;
  }

  .edu-map {
    position: relative;
    height: 0;
    padding-top: 43.5%;
    overflow: hidden;
  }
  .edu-map iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100% !important;
    height: 100% !important;
  }

  .table-edu {
    margin-bottom: 20px;
  }
  .table-edu th {
    width: auto;
  }

  /* tomeycorp/eigyosho */
  .office-map {
    width: 100%;
    height: 0;
    padding-top: 60.8%;
    margin: 0 auto 20px;
    background-size: contain;
  }
  .office-map__item {
    line-height: 12px;
  }
  .office-map__item--1 {
    left: 0.9%;
    top: 7.3%;
  }
  .office-map__item--2 {
    left: 0.9%;
    top: 23.0%;
  }
  .office-map__item--3 {
    left: 0.9%;
    top: 36.0%;
  }
  .office-map__item--4 {
    left: 49%;
    top: 79.8%;
  }
  .office-map__item--5 {
    left: 37.33%;
    top: 91.6%;
  }
  .office-map__item--6 {
    left: 75.83%;
    top: 49.95%;
  }
  .office-map__item--7 {
    left: 75.83%;
    top: 60.37%;
  }
    .office-map__item--8 {
    left: 0.9%;
    top: 51.0%;
  }
  .office-map__item--9 {
    left: 0.9%;
    top: 39.5%;
  }
  .office-map__item a {
    font-size: 8px;
    font-size: 0.5rem;
  }
  .office-map__item a:before {
    font-size: 8px;
    font-size: 0.5rem;
  }
  .office-map__item .flag {
    width: 3em;
  }

  .office {
    margin-bottom: 20px;
    font-size: 13px;
    font-size: 0.8125rem;
  }
  .office--last {
    margin-bottom: 30px;
  }
  .office__tel {
    padding-left: 1.4em;
  }
  .office__tel:before {
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .office__fax {
    padding-left: 1.4em;
  }
  .office__fax:before {
    font-size: 15px;
    font-size: 0.9375rem;
  }

  /* tomeycorp/yakuin */
  .table-yakuin {
    max-width: none;
  }
  .table-yakuin th,
  .table-yakuin td {
    width: auto;
  }
}
/* ---------------------
   Recruit
------------------------ */
/* recruite/recruit */
.recruit-menu:before, .recruit-menu:after {
  content: "";
  display: table;
}
.recruit-menu:after {
  clear: both;
}
.recruit-menu__item {
  float: left;
  width: 330px;
  margin-left: 30px;
  border: 1px solid #ababab;
}
.recruit-menu__item:first-child {
  margin-left: 0;
}

.recruit-menu__item:nth-child(3) {
  margin-top:30px;
  margin-left: 0;
}

.recruit-menu__item a {
  background-color: #003f71;
  display: block;
}
.recruit-menu__item a:hover {
  background-color: #1a527f;
}
.recruit-menu__item img {
  vertical-align: bottom;
}
.recruit-menu__link {
  display: block;
  padding: 18px 10px;
  line-height: 1;
  color: #fff;
  font-size: 16px;
  font-size: 1rem;
}
.recruit-menu__link:before {
  font-family: icomoon;
  content: "\e600";
  font-size: 15px;
  font-size: 0.9375rem;
  padding-right: .5em;
}
.recruit-menu__img {
  background-color: #fff;
}

/* recruite/shinsotsu & career */
.table-recruit {
  margin-bottom: 60px;
}

@media screen and (max-width: 40em) {
  .recruit-menu:before, .recruit-menu:after {
    content: "";
    display: table;
  }
  .recruit-menu:after {
    clear: both;
  }
  .recruit-menu__item {
    float: none;
    width: 100%;
    margin-left: 0;
  }
  .recruit-menu__item:first-child {
    margin-bottom: 10px;
  }
  .recruit-menu__item:nth-child(3) {
    margin-top:10px;
  }
  .recruit-menu__link {
    padding: 18px 10px;
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .recruit-menu__link:before {
    font-size: 14px;
    font-size: 0.875rem;
  }

  /* recruite/shinsotsu & career */
  .table-recruit {
    margin-bottom: 20px;
  }
}
/* ---------------------
   Sitemap
------------------------ */
.sitemap {
  width: 960px;
  margin: 0 auto;
}
.sitemap:before, .sitemap:after {
  content: "";
  display: table;
}
.sitemap:after {
  clear: both;
}

.sitemap-box {
  float: left;
  width: 210px;
  margin-left: 40px;
}
.sitemap-box:first-child {
  margin-left: 0;
}

.sitemap-cat {
  font-size: 13px;
  font-size: 0.8125rem;
  padding: 0 0 .5em;
  border-bottom: 1px solid #003f71;
  margin-bottom: 1em;
}

.sitemap-nav {
  list-style: none;
  margin: 0;
  padding: 0;
}
.sitemap-nav li {
  font-size: 13px;
  font-size: 0.8125rem;
  margin-bottom: 5px;
}
.sitemap-nav li a {
  color: #333;
  display: block;
}
.sitemap-nav li a:hover, .sitemap-nav li a:active {
  color: #003f71;
}
.sitemap-nav li a:before {
  font-family: icomoon;
  content: "\e603";
  font-size: 11px;
  font-size: 0.6875rem;
  color: #003f71;
  padding-right: .5em;
}

.sitemap-contact {
  margin-top: 3em;
}

@media screen and (max-width: 40em) {
  .sitemap {
    width: 100%;
    margin: 0 auto;
  }

  .sitemap-box {
    float: none;
    width: 100%;
    margin-left: 0;
    margin-bottom: 20px;
  }

  .sitemap-nav {
    padding-left: 10px;
  }
}
/* ---------------------
   Disclaimer
------------------------ */
.disclaimer-block {
  margin-bottom: 40px;
}

.privacy-policy {
  margin: 20px 0 20px 1em;
}

.policy-title {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: normal;
  margin: 0;
}

@media screen and (max-width: 40em) {
  .disclaimer-block {
    margin-bottom: 20px;
  }

  .policy-title {
    font-size: 13px;
    font-size: 0.8125rem;
  }
}

/* ---------------------
   product-security
------------------------ */
.honbun p.txt-small {
  font-size: 0.785em;
}
.related-menu {
  display: flex;
  margin:3.5rem -2% 0;
}
.related-menu li {
  margin:0 2%;
  width:46%;
  max-width:330px;
  position: relative;
}
.related-menu-ttl {
  display: flex;
  align-items: center;
  align-content: center;
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:51px;
  padding: 10px;
  line-height: 1;
  color: #fff;
  background-color: #003f71;
  font-size: 1rem;
}
.related-menu-ttl:before {
  font-family: icomoon;
  content: "\e600";
  font-size: 15px;
  font-size: 0.9375rem;
  padding-right: 0.5em;
}
.related-menu-ttl img {
  vertical-align: bottom;
  width:100%;
  height:100%;
  object-fit: cover;
  height:calc(140/1200*100vw);
  max-height:140px;
}
.related-menu a:hover {
  opacity:1;
}
.related-menu a:hover .related-menu-ttl {
  background-color: #1a527f;
  opacity: 1!important;
}
.related-menu a:hover img {
  opacity: 1!important;
}
.font-sub{
	font-size: 0.7rem;
}

@media screen and (max-width: 40em) {
  .related-menu-ttl {
    font-size: 0.7rem;
  }
  .related-menu-ttl{
    height: 31px;
    padding:6px;
  }
}


