@charset "UTF-8";
html {
  font-size: 10px;
}
@media (max-width: 375px) {
  html {
    font-size: 2.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 0.9090909091vw;
  }
}
@media (min-width: 1100px) {
  html {
    font-size: 10px;
  }
}

html {
  scroll-padding-top: 4.5rem;
}
@media screen and (min-width: 768px) {
  html {
    scroll-padding-top: 9rem;
  }
}

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

a {
  color: inherit;
  display: inline-block;
  text-decoration: none;
}

body {
  word-wrap: break-word;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
  overflow-wrap: break-word;
  overflow-x: hidden;
}

@media screen and (min-width: 768px) {
  body {
    color: #2A0800;
  }
}

.underPage {
  margin-top: 4.5rem;
}
@media screen and (min-width: 768px) {
  .underPage {
    margin-top: 9rem;
  }
}

.container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.footer {
  margin-top: auto;
}

span {
  display: inline-block;
}

.pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .pc {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .sp {
    display: none;
  }
}

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

ul,
ol,
button {
  padding: 0;
}

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  text-rendering: optimizeSpeed;
  min-height: 100vh;
}

ul,
ol {
  list-style: none;
}

/* chrome opera */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (-webkit-min-device-pixel-ratio: 0), screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
  img {
    image-rendering: -webkit-optimize-contrast;
  }
}

img {
  height: auto;
  image-rendering: auto;
  vertical-align: middle;
  width: 100%;
}

article > * + * {
  margin-top: 1em;
}

address,
strong,
em {
  font-style: normal;
}

input,
button,
textarea,
select {
  font: inherit;
}

img:not([alt]) {
  -webkit-filter: blur(10px);
  filter: blur(10px);
}

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  opacity: 0;
  position: absolute;
}

input[type=submit],
input[type=button],
button,
select {
  cursor: pointer;
}

select {
  color: #000;
}

select::-ms-expand {
  display: none;
}

.company__pageLinks {
  background-color: #E7F4F5;
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .company__pageLinks {
    margin-top: 8rem;
  }
}

.company__linksWrap {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .company__linksWrap {
    margin-top: 8rem;
  }
}

.company__lead {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .company__lead {
    font-size: 3rem;
    font-weight: 700;
  }
}

/* --------------------------------
headOffice
-------------------------------- */
.headOffice__list {
  border-bottom: 1px solid #20ADC7;
  margin-top: 3rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .headOffice__list {
    border: none;
    margin-top: 4rem;
  }
}

.headOffice__item {
  border-top: 1px solid #20ADC7;
  display: flex;
  flex-direction: column;
  font-size: 1.7rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .headOffice__item {
    border: none;
    flex-direction: row;
    font-size: 1.8rem;
  }
}

.headOffice__item dt {
  align-items: center;
  color: #20ADC7;
  display: inline-flex;
  font-weight: 700;
  padding: 1rem 0 1rem;
  width: 21.8%;
}
@media screen and (min-width: 768px) {
  .headOffice__item dt {
    border-top: 0.3rem solid #20ADC7;
    padding: 3rem 1rem 3rem 3rem;
  }
}

@media screen and (min-width: 768px) {
  .headOffice__item:last-of-type dt {
    border-bottom: 0.3rem solid #20ADC7;
  }
}

.headOffice__item dd {
  padding: 0 0 1rem;
}
@media screen and (min-width: 768px) {
  .headOffice__item dd {
    border-top: 1px solid #706360;
    padding: 3rem 1rem 3rem 3rem;
    width: 78.2%;
  }
}

@media screen and (min-width: 768px) {
  .headOffice__item:last-of-type dd {
    border-bottom: 0.1rem solid #706360;
  }
}

/* --------------------------------
philosophy
-------------------------------- */
.company__philosophy {
  background-color: #E7F4F5;
}
.philosophy {
  margin-top: 3rem;
    margin-bottom: 5rem;
}
@media screen and (min-width: 768px) {
  .philosophy {
    margin-top: 4rem;
  }
}

.philosophy__lead {
  color: #20ADC7;
  display: block;
  font-size: 2.2rem;
  font-weight: 700;
  position: relative;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .philosophy__lead {
    font-size: 3rem;
		margin-bottom: 7.8rem;
  }
}

.philosophy__lead::after {
  background-color: #20ADC7;
  content: "";
  display: block;
  height: 0.4rem;
  margin: 2rem auto 0;
  width: 8rem;
}
@media screen and (min-width: 768px) {
  .philosophy__lead::after {
    height: 0.4rem;
    margin-top: 3rem;
    width: 12rem;
  }
}

.philosophy__box {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin-top: 4.8rem;
}
@media screen and (min-width: 768px) {
  .philosophy__box {
    flex-direction: row;
    margin-top: 7.8rem;
  }
}

.philosophy__item + .philosophy__item {
  margin-top: 2rem;
}

.philosophy__list {
	width: auto;
	padding: 0 0 0 20px;
	margin-top: 3rem;
}
.philosophy__list ol {
    list-style: decimal;
    margin: 0 auto;
    max-width: inherit;
}
.philosophy__list ol li {
    font-size: 1.6rem;
    margin-bottom: 2rem;
    color: #000;
}

@media screen and (min-width: 768px) {
  .philosophy__item + .philosophy__item {
    margin-left: 2rem;
    margin-top: 0;
  }
.philosophy__list {
	width: auto;
	padding: 0;
	margin-top: 0;
}
.philosophy__list ol {
    max-width: 50%;
}
.philosophy__list ol li {
    font-size: 1.8rem;
    margin-bottom: 2rem;
    color: #000;
}	
}

/* --------------------------------
productionBase
-------------------------------- */
.productionBase__chart {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .productionBase__chart {
    margin-top: 4rem;
  }
}

.productionBase__links {
  margin-top: 8rem;
}
@media screen and (min-width: 768px) {
  .productionBase__links {
    margin-top: 12rem;
  }
}

.productionBase__item:first-of-type {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .productionBase__item:first-of-type {
    margin-top: 4rem;
  }
}

.productionBase__item + .productionBase__item {
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  .productionBase__item + .productionBase__item {
    margin-top: 10rem;
  }
}

.productionBase__media {
  display: flex;
  flex-direction: column-reverse;
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .productionBase__media {
    flex-direction: row-reverse;
    margin-top: 5rem;
  }
}

.productionBase__media + .productionBase__media {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .productionBase__media + .productionBase__media {
    margin-top: 7.7rem;
  }
}

.productionBase__body {
  margin-top: 2rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .productionBase__body {
    margin-left: 4%;
    margin-top: 0;
    width: 64%;
  }
}

.productionBase__name {
  font-size: 1.8rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .productionBase__name {
    font-size: 2rem;
  }
}

.productionBase__name + .productionBase__dl {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .productionBase__name + .productionBase__dl {
    margin-top: 3rem;
  }
}

.productionBase__dl {
  border: 1px solid #706360;
  font-size: 1.6rem;
  line-height: 1.55;
}
@media screen and (min-width: 768px) {
  .productionBase__dl {
    font-size: 1.8rem;
  }
}

.productionBase__dItem {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .productionBase__dItem {
    flex-direction: row;
  }
}

.productionBase__dItem + .productionBase__dItem {
  border-top: 1px solid #706360;
}

.productionBase__dItem dt {
  background-color: #F5F1EF;
  display: inline-flex;
  padding: 1.5rem 1rem;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .productionBase__dItem dt {
    align-items: center;
    padding: 2rem;
    width: 25%;
  }
}

.productionBase__dItem dd {
  background-color: #FFF;
  padding: 1.5rem 1rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .productionBase__dItem dd {
    padding: 3rem;
    width: 75%;
  }
}

.productionBase__dItem dd .map {
  margin-top: 0.6rem;
  width: 15.6rem;
}
@media screen and (min-width: 768px) {
  .productionBase__dItem dd .map {
    transition: opacity 0.3s ease-in 0s;
  }
}

@media screen and (min-width: 768px) {
  .productionBase__dItem dd .map:hover {
    opacity: 0.7;
  }
}

.productionBase__dItem dd .tel {
  color: #000;
  text-decoration: underline;
}
.productionBase__thumb {
  overflow: hidden;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .productionBase__thumb {
    width: 32%;
  }
}

.productionBase__thumb img {
  -o-object-fit: cover;
  aspect-ratio: 352/235;
  height: auto;
  object-fit: cover;
}

/* --------------------------------
mapBase
-------------------------------- */
.company__mapBase {
  background-color: #E7F4F5;
}
.mapbase__img {
  margin: 3rem auto 0;
  max-width: 80rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .mapbase__img {
    margin-top: 4rem;
  }
}

.mapbase__img img {
  -o-object-fit: cover;
  aspect-ratio: 800/666;
  object-fit: cover;
}
.mapBase__text {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2;
  margin: 3rem auto 0;
  max-width: 80rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .mapBase__text {
    font-size: 2rem;
    margin-top: 4rem;
  }
}

.mapBase__text span {
  display: inline;
}
@media screen and (min-width: 768px) {
  .mapBase__text span {
    display: block;
  }
}

/* --------------------------------
companyHistory
-------------------------------- */
.companyHistory__list {
  border-bottom: 1px solid #20ADC7;
  margin-top: 3rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .companyHistory__list {
    border: none;
    margin-top: 4rem;
  }
}

.companyHistory__item {
  border-top: 1px solid #20ADC7;
  display: flex;
  flex-direction: column;
  font-size: 1.7rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .companyHistory__item {
    border: none;
    flex-direction: row;
    font-size: 1.8rem;
  }
}

.companyHistory__item dt {
  align-items: center;
  color: #20ADC7;
  display: inline-flex;
  font-weight: 700;
  padding: 1rem 0 1rem;
  width: 21.8%;
}
@media screen and (min-width: 768px) {
  .companyHistory__item dt {
    border-top: 0.3rem solid #20ADC7;
    padding: 3rem 1rem 3rem 3rem;
  }
}

@media screen and (min-width: 768px) {
  .companyHistory__item:last-of-type dt {
    border-bottom: 0.3rem solid #20ADC7;
  }
}

.companyHistory__item dd {
  padding: 0 0 1rem;
}
@media screen and (min-width: 768px) {
  .companyHistory__item dd {
    border-top: 1px solid #706360;
    padding: 3rem 1rem 3rem 3rem;
    width: 78.2%;
  }
}

@media screen and (min-width: 768px) {
  .companyHistory__item:last-of-type dd {
    border-bottom: 0.1rem solid #706360;
  }
}

.contact__text {
  font-size: 1.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .contact__text {
    font-size: 1.6rem;
  }
}

.contact__tel {
  background-color: #CFEAEB;
  padding: 5rem 0 7rem;
}
@media screen and (min-width: 768px) {
  .contact__tel {
    padding: 8rem 0 10rem;
  }
}

.contact__telLink {
  margin-left: auto;
  margin-right: auto;
  margin-top: 3rem;
  max-width: 88rem;
  text-align: center;
  width: 90%;
}
@media screen and (min-width: 768px) {
  .contact__telLink {
    margin-top: 4rem;
    width: 100%;
  }
}

.contact__telLink a {
  background-color: #FFF;
  color: #20ADC7;
  display: block;
  font-family: "Geologica", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  padding: 2rem 0 2rem;
  position: relative;
  text-decoration: underline;
  text-underline-offset: 0.8rem;
}
@media screen and (min-width: 768px) {
  .contact__telLink a {
    font-size: 3.5rem;
    padding: 4.5rem 0 2.5rem;
  }
}

.contact__telLink a::before {
  background: url(../../ichinomiya-denki/img/product/icon-tel.svg) no-repeat center/cover;
  content: "";
  display: inline-block;
  height: 2.8rem;
  margin-bottom: -1rem;
  margin-right: 1rem;
  width: 2.4rem;
}
@media screen and (min-width: 768px) {
  .contact__telLink a::before {
    height: 4.5rem;
    margin-bottom: -1rem;
    margin-right: 2rem;
    width: 3.2rem;
  }
}

.group__section {
  padding-top: 6rem;
}
@media screen and (min-width: 768px) {
  .group__section {
    padding-top: 8rem;
  }
}

.underTitle__lv3-1 + .group__list {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .underTitle__lv3-1 + .group__list {
    margin-top: 8rem;
  }
}

.group__item {
  margin: 0 calc(50% - 50vw);
  padding: 5rem calc(50vw - 50%) 8rem;
  width: 100vw;
}
@media screen and (min-width: 768px) {
  .group__item {
    padding: 8rem calc(50vw - 50%) 10rem;
  }
}

.group__item._bgPink {
  background-color: #E7F4F5;
}

.group__item._bgWhite {
  background-color: #FFF;
}

.group__container {
  display: flex;
  flex-direction: column;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .group__container {
    flex-direction: row;
    margin-top: 4rem;
  }
}

.group__thumb {
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .group__thumb {
    max-width: 35.2rem;
  }
}

.group__thumb img {
  -o-object-fit: cover;
  aspect-ratio: 352/235;
  height: auto;
  object-fit: cover;
}

.group__info {
  border-bottom: 1px solid #20ADC7;
  margin-top: 2rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .group__info {
    border: none;
    margin-left: 4rem;
    margin-top: 0;
    max-width: 70.8rem;
  }
}

.group__infoItem {
  border-top: 1px solid #20ADC7;
  display: flex;
  flex-direction: column;
  font-size: 1.7rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .group__infoItem {
    border: none;
    flex-direction: row;
    font-size: 1.8rem;
  }
}

.group__infoItem dt {
  align-items: center;
  color: #20ADC7;
  display: inline-flex;
  font-weight: 700;
  padding: 1rem 0 1rem;
}
@media screen and (min-width: 768px) {
  .group__infoItem dt {
    border-top: 0.3rem solid #20ADC7;
    padding: 3rem 1rem 3rem 3rem;
    width: 13.2rem;
  }
}

@media screen and (min-width: 768px) {
  .group__infoItem:last-of-type dt {
    border-bottom: 0.3rem solid #20ADC7;
  }
}

.group__infoItem dd {
  padding: 0 0 1rem;
}
@media screen and (min-width: 768px) {
  .group__infoItem dd {
    border-top: 1px solid #706360;
    padding: 3rem 1rem 3rem 3rem;
    width: calc(100% - 13.2rem);
  }
}

@media screen and (min-width: 768px) {
  .group__infoItem:last-of-type dd {
    border-bottom: 0.1rem solid #706360;
  }
}

@media screen and (min-width: 768px) {
  .group__infoItem span {
    display: block;
  }
}

.group__infoItem a {
  color: #20ADC7;
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .group__infoItem a {
    transition: opacity 0.3s ease-in 0s;
  }
}

@media screen and (min-width: 768px) {
  .group__infoItem a:hover {
    opacity: 0.7;
  }
}

.kaizen__section {
  padding-top: 6rem;
}
@media screen and (min-width: 768px) {
  .kaizen__section {
    padding-top: 8rem;
  }
}

.kaizen__activity {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .kaizen__activity {
    margin-top: 8rem;
    padding-bottom: 2rem;
  }
}

.kaizen__item {
  margin: 0 calc(50% - 50vw);
  padding: 5rem calc(50vw - 50%) 8rem;
  position: relative;
  width: 100vw;
}
@media screen and (min-width: 768px) {
  .kaizen__item {
    padding: 8rem calc(50vw - 50%) 10rem;
    z-index: 1;
  }
}

.kaizen__item._bgPink {
  background-color: #E7F4F5;
}

.kaizen__item._bgWhite {
  background-color: #FFF;
}

@media screen and (min-width: 768px) {
  .kaizen__item._bgPink::before,
.kaizen__item._bgWhite::before {
    content: "";
    display: block;
    height: 30.6rem;
    left: 0;
    position: absolute;
    top: 0;
    width: 17rem;
    z-index: 0;
  }
}
@media screen and (min-width: 1366px) {
  .kaizen__item._bgPink::before,
.kaizen__item._bgWhite::before {
    height: 61.4rem;
    width: 34rem;
  }
}

@media screen and (min-width: 768px) {
  .kaizen__item._bgPink::before {
/*    background: url(../img/product/product-bg2.webp) no-repeat center/cover;*/
  }
}

@media screen and (min-width: 768px) {
  .kaizen__item._bgWhite::before {
    /*background: url(../img/product/product-bg1.png) no-repeat center/cover;*/
  }
}

.kaizen__lead {
  font-size: 1.7rem;
  line-height: 2;
  margin-top: 3rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .kaizen__lead {
    font-size: 2rem;
    margin-top: 4rem;
  }
}

.kaizen__lead .red {
  color: #20ADC7;
  display: inline;
  font-weight: 700;
}

.kaizen__lead .bold {
  display: inline;
  font-weight: 700;
}

.kaizen__flow._pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .kaizen__flow._pc {
    display: block;
    margin-top: 3rem;
  }
}

.kaizen__flow._sp {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .kaizen__flow._sp {
    display: none;
  }
}

.kaizen__flowContainer {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

.kaizen__flowItem {
  max-width: 19.2rem;
  overflow: hidden;
  width: 44%;
}

.kaizen__flowItem img {
  -o-object-fit: cover;
  aspect-ratio: 194/220;
  height: auto;
  object-fit: cover;
}

.kaizen__container {
  display: flex;
  flex-direction: column;
  font-size: 1.7rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .kaizen__container {
    flex-direction: row;
    font-size: 1.8rem;
    position: relative;
    z-index: 1;
  }
}

.kaizen__card {
  margin-top: 2rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .kaizen__card {
    margin-top: 0;
    max-width: 53rem;
  }
}

@media screen and (min-width: 768px) {
  .kaizen__card + .kaizen__card {
    margin-left: 4rem;
  }
}

@media screen and (min-width: 768px) {
  .message__item {
    margin-top: 6.8rem;
  }
}

.message__img {
  max-width: 100%;
  overflow: hidden;
}

.message__img img {
  -o-object-fit: contain;
  aspect-ratio: 640/390;
  height: 100%;
  object-fit: contain;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .message__img img {
    -o-object-fit: cover;
    aspect-ratio: 1100/650;
    object-fit: cover;
  }
}

@media screen and (min-width: 768px) {
  .message__body {
    margin-top: 8.2rem;
  }
}

.message__text {
  font-size: 1.8rem;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .message__text {
    font-size: 2rem;
  }
}

.message__text + .message__text {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .message__text + .message__text {
    margin-top: 4rem;
  }
}

.message__name {
  font-family: "Shippori Mincho", serif;
  font-size: 1.6rem;
  font-weight: 800;
  margin-top: 3rem;
  text-align: right;
}
@media screen and (min-width: 768px) {
  .message__name {
    font-size: 1.8rem;
    margin-top: 3.2rem;
  }
}

.message__name span {
  font-size: 2rem;
  margin-left: 2rem;
}
@media screen and (min-width: 768px) {
  .message__name span {
    font-size: 2.2rem;
  }
}

.news__type {
  border: 1px solid #706360;
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .news__type {
    margin-top: 8rem;
  }
}

/* --------------------------------
  news__tab
-------------------------------- */
.news__tab {
  border-bottom: 1px solid #706360;
  display: flex;
  text-align: center;
}
.news__tabItem {
  align-items: center;
  display: inline-flex;
  flex-direction: column;
  font-size: 1.8rem;
  font-weight: 700;
  justify-content: center;
  max-width: 33.3333333333%;
  padding: 1.5rem 1rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .news__tabItem {
    flex-direction: row;
    font-size: 2rem;
    padding: 2rem;
  }
}

.news__tabItem + .news__tabItem {
  border-left: 1px solid #706360;
}

.news__tabItem.current {
  background-color: #20ADC7;
  color: #FFF;
}
/* --------------------------------
  news__list
-------------------------------- */
.news__list {
  display: none;
  padding: 1.5rem 2rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .news__list {
    padding: 2.5rem 3rem;
  }
}

.news__list.current {
  display: block;
}

.news__item {
  border-bottom: 1px solid #706360;
}
@media screen and (min-width: 768px) {
  .news__item {
    transition: background-color 0.3s ease-in 0s;
  }
}

@media screen and (min-width: 768px) {
  .news__item:hover {
    background-color: #E7F4F5;
  }
}

.news__item:last-of-type {
  border-bottom: none;
}

.news__link {
  display: flex;
  flex-direction: column;
  font-weight: 700;
  padding: 1.5rem 0;
}
@media screen and (min-width: 768px) {
  .news__link {
    align-items: center;
    flex-direction: row;
    padding: 0.3rem 2rem 0 0;
  }
}

.news__date {
  font-size: 1.7rem;
}
@media screen and (min-width: 768px) {
  .news__date {
    font-size: 1.8rem;
    padding: 4rem 2rem;
    padding-right: 0;
  }
}

.news__cat {
  color: #20ADC7;
  font-size: 1.5rem;
  margin-top: 1.2rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .news__cat {
    font-size: 1.6rem;
    margin: 0 3rem;
  }
}

.news__catItem {
  border: 0.1rem solid #20ADC7;
  font-size: 1.4rem;
  margin: 0;
  max-width: 12.8rem;
  padding: 0.4rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .news__catItem {
    font-size: 1.5rem;
    max-width: none;
    min-width: 16.4rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.news__catItem + .news__catItem {
  margin-top: 0.8rem;
}
@media screen and (min-width: 768px) {
  .news__catItem + .news__catItem {
    margin-top: 1rem;
  }
}

.news__title {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  font-size: 1.6rem;
  margin-top: 1.2rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .news__title {
    font-size: 1.8rem;
    margin-top: 0;
  }
}

/* --------------------------------
  newsDetail
-------------------------------- */
.newsDetail__wrap {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .newsDetail__wrap {
    flex-direction: row;
  }
}

.newsDetail__content {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .newsDetail__content {
    width: 64%;
  }
}

.newsDetail__date {
  font-size: 1.7rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .newsDetail__date {
    font-size: 1.8rem;
  }
}

.newsDetail__btn {
  font-size: 2rem;
  margin-top: 6rem;
  text-align: center;
}

.newsDetail__btn .btnWrap._red::after {
  -webkit-transform: translateY(-70%) rotate(180deg);
  left: 1em;
  transform: translateY(-70%) rotate(180deg);
}

/* --------------------------------
  newsDetail__aside
-------------------------------- */
.newsDetail__aside {
  margin-top: 5rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .newsDetail__aside {
    margin-left: 4%;
    margin-top: 0;
    width: 32%;
  }
}

.newsDetail__asideHeader {
  border-bottom: 1px solid #20ADC7;
  border-left: 0.6rem solid #20ADC7;
  color: #20ADC7;
  font-size: 1.7rem;
  font-weight: 700;
  padding: 0.7rem 1.4rem;
}
@media screen and (min-width: 768px) {
  .newsDetail__asideHeader {
    font-size: 1.8rem;
    padding: 0.7rem 1.6rem;
  }
}

.newsDetail__item {
  border-bottom: 1px solid #D6D6D6;
}
@media screen and (min-width: 768px) {
  .newsDetail__item {
    transition: background-color 0.3s ease-in 0s;
  }
}

@media screen and (min-width: 768px) {
  .newsDetail__item:hover {
    background-color: #E7F4F5;
  }
}

.newsDetail__link {
  display: block;
  padding-bottom: 2rem;
  padding-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .newsDetail__link {
    padding-bottom: 2.5rem;
    padding-top: 2rem;
  }
}

.newsDetail__date {
  font-size: 1.4rem;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .newsDetail__date {
    font-size: 1.5rem;
  }
}

.newsDetail__headingLv3 {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.53;
  margin-top: 0.5rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .newsDetail__headingLv3 {
    font-size: 1.5rem;
  }
}

.newsDetail__recentAll {
  margin-top: 1.8rem;
  text-align: right;
}
@media screen and (min-width: 768px) {
  .newsDetail__recentAll {
    margin-top: 2.2rem;
  }
}

.newsDetail__recentAllLink {
  align-items: center;
  display: inline-block;
  display: flex;
  font-size: 1.5rem;
  justify-content: flex-end;
  line-height: 1;
  position: relative;
}
@media screen and (min-width: 768px) {
  .newsDetail__recentAllLink {
    font-size: 1.6rem;
    transition: all 0.3s ease-in 0s;
  }
}

@media screen and (min-width: 768px) {
  .newsDetail__recentAllLink:hover {
    color: #20ADC7;
    text-decoration: underline;
  }
}

.newsDetail__recentAllLink::after {
  -webkit-transform: rotate(45deg);
  background-color: transparent;
  border-right: 1px solid #000;
  border-top: 1px solid #000;
  content: "";
  display: inline-block;
  height: 0.6rem;
  margin-left: 1em;
  transform: rotate(45deg);
  transition: border-color 0.3s ease-in 0s;
  width: 0.6rem;
}
@media screen and (min-width: 768px) {
  .newsDetail__recentAllLink::after {
    height: 0.7rem;
    width: 0.7rem;
  }
}

@media screen and (min-width: 768px) {
  .newsDetail__recentAllLink:hover::after {
    border-color: #20ADC7;
  }
}

.newsDetail__pagenavi {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .newsDetail__pagenavi {
    flex-direction: row;
    margin-top: 6rem;
  }
}

.nf404 {
  align-items: center;
  background-color: #FFCBC8;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  height: 80dvh;
  justify-content: center;
  margin-top: 4.5rem;
  min-height: 80vh;
  min-height: calc(var(--vh, 1vh) * 80);
  text-align: center;
}
@media screen and (min-width: 768px) {
  .nf404 {
    margin-top: 6rem;
  }
}

.nf404__title {
  color: #2A0800;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  margin-top: 2.4rem;
}
@media screen and (min-width: 768px) {
  .nf404__title {
    font-size: 3.2rem;
    margin-top: 6.4rem;
  }
}

.nf404__sub-title {
  color: rgba(45, 172, 198, 0.2);
  font-family: "Geologica", sans-serif;
  font-size: 4.8rem;
  letter-spacing: 0.02em;
  line-height: 1;
  margin-top: 2rem;
  text-transform: capitalize;
}
@media screen and (min-width: 768px) {
  .nf404__sub-title {
    font-size: 12.8rem;
    margin-top: -19.4rem;
  }
}

.nf404__sub-title span {
  display: inline-block;
  font-size: 3.6rem;
}
@media screen and (min-width: 768px) {
  .nf404__sub-title span {
    font-size: 12.8rem;
  }
}

.nf404__btn {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .nf404__btn {
    margin-top: 10rem;
  }
}

.nf404__btn a {
  display: block;
  height: inherit;
}

.nf404__btn.btnWrap._green::after {
  content: none;
}

.privacy__lead {
  font-size: 1.6rem;
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .privacy__lead {
    font-size: 1.8rem;
    margin-top: 8rem;
  }
}

.privacy__list p {
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  .privacy__list p {
    font-size: 1.8rem;
  }
}

.privacy__item {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .privacy__item {
    margin-top: 8rem;
  }
}

.privacy__text {
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .privacy__text {
    line-height: 1.55;
  }
}

.privacy__case {
  font-size: 1.6rem;
  line-height: 1.55;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .privacy__case {
    font-size: 1.8rem;
    margin-top: 3rem;
  }
}

.privacy__addr {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .privacy__addr {
    margin-top: 5rem;
  }
}

.privacy__addr a {
  color: #20ADC7;
  margin-top: 1rem;
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .privacy__addr a {
    margin-top: 0;
    transition: color 0.3s, opacity 0.3s;
  }
}

@media screen and (min-width: 768px) {
  .privacy__addr a:hover {
    color: #2A0800;
    opacity: 0.6;
  }
}

.product__link {
  background-color: #F5F1EF;
  padding: 6rem 2rem;
}
@media screen and (min-width: 768px) {
  .product__link {
    padding: 6rem 2rem;
  }
}

.product__list {
  position: relative;
}

@media screen and (min-width: 768px) {
  .product__about::before,
.product__list::before {
    content: "";
    display: block;
    height: 30.6rem;
    left: 0;
    position: absolute;
    top: 0;
    width: 17rem;
  }
}
@media screen and (min-width: 1366px) {
  .product__about::before,
.product__list::before {
    height: 61.4rem;
    width: 34rem;
  }
}

@media screen and (min-width: 768px) {
  .product__list::before {
/*    background: url(../../ichinomiya-denki/img/product/product-bg1.webp) no-repeat center/cover;*/
  }
}

.product__items {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .product__items {
    flex-direction: row;
    justify-content: space-between;
  }
}

.product__items + .product__items {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .product__items + .product__items {
    margin-top: 5rem;
  }
}

.product__item {
  background-color: #FFF;
  display: flex;
  flex-direction: column-reverse;
}
@media screen and (min-width: 768px) {
  .product__item {
    position: relative;
    transition: color, border 0.3s ease-in 0s;
    z-index: 1;
  }
}

@media screen and (min-width: 768px) {
  .product__item:hover {
    border: 1px solid #20ADC7;
    color: #FFF;
  }
}

@media screen and (min-width: 768px) {
  .product__item::before {
    -webkit-transform: scale(0, 1);
    -webkit-transform-origin: right top;
    background-color: #20ADC7;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    margin: auto;
    position: absolute;
    top: 0;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    width: 100%;
    z-index: -1;
  }
}

@media screen and (min-width: 768px) {
  .product__item:hover::before {
    -webkit-transform-origin: left top;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    transform-origin: left top;
  }
}

.product__item._row2 {
  border: 1px solid #20ADC7;
  padding-bottom: 1.5rem;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .product__item._row2 {
    padding: 3rem 3rem 1.5rem;
    width: calc((100% - 2.4rem) / 2);
  }
}

.product__item + .product__item {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .product__item + .product__item {
    margin-top: 0;
  }
}

.product__item._row2::after {
  background: url(../../ichinomiya-denki/img/product/arrow-bg-red.svg) no-repeat center/cover;
  bottom: 0;
  content: "";
  display: block;
  height: 2rem;
  position: absolute;
  right: 0;
  width: 2rem;
}
@media screen and (min-width: 768px) {
  .product__item._row2::after {
    height: 3rem;
    width: 3rem;
  }
}

.product__item._row4 {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .product__item._row4 {
    width: calc((100% - 7rem) / 4);
  }
}

.product__item._row3 {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .product__item._row3 {
    width: calc((100% - 4.4rem) / 3);
  }
}

.product__body {
  flex-grow: 1;
  padding-bottom: 1.4rem;
  padding-top: 1.4rem;
  text-align: center;
}

.product__name {
  font-size: 1.7rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .product__name {
    font-size: 2rem;
  }
}

.product__item._row2 .product__name {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .product__item._row2 .product__name {
    margin-top: 1.5rem;
  }
}

.product__subName {
  font-size: 1.6rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .product__subName {
    font-size: 1.8rem;
    margin-top: 3rem;
  }
}

.product__thumb {
  height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.product__thumb img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.product__item._row2 .product__thumb img {
  aspect-ratio: 478/214;
}
@media screen and (min-width: 768px) {
  .product__item._row2 .product__thumb img {
    aspect-ratio: 478/214;
  }
}

.product__item._row4 .product__thumb img {
  aspect-ratio: 258/214;
}
@media screen and (min-width: 768px) {
  .product__item._row4 .product__thumb img {
    aspect-ratio: 258/214;
  }
}

.product__item._row3 .product__thumb img {
  aspect-ratio: 352/214;
}
@media screen and (min-width: 768px) {
  .product__item._row3 .product__thumb img {
    aspect-ratio: 352/214;
  }
}

.product__thumb::after {
  background: url(../../ichinomiya-denki/img/product/arrow-bg-red.svg) no-repeat center/cover;
  bottom: 0;
  content: "";
  display: block;
  height: 2rem;
  position: absolute;
  right: 0;
  width: 2rem;
}
@media screen and (min-width: 768px) {
  .product__thumb::after {
    height: 3rem;
    width: 3rem;
  }
}

.product__item._row2 .product__thumb::after {
  content: none;
}

.product__about {
  background-color: #E7F4F5;
  position: relative;
}

@media screen and (min-width: 768px) {
  .product__about::before {
    /*background: url(../../ichinomiya-denki/img/product/product-bg2.png) no-repeat center/cover;*/
  }
}

.product__lead {
  font-size: 1.7rem;
  line-height: 2;
  margin-top: 3rem;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .product__lead {
    font-size: 2rem;
    margin-top: 4rem;
  }
}

.product__featureList {
  background-color: #FFF;
  margin-top: 7rem;
  padding: 3rem 2rem 2rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .product__featureList {
    margin-top: 10rem;
    padding: 7rem 6rem 6rem;
  }
}

.product__featureTitle {
  -webkit-transform: translateX(-50%) skew(150deg);
  background-color: #20ADC7;
  color: #FFF;
  font-size: 1.8rem;
  font-weight: 700;
  left: 50%;
  margin-left: auto;
  margin-right: auto;
  max-width: 33.5rem;
  padding: 1.5rem 1rem;
  position: absolute;
  text-align: center;
  top: -3.5rem;
  transform: translateX(-50%) skew(150deg);
  width: 80%;
}
@media screen and (min-width: 768px) {
  .product__featureTitle {
    -webkit-transform: translateX(-50%) skew(150deg);
    font-size: 2.4rem;
    max-width: 39.2rem;
    min-height: 8rem;
    padding: 2.2rem 1rem;
    top: -3.5rem;
    transform: translateX(-50%) skew(150deg);
    width: 100%;
  }
}

.product__featureTitle span {
  -webkit-transform: skew(-150deg);
  transform: skew(-150deg);
}

.product__featureItem {
  border-bottom: 1px solid #BCB5B1;
  font-size: 1.7rem;
  line-height: 1.5;
  padding: 1.5rem 2rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .product__featureItem {
    font-size: 2rem;
    padding: 3rem 2rem;
  }
}

.product__featureItem::before {
  background-color: #20ADC7;
  content: "";
  display: block;
  height: 1rem;
  left: 0;
  position: absolute;
  top: 2.4rem;
  width: 1rem;
}
@media screen and (min-width: 768px) {
  .product__featureItem::before {
    height: 1.4rem;
    left: 0;
    top: 4.3rem;
    width: 1.4rem;
  }
}

.product__aboutItem + .product__aboutItem {
  margin-top: 7rem;
}
@media screen and (min-width: 768px) {
  .product__aboutItem + .product__aboutItem {
    margin-top: 10rem;
  }
}

.product__aboutMedia {
  display: flex;
  flex-direction: column-reverse;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .product__aboutMedia {
    flex-direction: row-reverse;
    margin-top: 6rem;
  }
}

.product__aboutBody {
  margin-top: 2rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .product__aboutBody {
    margin-left: 4rem;
    margin-top: 0;
    width: 53rem;
  }
}

.product__aboutText {
  background-color: #FFF;
  border-left: 0.6rem solid #20ADC7;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 16.6rem;
  padding: 1.5rem 2rem;
}
@media screen and (min-width: 768px) {
  .product__aboutText {
    border-left: 0.8rem solid #20ADC7;
    min-height: 16.6rem;
    padding: 2rem 4rem;
  }
}

.product__aboutText + .product__aboutText {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .product__aboutText + .product__aboutText {
    margin-top: 2rem;
  }
}

.product__aboutText .main {
  font-size: 1.8rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .product__aboutText .main {
    font-size: 2rem;
  }
}

.product__aboutText .main span {
  font-size: 1.5rem;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .product__aboutText .main span {
    font-size: 1.6rem;
  }
}

.product__aboutText .sub {
  font-size: 1.6rem;
  font-weight: 400;
  margin-top: 1.4rem;
	font-weight: bold;
}
@media screen and (min-width: 768px) {
  .product__aboutText .sub {
    font-size: 1.8rem;
  }
}

@media screen and (min-width: 768px) {
  .product__aboutThumb {
    max-width: 53rem;
  }
}

.product__underLink {
  background: linear-gradient(180deg, white 0%, white 50%, #E7F4F5 50%, #E7F4F5 100%);
  padding: 3rem 0 5rem;
}
@media screen and (min-width: 768px) {
  .product__underLink {
    padding: 6rem 0 6rem;
  }
}

.product__underLinkText {
  font-size: 1.6rem;
  line-height: 1.55;
  margin: 3rem auto 0;
  max-width: 88rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .product__underLinkText {
    font-size: 1.8rem;
    margin-top: 4.7rem;
  }
}

.product__underLinkText span {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .product__underLinkText span {
    margin-top: 2.5rem;
  }
}

.product__linkImg {
  margin-top: 4rem;
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .product__linkImg {
    margin-top: 8rem;
  }
}

.product__linkImg {
  overflow: hidden;
}

.product__linkImg img {
  -o-object-fit: cover;
  aspect-ratio: 500/500;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .product__linkImg img {
    aspect-ratio: 1100/300;
  }
}

.product__underLinkText + .pageLinks,
.product__linkImg + .pageLinks {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .product__underLinkText + .pageLinks,
.product__linkImg + .pageLinks {
    margin-top: 6rem;
  }
}

.developed-product .product__business {
  padding-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .developed-product .product__business {
    padding-bottom: 2rem;
  }
}

.product__businessMedia {
  display: flex;
  flex-direction: column-reverse;
  margin-top: 3rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .product__businessMedia {
    flex-direction: row-reverse;
    justify-content: space-between;
    margin: 0 auto;
    margin-top: 5rem;
    max-width: 110rem;
  }
}

.product__businessBody {
  margin-top: 2rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .product__businessBody {
    margin-top: 0;
    width: calc((100% - 4rem) / 2);
  }
}

.product__businessText {
  font-size: 1.6rem;
  line-height: 1.55;
}
@media screen and (min-width: 768px) {
  .product__businessText {
    font-size: 1.8rem;
  }
}

.product__businessText + .product__businessText {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .product__businessText + .product__businessText {
    margin-top: 2.8rem;
  }
}

.product__businessThumb {
  overflow: hidden;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .product__businessThumb {
    width: calc((100% - 4rem) / 2);
  }
}

.product__businessThumb img {
  -o-object-fit: cover;
  aspect-ratio: 530/354;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.product__base {
  background-color: #E7F4F5;
}

.product__baseItem:first-of-type {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .product__baseItem:first-of-type {
    margin-top: 4rem;
  }
}

.product__baseItem + .product__baseItem {
  margin-top: 7rem;
}
@media screen and (min-width: 768px) {
  .product__baseItem + .product__baseItem {
    margin-top: 10rem;
  }
}

.product__baseMedia {
  display: flex;
  flex-direction: column-reverse;
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .product__baseMedia {
    flex-direction: row-reverse;
    justify-content: space-between;
    margin-top: 5rem;
  }
}

.product__baseBody {
  margin-top: 2rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .product__baseBody {
    margin-top: 0;
    width: calc((100% - 4rem) / 2);
  }
}

.product__baseText {
  font-size: 1.6rem;
  line-height: 1.55;
}
@media screen and (min-width: 768px) {
  .product__baseText {
    font-size: 1.8rem;
  }
}

.product__baseText + .product__baseText {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .product__baseText + .product__baseText {
    margin-top: 2rem;
  }
}

.product__baseDl {
  border: 1px solid #706360;
  font-size: 1.6rem;
  line-height: 1.55;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .product__baseDl {
    font-size: 1.8rem;
    margin-top: 4rem;
  }
}

.product__baseDl dt {
  background-color: #F5F1EF;
  padding: 1.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .product__baseDl dt {
    padding: 2rem;
  }
}

.product__baseDl dd {
  background-color: #FFF;
  padding: 2rem;
}
@media screen and (min-width: 768px) {
  .product__baseDl dd {
    padding: 3rem 2rem;
  }
}

.product__baseThumb {
  overflow: hidden;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .product__baseThumb {
    width: calc((100% - 4rem) / 2);
  }
}

.product__baseThumb img {
  -o-object-fit: cover;
  aspect-ratio: 530/354;
  height: 100%;
  object-fit: cover;
}

.product__baseThumb._2 img {
  -o-object-fit: cover;
  aspect-ratio: 530/430;
  height: 100%;
  object-fit: cover;
}

.product__business {
  overflow: hidden;
}

.product__businessBox {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .product__businessBox {
    margin-top: 6rem;
  }
}

.product__businessBox._narrow {
  margin-left: auto;
  margin-right: auto;
  max-width: 88rem;
  width: 100%;
}

.product__businessDl {
  border: 1px solid #706360;
  border-top: none;
  font-size: 1.6rem;
  line-height: 1.55;
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .product__businessDl {
    font-size: 1.8rem;
    margin-top: 6rem;
  }
}

.product__businessDlItem {
  border-top: 1px solid #706360;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .product__businessDlItem {
    flex-direction: row;
    font-size: 1.8rem;
  }
}

.product__businessDlItem dt {
  background-color: #F5F1EF;
  padding: 2rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .product__businessDlItem dt {
    padding: 3rem;
    text-align: left;
    width: 21.8%;
  }
}

.product__businessDlItem dd {
  background-color: #FFF;
  padding: 2rem;
}
@media screen and (min-width: 768px) {
  .product__businessDlItem dd {
    padding: 3rem;
    width: 78.8%;
  }
}

.product__businessThumbs {
  display: flex;
  flex-direction: column;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .product__businessThumbs {
    flex-direction: row;
    justify-content: space-between;
    margin-top: 6rem;
  }
}

.product__businessImg {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .product__businessImg {
    margin-top: 0;
    width: calc((100% - 4.4rem) / 3);
  }
}

.product__businessImg img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

#product__item1,
#product__item2,
#product__item3 {
  padding: 5rem 0 8rem;
}
@media screen and (min-width: 768px) {
  #product__item1,
#product__item2,
#product__item3 {
    padding: 8rem 0 10rem;
  }
}

.product__businessItem:nth-of-type(even) {
  background-color: #E7F4F5;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}

.product__businessItem:nth-of-type(even) .product__businessMedia {
  padding: 0 2rem;
}
@media screen and (min-width: 768px) {
  .product__businessItem:nth-of-type(even) .product__businessMedia {
    padding: 0 2.5rem;
  }
}

.product__motorsInfoItem {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .product__motorsInfoItem {
    margin-top: 5rem;
  }
}

.product__motorsInfoItem + .product__motorsInfoItem {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .product__motorsInfoItem + .product__motorsInfoItem {
    margin-top: 8.6rem;
  }
}

.product__motorsInfoMedia {
  display: flex;
  flex-direction: column-reverse;
  margin-top: 3rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .product__motorsInfoMedia {
    flex-direction: row-reverse;
    justify-content: space-between;
    margin: 0 auto;
    margin-top: 5rem;
    max-width: 110rem;
  }
}

.product__motorsInfoBody {
  margin-top: 2rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .product__motorsInfoBody {
    margin-top: 0;
    width: calc(100% - 39.2rem);
  }
}

.product__motorsInfoText {
  font-size: 1.6rem;
  line-height: 1.55;
}
@media screen and (min-width: 768px) {
  .product__motorsInfoText {
    font-size: 1.8rem;
  }
}

.product__motorsInfoText + .product__motorsInfoText {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .product__motorsInfoText + .product__motorsInfoText {
    margin-top: 2.8rem;
  }
}

.product__motorsInfoThumb {
  overflow: hidden;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .product__motorsInfoThumb {
    max-width: 35.2rem;
  }
}

.product__motorsInfoThumb img {
  -o-object-fit: cover;
  aspect-ratio: 350/234;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.product__motorsBook {
  background-color: #E7F4F5;
}

.product__motorsBookLead {
  font-size: 1.6rem;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .product__motorsBookLead {
    font-size: 1.8rem;
    margin-top: 5rem;
    text-align: center;
  }
}

.product__motorsBookLead span {
  display: inline-block;
  line-height: 1.56;
}
@media screen and (min-width: 768px) {
  .product__motorsBookLead span {
    display: block;
  }
}

.product__motorsBookBox {
  display: flex;
  flex-direction: column;
  margin-top: 4rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .product__motorsBookBox {
    flex-direction: row;
    margin-top: 6rem;
  }
}

.product__motorsBookItem {
  position: relative;
}

.product__motorsBookItem + .product__motorsBookItem {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .product__motorsBookItem + .product__motorsBookItem {
    margin-left: 4rem;
    margin-top: 0;
  }
}

.product__motorsThumb img {
  -o-object-fit: cover;
  aspect-ratio: 530/482;
  height: 100%;
  object-fit: cover;
}

.product__motorsBtn {
  -webkit-transform: translateX(-50%);
  bottom: 2rem;
  left: 50%;
  min-height: 5rem;
  position: absolute;
  text-align: center;
  transform: translateX(-50%);
}
@media screen and (min-width: 480px) {
  .product__motorsBtn {
    bottom: 3rem;
  }
}
@media screen and (min-width: 768px) {
  .product__motorsBtn {
    bottom: 3rem;
    min-height: 8rem;
  }
}

@media screen and (min-width: 768px) {
  .product__motorsBtn::before {
    -webkit-transform: scale(0, 1);
    -webkit-transform-origin: right top;
    background-color: #CFEAEB;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    margin: auto;
    position: absolute;
    top: 0;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    width: 100%;
    z-index: -1;
  }
}

@media screen and (min-width: 768px) {
  .product__motorsBtn:hover::before {
    -webkit-transform-origin: left top;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    transform-origin: left top;
  }
}

.product__motorsBtn._pdf a {
  border: 1px solid #20ADC7;
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  margin-left: auto;
  margin-right: auto;
  max-width: 80%;
  min-height: 5rem;
  padding: 1.4rem 2rem 1rem;
  position: relative;
  width: 35.2rem;
}
@media screen and (min-width: 480px) {
  .product__motorsBtn._pdf a {
    padding: 2rem 2rem;
  }
}
@media screen and (min-width: 768px) {
  .product__motorsBtn._pdf a {
    font-size: 1.6rem;
    max-width: none;
    min-height: 8rem;
    padding: 2.5rem 2rem;
    width: 35.2rem;
  }
}

.product__motorsBtn._pdf a::after {
  background: url(../../ichinomiya-denki/img/common/pdf.svg) no-repeat center/cover;
  content: "";
  display: inline-block;
  height: 2.4rem;
  margin-bottom: -0.8rem;
  margin-left: 0.8rem;
  width: 2.2rem;
}
@media screen and (min-width: 768px) {
  .product__motorsBtn._pdf a::after {
    height: 3rem;
    width: 2.8rem;
  }
}

.product__motorstBtnRed {
  margin: 5rem auto 0;
  max-width: 33.5rem;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .product__motorstBtnRed {
    margin-top: 8rem;
    max-width: 41.6rem;
  }
}

.product__motorsTechItem .product__motorstBtnRed {
  margin-left: 0;
  margin-top: 2.8rem;
}
@media screen and (min-width: 768px) {
  .product__motorsTechItem .product__motorstBtnRed {
    margin-top: 3.7rem;
  }
}

.product__motorsContactItem .product__motorstBtnRed {
  margin-left: 0;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .product__motorsContactItem .product__motorstBtnRed {
    margin-top: 4rem;
  }
}

.product__motorstBtnRed a {
  background-color: #20ADC7;
  border: 1px solid transparent;
  color: #FFF;
  display: block;
  font-size: 1.6rem;
  line-height: 1;
  min-height: 6rem;
  padding: 2.1rem 2rem;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .product__motorstBtnRed a {
    font-size: 1.8rem;
    min-height: 8rem;
    padding: 3rem 2rem 2rem;
    transition: color 0.3s, background-color 0.3s, border-color 0.3s;
  }
}

@media screen and (min-width: 768px) {
  .product__motorsContactBtn a:hover {
    background-color: #FFF;
    border-color: #20ADC7;
    color: #20ADC7;
  }
}

.product__motorstBtnRed a::after {
  -webkit-transform: translateY(-50%);
  background: url(../../ichinomiya-denki/img/common/arrow-right-white.svg) no-repeat center/cover;
  content: "";
  display: block;
  height: 1.6rem;
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.4rem;
}
@media screen and (min-width: 768px) {
  .product__motorstBtnRed a::after {
    transition: background-image 0.3s;
  }
}

@media screen and (min-width: 768px) {
  .product__motorstBtnRed a:hover::after {
    background: url(../../ichinomiya-denki/img/common/arrow-right-red.svg) no-repeat center/cover;
  }
}

.product__motorsTechItem {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .product__motorsTechItem {
    margin-top: 6rem;
  }
}

.product__motorsTechItem + .product__motorsTechItem {
  margin-top: 7rem;
}
@media screen and (min-width: 768px) {
  .product__motorsTechItem + .product__motorsTechItem {
    margin-top: 9.6rem;
  }
}

.product__motorsTechText {
  font-size: 1.6rem;
  line-height: 1.55;
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .product__motorsTechText {
    font-size: 1.8rem;
    margin-top: 6rem;
  }
}

.product__motorsTechBtnWrap {
  display: flex;
  flex-direction: column;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .product__motorsTechBtnWrap {
    flex-direction: row;
    margin-top: 4rem;
  }
}

.product__motorsTechBtn {
  min-height: 5rem;
  text-align: center;
}
@media screen and (min-width: 480px) {
  .product__motorsTechBtn {
    bottom: 3rem;
  }
}
@media screen and (min-width: 768px) {
  .product__motorsTechBtn {
    bottom: 3rem;
    min-height: 8rem;
  }
}

.product__motorsTechBtn + .product__motorsTechBtn {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .product__motorsTechBtn + .product__motorsTechBtn {
    margin-left: 2.2rem;
    margin-top: 0;
  }
}

@media screen and (min-width: 768px) {
  .product__motorsTechBtn::before {
    -webkit-transform: scale(0, 1);
    -webkit-transform-origin: right top;
    background-color: #CFEAEB;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    margin: auto;
    position: absolute;
    top: 0;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    width: 100%;
    z-index: -1;
  }
}

@media screen and (min-width: 768px) {
  .product__motorsTechBtn:hover::before {
    -webkit-transform-origin: left top;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    transform-origin: left top;
  }
}

.product__motorsTechBtn._pdf a {
  border: 1px solid #20ADC7;
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  margin-left: auto;
  margin-right: auto;
  max-width: 80%;
  min-height: 5rem;
  padding: 1.2rem 2rem;
  position: relative;
  width: 33.5rem;
}
@media screen and (min-width: 480px) {
  .product__motorsTechBtn._pdf a {
    padding: 2rem 2rem;
  }
}
@media screen and (min-width: 768px) {
  .product__motorsTechBtn._pdf a {
    font-size: 1.6rem;
    max-width: none;
    min-height: 8rem;
    padding: 2.5rem 2rem;
    width: 35.2rem;
  }
}

.product__motorsTechBtn._pdf a::after {
  background: url(../../ichinomiya-denki/img/common/pdf.svg) no-repeat center/cover;
  content: "";
  display: inline-block;
  height: 2.4rem;
  margin-bottom: -0.8rem;
  margin-left: 0.8rem;
  width: 2.2rem;
}
@media screen and (min-width: 768px) {
  .product__motorsTechBtn._pdf a::after {
    height: 3rem;
    width: 2.8rem;
  }
}

.product__motorsAttention {
  background-color: #E7F4F5;
}

.product__motorsAttentionItem:first-of-type {
  margin-top: 1.8rem;
}

.product__motorsAttentionItem {
  border-bottom: 1px solid #BCB5B1;
  font-size: 1.6rem;
  line-height: 1.8;
  padding: 2rem 1.5rem 2rem 2.5rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .product__motorsAttentionItem {
    font-size: 1.8rem;
    line-height: 2;
    padding: 2rem 2rem 2rem 3rem;
  }
}

.product__motorsAttentionItem::before {
  background-color: #20ADC7;
  content: "";
  display: block;
  height: 1.4rem;
  left: 0;
  position: absolute;
  top: 2.8rem;
  width: 1.4rem;
}
@media screen and (min-width: 768px) {
  .product__motorsAttentionItem::before {
    left: 0;
    top: 3.4rem;
  }
}

.product__motorsContactItem {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .product__motorsContactItem {
    margin-top: 5.5rem;
  }
}

.product__motorsContactItem + .product__motorsContactItem {
  margin-top: 7rem;
}
@media screen and (min-width: 768px) {
  .product__motorsContactItem + .product__motorsContactItem {
    margin-top: 9rem;
  }
}

.product__motorsContactDl {
  border: 1px solid #706360;
  border-top: none;
  font-size: 1.6rem;
  line-height: 1.55;
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .product__motorsContactDl {
    font-size: 1.8rem;
    margin-top: 6rem;
  }
}

.product__motorsContactDlItem {
  border-top: 1px solid #706360;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .product__motorsContactDlItem {
    align-items: center;
    flex-direction: row;
    font-size: 1.8rem;
    min-height: 8.8rem;
  }
}

.product__motorsContactDlItem dt {
  background-color: #F5F1EF;
  padding: 1.5rem 2rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .product__motorsContactDlItem dt {
    padding: 3rem;
    text-align: left;
    width: 21.8%;
  }
}

@media screen and (min-width: 768px) {
  .product__motorsContactDlItem .col2 {
    min-height: 11.4rem;
  }
}

.product__motorsContactDlItem dd {
  background-color: #FFF;
  padding: 2rem 1.5rem;
}
@media screen and (min-width: 768px) {
  .product__motorsContactDlItem dd {
    padding: 3rem;
    width: 78.8%;
  }
}

.product__motorsContactDlItem dd a {
  color: #20ADC7;
  display: inline;
  text-decoration: underline;
}
.product__motorsContactText {
  font-size: 1.6rem;
  line-height: 1.55;
  margin-top: 4rem;
}
.product__motorsContactDlItem dd a.tel {
	color: #000;
}

@media screen and (min-width: 768px) {
  .product__motorsContactText {
    font-size: 1.8rem;
    margin-top: 6rem;
  }
}

.product-winding-wires .product__businessDlItem dt {
  align-items: center;
  display: inline-flex;
}
.product-winding-wires .product__businessImg {
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .product-winding-wires .product__businessImg {
    width: calc((100% - 4rem) / 2);
  }
}
.product-winding-wires .product__businessImg img {
  -o-object-fit: cover;
  aspect-ratio: 530/354;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .product-winding-wires .product__businessImg img {
    aspect-ratio: 530/354;
  }
}
.product-winding-wires .product__baseThumb {
  overflow: hidden;
}
.product-winding-wires .product__baseThumb img {
  -o-object-fit: cover;
  aspect-ratio: 530/354;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .product-winding-wires .product__baseThumb img {
    aspect-ratio: 530/354;
  }
}

.product-shaft-machining .product__businessDlItem dt {
  align-items: center;
  display: inline-flex;
}
.product-shaft-machining .product__businessImg {
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .product-shaft-machining .product__businessImg {
    width: calc((100% - 4rem) / 2);
  }
}
.product-shaft-machining .product__businessImg img {
  -o-object-fit: cover;
  aspect-ratio: 530/354;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .product-shaft-machining .product__businessImg img {
    aspect-ratio: 530/354;
  }
}
.product-shaft-machining .product__baseThumb {
  overflow: hidden;
}
.product-shaft-machining .product__baseThumb img {
  -o-object-fit: cover;
  aspect-ratio: 530/718;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .product-shaft-machining .product__baseThumb img {
    aspect-ratio: 530/718;
  }
}

.quality__pageLinks {
  background-color: #CFEAEB;
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .quality__pageLinks {
    margin-top: 8rem;
  }
}

.quality__lead {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .quality__lead {
    font-size: 3rem;
    font-weight: 700;
  }
}

/* --------------------------------
ISO
-------------------------------- */
.quality__iso {
  background-color: #E7F4F5;
}

.quality__tableWrap {
  overflow-x:auto;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .quality__tableWrap {
    white-space: normal;
  }
}

.quality__table {
  max-width: 110rem;
  width: 100%;
}
.quality__table,
.quality__table th,
.quality__table td {
  border: 0.1rem solid #2A0800;
  border-collapse: collapse;
}
.quality__table td:nth-child(4),
.quality__table th:nth-child(4) {
  width: auto;
}

.quality__table {
  line-height: 1.55;
  margin-top: 3rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .quality__table {
    font-size: 1.8rem;
    margin-top: 4rem;
  }
}

.quality__table th {
  background-color: #F5F1EF;
  font-weight: 400;
  padding: 1.5rem 0 1.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .quality__table th {
    font-size: 1.8rem;
    padding: 1.9rem 0 2.1rem;
  }
}

.quality__table td {
  padding: 1.5rem;
}
@media screen and (min-width: 768px) {
  .quality__table td {
    padding: 3rem;
  }
}

.quality__table td span {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.quality__table td.center {
  text-align: center;
}
.quality__table th.w150,
.quality__table td.w150 {
  width: 10rem;
}
@media screen and (min-width: 768px) {
  .quality__table th.w150,
.quality__table td.w150 {
    width: 15rem;
  }
}

.quality__table th.w497,
.quality__table td.w497 {
  width: 30rem;
}
@media screen and (min-width: 768px) {
  .quality__table th.w497,
.quality__table td.w497 {
    width: 49.7rem;
  }
}

/* --------------------------------
policy
-------------------------------- */
.quality__policy {
  background-color: #E7F4F5;
}

.policy {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .policy {
    margin-top: 5.3rem;
  }
}

.policy__lead {
  color: #20ADC7;
  display: block;
  font-size: 2.2rem;
  font-weight: 700;
  position: relative;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .policy__lead {
    font-size: 3rem;
  }
}

.policy__lead::after {
  background-color: #20ADC7;
  content: "";
  display: block;
  height: 0.4rem;
  margin: 2rem auto 0;
  width: 8rem;
}
@media screen and (min-width: 768px) {
  .policy__lead::after {
    height: 0.4rem;
    margin-top: 3rem;
    width: 12rem;
  }
}

.policy__lead .main {
  display: block;
  font-size: 2.2rem;
}
@media screen and (min-width: 768px) {
  .policy__lead .main {
    font-size: 3rem;
  }
}

.policy__text {
  font-size: 1.7rem;
  margin-top: 2.8rem;
}
@media screen and (min-width: 768px) {
  .policy__text {
    font-size: 1.8rem;
    margin-top: 3.8rem;
    text-align: center;
  }
}

.policy2 .policy__text {
  margin-top: 2.8rem;
}
@media screen and (min-width: 768px) {
  .policy2 .policy__text {
    margin-top: 3.8rem;
  }
}

.quality__policy2 .policy__text {
  text-align: left;
}

.policy__text span {
  display: inline;
}
@media screen and (min-width: 768px) {
  .policy__text span {
    display: inline-block;
  }
}

.policy__text + .underTitle__lv4 {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .policy__text + .underTitle__lv4 {
    margin-top: 7.6rem;
  }
}

.policy__lead + .underTitle__lv4 {
  margin-top: 3.2rem;
}
@media screen and (min-width: 768px) {
  .policy__lead + .underTitle__lv4 {
    margin-top: 4.2rem;
  }
}

.underTitle__lv4 + .policy__text {
  margin-top: 4.9rem;
}
@media screen and (min-width: 768px) {
  .underTitle__lv4 + .policy__text {
    margin-top: 5.9rem;
  }
}

.policy__list + .policy__text {
  margin-top: 4.9rem;
}
@media screen and (min-width: 768px) {
  .policy__list + .policy__text {
    margin-top: 5.9rem;
  }
}

.policy__list {
  counter-reset: number;
  margin-top: 3rem;
  padding-left: 2rem;
}
@media screen and (min-width: 768px) {
  .policy__list {
    margin-top: 5.8rem;
    padding-left: 3rem;
  }
}

.policy__item {
  font-size: 1.8rem;
  margin-top: 0.8rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .policy__item {
    font-size: 2rem;
    margin-top: 1rem;
  }
}

.policy__item::before {
  content: counter(number) ".";
  counter-increment: number 1;
  display: block;
  font-size: 1.8rem;
  left: -2rem;
  position: absolute;
  top: 0;
}
@media screen and (min-width: 768px) {
  .policy__item::before {
    font-size: 2rem;
    left: -3rem;
    top: 0.2rem;
  }
}

/* --------------------------------
registration
-------------------------------- */
.registration > .underTitle__lv4 {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .registration > .underTitle__lv4 {
    margin-top: 4rem;
  }
}

.registration__list + .underTitle__lv4 {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .registration__list + .underTitle__lv4 {
    margin-top: 8rem;
  }
}

.registration__list {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .registration__list {
    margin-top: 6rem;
  }
}

.registration__item {
  background-color: #FFF;
  border: 0.1rem solid #706360;
  display: flex;
  flex-direction: column;
  padding: 1.5rem 2rem;
}
@media screen and (min-width: 768px) {
  .registration__item {
    flex-direction: row;
    padding: 3rem;
  }
}

.registration__item + .registration__item {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .registration__item + .registration__item {
    margin-top: 6rem;
  }
}

@media screen and (min-width: 768px) {
  .registration__body {
    width: 86%;
  }
}

.registration__date {
  color: #20ADC7;
  font-size: 1.7rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .registration__date {
    font-size: 1.8rem;
    text-align: center;
  }
}

.registration__desc {
  border-top: 0.1rem solid #706360;
  display: flex;
  flex-direction: column;
  font-size: 1.7rem;
  font-weight: 400;
  margin-top: 1rem;
  padding-top: 1rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .registration__desc {
    flex-direction: row;
    font-size: 1.8rem;
    margin-top: 3rem;
    padding-top: 2.4rem;
  }
}

@media screen and (min-width: 768px) {
  .registration__name {
    width: 41%;
  }
}

.registration__name span {
  display: inline;
}
@media screen and (min-width: 768px) {
  .registration__name span {
    display: block;
  }
}

.registration__chidList {
  margin-top: 0.5rem;
  padding-left: 1.5rem;
}
@media screen and (min-width: 768px) {
  .registration__chidList {
    margin-left: 4%;
    margin-top: 0;
    padding-left: 2rem;
    width: 55%;
  }
}

.registration__childItem {
  position: relative;
	font-weight: bold;
}

.registration__childItem + .registration__childItem {
  margin-top: 0.2rem;
}
.registration__childItem::before {
  background: url(../img/common/arrow-right-black.svg) no-repeat center/cover;
  content: "";
  display: inline-block;
  height: 1.2rem;
  left: -1.5rem;
  position: absolute;
  top: 0.8rem;
  width: 1.2rem;
}
@media screen and (min-width: 768px) {
  .registration__childItem::before {
    left: -2rem;
    margin-right: 0.8rem;
    top: 0.8rem;
  }
}

.registration__img {
  margin-top: 1rem;
  max-width: 14rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .registration__img {
    cursor: pointer;
    margin-left: 3%;
    margin-top: 0;
    transition: opacity 0.3s ease-in 0s;
    width: 14%;
  }
}

.registration__img img {
  border: 0.1rem solid #706360;
}

@media screen and (min-width: 768px) {
  .registration__img:hover {
    opacity: 0.7;
  }
}

.registration__dItem dd {
  background-color: #FFF;
  padding: 1.5rem 1rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .registration__dItem dd {
    padding: 3rem;
    width: 75%;
  }
}

.registration__dItem dd .map {
  margin-top: 0.6rem;
  width: 15.6rem;
}
@media screen and (min-width: 768px) {
  .registration__dItem dd .map {
    transition: opacity 0.3s ease-in 0s;
  }
}

@media screen and (min-width: 768px) {
  .registration__dItem dd .map:hover {
    opacity: 0.7;
  }
}

.registration__dItem dd .tel {
  color: #20ADC7;
  text-decoration: underline;
}
.registration__thumb {
  overflow: hidden;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .registration__thumb {
    width: 32%;
  }
}

.registration__thumb img {
  -o-object-fit: cover;
  aspect-ratio: 352/235;
  height: auto;
  object-fit: cover;
}

/* --------------------------------
quality__control
-------------------------------- */
.control {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .control {
    margin-top: 8rem;
  }
}

.control__media {
  display: flex;
  flex-direction: column-reverse;
  margin-top: 4rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .control__media {
    align-items: center;
    flex-direction: row-reverse;
    margin-top: 6rem;
  }
}

.control__body,
.control__text {
  font-size: 1.7rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .control__body,
.control__text {
    font-size: 1.8rem;
  }
}

.control__text {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .control__text {
    margin-top: 5rem;
  }
}

.control__body {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .control__body {
    margin-left: 4rem;
    margin-top: 0;
  }
}

.control__text span {
  display: inline;
}
@media screen and (min-width: 480px) {
  .control__text span {
    display: inline-block;
  }
}

.mapbase__img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .mapbase__img {
    max-width: 53rem;
  }
}

.mapbase__img img {
  -o-object-fit: cover;
  aspect-ratio: 530/354;
  object-fit: cover;
}
.control__thumbs {
  -ms-grid-columns: 1fr;
  -ms-grid-rows: 1fr;
  grid-row-gap: 2rem;
  display: -ms-grid;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  margin-top: 4rem;
  width: 100%;
}
.control__thumbs > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
@media screen and (min-width: 768px) {
  .control__thumbs {
    -ms-grid-columns: 1fr 4rem 1fr 4rem 1fr;
    grid-column-gap: 4rem;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 6rem;
  }
}

.control__thumb {
  width: 100%;
}

.control__thumb img {
  -o-object-fit: cover;
  aspect-ratio: 340/227;
  object-fit: cover;
}
/* --------------------------------
quality__environmental
-------------------------------- */
.quality__environmental {
  background-color: #E7F4F5;
}
.environmental__media {
  display: flex;
  flex-direction: column-reverse;
  margin-top: 4rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .environmental__media {
    align-items: center;
    flex-direction: row-reverse;
    margin-top: 6rem;
  }
}

.environmental__body {
  font-size: 1.7rem;
  margin-top: 2rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .environmental__body {
    font-size: 1.8rem;
    margin-left: 4rem;
    margin-top: 0;
  }
}

.environmental__img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .environmental__img {
    max-width: 53rem;
  }
}

.environmental__img img {
  -o-object-fit: cover;
  aspect-ratio: 530/354;
  object-fit: cover;
}
.sitemap__nav {
  display: flex;
  flex-direction: column;
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .sitemap__nav {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 8rem;
  }
}

.sitemap__navItem {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .sitemap__navItem {
    max-width: 50rem;
    width: calc((100% - 10rem) / 2);
  }
}

.sitemap__navItem + .sitemap__navItem {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .sitemap__navItem + .sitemap__navItem {
    margin-top: 0;
  }
}

.sitemap__subTilte {
  border-bottom: 1px solid #706360;
  color: #20ADC7;
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  padding-bottom: 1rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .sitemap__subTilte {
    font-size: 2.4rem;
    transition: all 0.3s ease-in 0s;
  }
}

@media screen and (min-width: 768px) {
  .sitemap__subTilte:hover {
    border-color: #20ADC7;
    padding-left: 2rem;
  }
}

.sitemap__subTilte::before {
  background: url(../../ichinomiya-denki/img/common/arrow-circle.svg) no-repeat center/cover;
  content: "";
  display: inline-block;
  height: 1.8rem;
  margin-bottom: -0.2rem;
  margin-right: 1rem;
  width: 1.8rem;
}
@media screen and (min-width: 768px) {
  .sitemap__subTilte::before {
    margin-bottom: 0;
  }
}

.sitemap__list {
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .sitemap__list {
    margin-top: 0.5rem;
  }
}

.sitemap__item a {
  display: inline-block;
  font-size: 1.6rem;
  padding: 1rem 0;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .sitemap__item a {
    font-size: 1.8rem;
    padding: 1rem 0;
  }
}

.sitemap__item a::before {
  background: url(../../ichinomiya-denki/img/common/arrow-right-red.svg) no-repeat center/cover;
  content: "";
  display: inline-block;
  height: 1rem;
  margin-right: 1rem;
  width: 0.8rem;
}
@media screen and (min-width: 768px) {
  .sitemap__item a::after {
    -webkit-transform: scale(0, 1);
    -webkit-transform-origin: left top;
    background-color: #20ADC7;
    bottom: -3px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .sitemap__item a:hover::after {
    -webkit-transform: scale(1, 1);
    opacity: 1;
    transform: scale(1, 1);
  }
}

.product__link {
  background-color: #F5F1EF;
  padding: 6rem 2rem;
}
@media screen and (min-width: 768px) {
  .product__link {
    padding: 6rem 2rem;
  }
}

.technology__effot {
  padding: 8rem 0 8rem;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .technology__effot {
    padding: 15rem 0 12rem;
  }
}

.technology__effot._bg-red {
  background-color: #E7F4F5;
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .technology__effot._bg-red {
    margin-top: 8rem;
  }
}

.technology__effot._bg-white {
  background-color: #FFF;
}

@media screen and (min-width: 768px) {
  .technology__effot._bg-red::before,
.technology__effot._bg-white::before {
    content: "";
    display: block;
    height: 30.6rem;
    left: 0;
    position: absolute;
    top: 0;
    width: 17rem;
    z-index: -1;
  }
}
@media screen and (min-width: 1366px) {
  .technology__effot._bg-red::before,
.technology__effot._bg-white::before {
    height: 61.4rem;
    width: 34rem;
  }
}

@media screen and (min-width: 768px) {
  .technology__effot._bg-red::before {
    /*background: url(../img/product/product-bg2.png) no-repeat center/cover;*/
  }
}

@media screen and (min-width: 768px) {
  .technology__effot._bg-white::before {
/*    background: url(../img/product/product-bg1.webp) no-repeat center/cover;*/
  }
}

.technology__item {
  display: flex;
  flex-direction: column-reverse;
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .technology__item {
    margin-top: 6.8rem;
  }
}

.technology__effot._bg-white .technology__item + .technology__item {
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  .technology__effot._bg-white .technology__item + .technology__item {
    margin-top: 10rem;
  }
}

.technology__body {
  margin: -6rem auto 0;
  padding: 5rem 2rem 2rem;
  position: relative;
  width: 92%;
}
@media screen and (min-width: 768px) {
  .technology__body {
    max-width: 96rem;
    padding: 8rem 4rem 4rem;
    width: 100%;
  }
}

.technology__body._white {
  background-color: #FFF;
}

.technology__body._pink {
  background-color: #CFEAEB;
}

.technology__title {
  -webkit-transform: translateX(-50%) skew(150deg);
  background-color: #20ADC7;
  color: #FFF;
  font-size: 1.6rem;
  font-weight: 700;
  left: 50%;
  margin-left: auto;
  margin-right: auto;
  max-width: 33.5rem;
  padding: 1.5rem 1rem;
  position: absolute;
  text-align: center;
  top: -3.5rem;
  transform: translateX(-50%) skew(150deg);
}
@media screen and (min-width: 768px) {
  .technology__title {
    -webkit-transform: translateX(-50%) skew(150deg);
    font-size: 2.4rem;
    max-width: 44rem;
    min-height: 8rem;
    padding: 2.2rem 1rem;
    top: -3.5rem;
    transform: translateX(-50%) skew(150deg);
    width: 100%;
  }
}

.technology__title span {
  -webkit-transform: skew(-150deg);
  transform: skew(-150deg);
}

.technology__text {
  font-size: 1.6rem;
  line-height: 1.55;
}
@media screen and (min-width: 768px) {
  .technology__text {
    font-size: 1.8rem;
  }
}

.technology__text + .technology__text {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .technology__text + .technology__text {
    margin-top: 2.8rem;
  }
}

.technology__thumb {
  overflow: hidden;
}

.technology__thumb img {
  -o-object-fit: cover;
  aspect-ratio: 460/460;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .technology__thumb img {
    aspect-ratio: 1100/460;
  }
}

/*-----------------------------
  fv
---------------------------- */
.fv {
  margin-top: 4.5rem;
  position: relative;
  width: 100vw;
}
@media screen and (min-width: 768px) {
  .fv {
    margin-top: 9rem;
  }
}

.fv__img {
  height: 52.5rem;
  position: relative;
  width: 100%;
}

.fv__text {
  -webkit-transform: translate(-50%, 50%);
  color: #FFF;
  font-size: 1.8rem;
  font-weight: 700;
  left: 50%;
  position: absolute;
  text-align: center;
  top: 40%;
  transform: translate(-50%, 50%);
  width: 100%;
}

.fv__img img {
  -o-object-fit: cover;
  aspect-ratio: 375/525;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .fv__movie {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .fv__movie video {
    -o-object-fit: cover;
    aspect-ratio: 1920/900;
    object-fit: cover;
    width: 100%;
  }
}

.fv__music {
  bottom: 4rem;
  height: 2.4rem;
  position: absolute;
  right: 4rem;
  width: 2.4rem;
  z-index: 120;
}
@media screen and (min-width: 768px) {
  .fv__music {
    height: 3.2rem;
    width: 3.2rem;
  }
}

@media screen and (min-width: 768px) {
  .fv__music::before {
    -webkit-transform: rotate(45deg);
    background-color: #FFF;
    content: "";
    display: block;
    height: 0.3rem;
    left: -0.2rem;
    position: absolute;
    top: 1.4rem;
    transform: rotate(45deg);
    transition: width 0.3s ease-in 0s;
    width: 4rem;
  }
}

@media screen and (min-width: 768px) {
  .fv__music.js-active::before {
    width: 0;
  }
}

.sectionWrapper {
  background: url(../img/top/top-bg1.webp) no-repeat center/cover;
  height: 100%;
}

/*-----------------------------
  topNews
---------------------------- */
.topNews {
  padding: 2.5rem 0;
}
@media screen and (min-width: 768px) {
  .topNews {
    padding: 2.5rem 0;
  }
}

.topNews__container {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .topNews__container {
    align-items: center;
    flex-direction: row;
  }
}

.topNews__container .sectionTitle {
  color: #20ADC7;
  line-height: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.topNews__container .sectionTitle .sub {
  font-size: 2.2rem;
}
@media screen and (min-width: 768px) {
  .topNews__container .sectionTitle .sub {
    font-size: 3.2rem;
  }
}

.topNews__container .sectionTitle .main {
  font-size: 1.4rem;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .topNews__container .sectionTitle .main {
    font-size: 1.4rem;
    margin-top: -0.6rem;
  }
}

.topNews__content {
  display: flex;
  flex-direction: column;
  font-size: 1.6rem;
  font-weight: 400;
  margin-top: -2rem;
}
@media screen and (min-width: 768px) {
  .topNews__content {
    flex-direction: row;
    font-size: 1.6rem;
    margin-left: 4.2rem;
    margin-top: 0;
    max-width: 70rem;
    transition: all 0.3s ease-in 0s;
  }
}

@media screen and (min-width: 768px) {
  .topNews__content:hover {
    opacity: 0.6;
    text-decoration: underline;
  }
}

.topNews__content time {
  text-align: right;
}
.topNews__title {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  font-size: 1.6rem;
  font-weight: 400;
  margin-top: 2rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .topNews__title {
    -webkit-box-orient: initial;
    -webkit-line-clamp: initial;
    display: initial;
    margin-left: 3rem;
    margin-top: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

.topNews__btn {
  height: 5rem;
  margin: 4rem auto 0;
}
@media screen and (min-width: 768px) {
  .topNews__btn {
    margin: 0;
    margin-left: auto;
  }
}

.topNews__btn .btnWrap {
  height: inherit;
}

/*-----------------------------
  topCompany
---------------------------- */
.topCompany {
  padding-bottom: 8rem;
  padding-top: 15rem;
}
@media screen and (min-width: 768px) {
  .topCompany {
    padding-bottom: 15rem;
    padding-top: 21rem;
  }
}

.topCompany__container {
  color: #FFF;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .topCompany__container {
    flex-direction: row;
  }
}

.topCompany__body {
  display: contents;
}
@media screen and (min-width: 768px) {
  .topCompany__body {
    display: flex;
    flex-direction: column;
    max-width: 54rem;
    width: 100%;
  }
}

.topCompany__container .sectionTitle {
  order: -1;
}

.topCompany__body .sectionTitle .sub {
  line-height: 1;
}

.topCompany__body .sectionTitle .main {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .topCompany__body .sectionTitle .main {
    margin-top: 2rem;
  }
}

.topCompany__body .sectionTitle .main::after {
  content: none;
}

.topCompany__lead {
  color: #2A0800;
  font-size: 1.6rem;
  line-height: 2;
  margin-top: 3rem;
  order: 2;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .topCompany__lead {
    color: inherit;
    font-size: 2rem;
    margin-top: 8.4rem;
    margin-bottom: 8.4rem;
  }
}

.topCompany__btn {
  margin-top: 4rem;
  max-height: 8rem;
  order: 2;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .topCompany__btn {
    margin-top: auto;
    text-align: left;
  }
}

.topCompany__img {
  order: 1;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .topCompany__img {
/*    margin-left: 2rem;
    max-width: 54rem;
    padding-top: 1.5rem;*/
  }
.topCompany__img {
    margin-left: 9rem;
    max-width: 44rem;
    padding-top: 12.5rem;
}	
	
}

.topCompany__img img {
    -o-object-fit: cover;
    aspect-ratio: inherit;
    height: auto;
    object-fit: cover;
    width: 100%;
}

/*-----------------------------
  topProducts
---------------------------- */
.topProducts {
  padding-bottom: 0;
  padding-top: 8rem;
}
@media screen and (min-width: 768px) {
  .topProducts {
    padding-bottom: 0;
    padding-top: 14rem;
  }
	.topCompany__img img {
    width: 119%;
}

}

.topProducts__title {
  text-align: center;
}

.topProducts__title .sectionTitle {
  margin: 0 auto;
}

.topProducts__title .sectionTitle .sub {
  -webkit-text-stroke: 3px #20ADC7;
  color: transparent;
}

.topProducts__title .sectionTitle .main {
  color: #20ADC7;
}

.topProducts__title .sectionTitle .main::after {
  content: none;
}

.topProducts__lead {
  font-size: 1.6rem;
  margin-top: 1.8rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .topProducts__lead {
    font-size: 2rem;
    margin-top: 1.8rem;
  }
}

.topProducts__container {
  display: flex;
  flex-direction: column;
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  .topProducts__container {
    flex-direction: row;
    justify-content: space-between;
    margin-top: 15rem;
    max-height: 39.6rem;
  }
}

.topProducts__imgListContainer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .topProducts__imgListContainer {
    display: contents;
  }
}

.topProducts__imgList {
  border-bottom: 1px solid #20ADC7;
  display: flex;
  flex-direction: column;
  margin-top: 2rem;
  width: 48%;
}
@media screen and (min-width: 768px) {
  .topProducts__imgList {
    margin-top: 0;
    width: calc((100% - 58rem) / 2);
  }
}

@media screen and (min-width: 768px) {
  .topProducts__imgList._1 {
    order: -1;
  }
}

@media screen and (min-width: 768px) {
  .topProducts__imgList._2 {
    order: 2;
  }
}

.topProducts__imgItem {
  align-items: center;
  border: 1px solid #20ADC7;
  border-bottom: none;
  display: inline-flex;
  flex-grow: 1;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .topProducts__imgItem {
    margin-top: 0;
  }
}

.topProducts__imgItem.current {
  background-color: #20ADC7;
}
@media screen and (min-width: 768px) {
  .topProducts__imgItem.current {
    background-color: transparent;
  }
}

.topProducts__imgItem.current a {
  color: #FFF;
}
@media screen and (min-width: 768px) {
  .topProducts__imgItem.current a {
    color: inherit;
  }
}

.topProducts__imgItem.current a::after {
  background: url(../img/common/arrow-right-red.svg) no-repeat center/cover;
}
.topProducts__imgItem.current {
	color: #fff;
	background-color: #20ADC7;
}

@media screen and (min-width: 768px) {
  .topProducts__imgItem.current a::after {
    background: url("../img/common/arrow-right-white.svg") no-repeat center/cover;
  }
}

.topProducts__imgItem a {
  display: block;
  display: flex;
  flex-direction: column;
  font-size: 1.4rem;
  font-weight: 700;
  height: 100%;
  justify-content: center;
  padding: 1.4rem 2rem;
  position: relative;
  width: 100%;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .topProducts__imgItem a {
    font-size: 1.6rem;
    transition: color 0.3s ease-in 0s;
  }
}

@media screen and (min-width: 768px) {
  .topProducts__imgItem:hover a {
    color: #FFF;
  }
}

@media screen and (min-width: 768px) {
  .topProducts__imgItem::before {
    -webkit-transform: scale(0, 1);
    -webkit-transform-origin: right top;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    margin: auto;
    position: absolute;
    top: 0;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    width: 100%;
    z-index: 1;
  }
}

@media screen and (min-width: 768px) {
  .topProducts__imgItem:hover::before {
    -webkit-transform-origin: left top;
    -webkit-transform: scale(1, 1);
    background-color: #20ADC7;
    transform: scale(1, 1);
    transform-origin: left top;
  }
}

.topProducts__imgItem a::after {
  -webkit-transform: translateY(-50%);
  background: url(../img/common/arrow-right-red.svg) no-repeat center/cover;
  content: "";
  display: inline-block;
  height: 1.6rem;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.4rem;
}
@media screen and (min-width: 768px) {
  .topProducts__imgItem a::after {
    transition: all 0.3s ease-in 0s;
  }
}

@media screen and (min-width: 768px) {
  .topProducts__imgItem:hover a::after {
    background: url(../img/common/arrow-right-white.svg) no-repeat center/cover;
  }
}

.topProducts__imgItem img {
  display: none;
}

.topProducts__imgMain {
  margin-left: auto;
  margin-right: auto;
  margin-top: 2rem;
  order: -1;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .topProducts__imgMain {
    margin-top: 0;
    max-width: 39.6rem;
    order: 1;
  }
}

.topProducts__img {
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 768px) {
  .topProducts__img {
    margin-left: auto;
    margin-right: auto;
    max-width: 39.6rem;
  }
}

.topProducts__img img {
  -o-object-fit: cover;
  aspect-ratio: 396/396;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.topProducts__img.opacity {
  -webkit-animation: animeOpacity 0.6s ease-in-out;
  animation: animeOpacity 0.6s ease-in-out;
}

@-webkit-keyframes animeOpacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes animeOpacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.topProducts__img img {
  -o-object-fit: cover;
  -o-object-position: center;
  aspect-ratio: 396/396;
  height: 100%;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.topProducts__imgBtnLeft,
.topProducts__imgBtnRight {
  -webkit-transform: translateY(-50%);
  background-color: #20ADC7;
  content: "";
  cursor: pointer;
  display: block;
  height: 6rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 4rem;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .topProducts__imgBtnLeft,
.topProducts__imgBtnRight {
    width: 3rem;
  }
}

.topProducts__imgBtnLeft {
  background: url(../img/common/arrow-img-left.svg) no-repeat center/cover;
  left: -1.5rem;
}

.topProducts__imgBtnRight {
  background: url(../img/common/arrow-img-right.svg) no-repeat center/cover;
  right: -1.5rem;
}

.topProducts__btn {
  margin-top: 8rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .topProducts__btn {
    margin-top: 15rem;
  }
}

/*-----------------------------
  topDevelopment
---------------------------- */
.topDevelopment {
  background: url(../img/top/top-bg2.webp) no-repeat center/cover;
  height: 100%;
  padding: 8rem 0;
}
@media screen and (min-width: 768px) {
  .topDevelopment {
    padding-bottom: 15rem;
    padding-top: 29rem;
  }
}

.topDevelopment__title {
  color: #20ADC7;
  position: relative;
}

.topDevelopment__flow {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .topDevelopment__flow {
    margin-top: 8rem;
  }
}

.topDevelopment__flowItem {
  overflow: hidden;
}

.topDevelopment__flowItem img {
  -o-object-fit: cover;
  aspect-ratio: 1100/515;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.topDevelopment__point {
  display: flex;
  flex-direction: column;
  margin-top: 8rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .topDevelopment__point {
    flex-direction: row;
    justify-content: space-between;
    margin-top: 15rem;
  }
}

.topDevelopment__item {
  background-color: #FFF;
  border: 1px solid #BBA7A2;
  font-weight: 700;
  padding: 2.7rem 1rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .topDevelopment__item {
    padding: 2.7rem 1rem;
    width: calc((100% - 8rem) / 3);
  }
}

.topDevelopment__item + .topDevelopment__item {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .topDevelopment__item + .topDevelopment__item {
    margin-top: 0;
  }
}

.topDevelopment__item .text {
  color: #2A0800;
  display: block;
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  .topDevelopment__item .text {
    font-size: 2rem;
  }
}

.topDevelopment__item em {
  color: #20ADC7;
  font-size: 2.2rem;
}
@media screen and (min-width: 768px) {
  .topDevelopment__item em {
    font-size: 4.6rem;
  }
}

.topDevelopment__btn {
  margin-top: 8rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .topDevelopment__btn {
    margin-top: 15rem;
  }
}

/*-----------------------------
  topRecruit
---------------------------- */
.topQuality {
  background: url(../img/top/top-bg3.webp) no-repeat center/cover;
  min-height: 73.3rem;
}
@media screen and (min-width: 768px) {
  .topQuality {
    min-height: 73.3rem;
  }
}

.topQuality__container {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .topQuality__container {
    flex-direction: row;
  }
}

.topQuality__item {
  position: relative;
}

.topQuality__item:not(:last-of-type):after {
  background: url(../img/common/arrow-right-red.svg) no-repeat center/cover;
  bottom: 1.7rem;
  content: "";
  display: block;
  height: 1.6rem;
  position: absolute;
  right: 1.6rem;
  width: 1.4rem;
  z-index: 9;
}
.topQuality__item._large {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .topQuality__item._large {
    max-width: 73.2rem;
  }
}

.topQuality__item a {
  position: relative;
  width: 100%;
  z-index: 3;
}

.topQuality__img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.topQuality__item .topQuality__img img {
  aspect-ratio: 733/432;
}

.topQuality__box .topQuality__img img {
  aspect-ratio: 342/132;
}

@media screen and (min-width: 768px) {
  .topQuality__item a::before {
    -webkit-transform: scale(0, 1);
    -webkit-transform-origin: right top;
    background-color: rgba(86, 193, 213, 0.6);
    content: "";
    display: block;
    height: 100%;
    left: 0;
    margin: auto;
    position: absolute;
    top: 0;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    width: 100%;
    z-index: 2;
  }
}

.topQuality__item a:hover::before {
  -webkit-transform-origin: left top;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  transform-origin: left top;
}

.topQuality__box {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .topQuality__box {
    margin-left: 2.4rem;
    max-width: 31%;
  }
}

.topQuality__item._small {
  margin-top: 3.2rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .topQuality__item._small {
    margin-top: 0;
  }
}

@media screen and (min-width: 768px) {
  .topQuality__item._small:not(:first-of-type) {
    margin-top: 1.8rem;
  }
}

.topQuality__title {
  bottom: 0rem;
  left: 1.8rem;
  position: absolute;
  width: 100%;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .topQuality__title {
    bottom: 2rem;
    left: 3.5rem;
  }
}

.topQuality__title .sub,
.topQuality__title .main,
.topQuality__title .lead {
  left: 0;
  position: absolute;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .topQuality__title .sub,
.topQuality__title .main,
.topQuality__title .lead {
    bottom: 2rem;
    left: 3.5rem;
  }
}

.topQuality__title .sub {
  -webkit-text-stroke: 1px #FFF;
  bottom: 1.2rem;
  color: transparent;
  opacity: 0.6;
}
@media screen and (min-width: 768px) {
  .topQuality__title .sub {
    bottom: 5.2rem;
  }
}

.topQuality__title .main {
  bottom: 3rem;
  color: #FFF;
  font-size: 2.2rem;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .topQuality__title .main {
    bottom: 5rem;
    font-size: 3rem;
    margin-top: -5rem;
  }
}

.topQuality__title.sectionTitle .main::after {
  content: none;
}

.topQuality__title .lead {
  bottom: 0.5rem;
  color: #FFF;
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  .topQuality__title .lead {
    font-size: 1.6rem;
  }
}

.topQuality__link {
  position: relative;
  z-index: 10;
}

.topQuality__link .main,
.topQuality__link .sub {
  font-weight: 700;
  left: 1.8rem;
  position: absolute;
}

.topQuality__link .main {
  bottom: 1rem;
  color: #FFF;
  font-size: 1.8rem;
}
@media screen and (min-width: 768px) {
  .topQuality__link .main {
    bottom: 2rem;
    font-size: 2.6rem;
  }
}

.topQuality__link .sub {
  -webkit-text-stroke: 1px #FFF;
  bottom: 2rem;
  color: transparent;
  font-family: "Geologica", sans-serif;
  font-size: 3.2rem;
  opacity: 0.6;
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  .topQuality__link .sub {
    font-size: 5.6rem;
  }
}

/*-----------------------------
  topRecruit
---------------------------- */
.topRecruit {
  background: url(../img/top/top-bg4.webp) no-repeat center/cover;
  min-height: 34rem;
  padding: 8rem 0;
}
@media screen and (min-width: 768px) {
  .topRecruit {
    min-height: 60.4rem;
    padding: 12rem 0 8rem;
  }
}

@media screen and (min-width: 768px) {
  .topRecruit__container {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
  }
}

@media screen and (min-width: 768px) {
  .topRecruit__title {
    -webkit-transform: translateY(-50%);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
}

.topRecruit .sectionTitle .sub {
  -webkit-text-stroke: 2px #20ADC7;
  color: #FFF;
}

.topRecruit .sectionTitle .main {
  color: #FFF;
}

.topRecruit__img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .topRecruit__img {
    margin-left: auto;
    margin-right: 0;
    max-width: 100.8rem;
  }
}

.topRecruit__img img {
  -o-object-fit: cover;
  aspect-ratio: 1008/380;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.breadcrumbWrap {
  background-color: #FFF;
  padding: 1.6rem 2rem 1.5rem;
}
@media screen and (min-width: 768px) {
  .breadcrumbWrap {
    padding: 2rem 2rem 1.9rem;
  }
}

.breadcrumb {
  font-size: 1.3rem;
  font-weight: 400;
  margin: 0 auto;
  max-width: 114rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .breadcrumb {
    font-size: 1.4rem;
  }
}

.breadcrumb span {
  color: #BCB5B1;
  font-size: 1.4rem;
}

.breadcrumbArrow {
  -webkit-transform: rotate(45deg);
  background-color: transparent;
  border-right: 1px solid #2A0800;
  border-top: 1px solid #2A0800;
  content: "";
  display: inline-block;
  height: 0.7rem;
  margin: 0 0.6rem 0.1rem 0.6rem;
  transform: rotate(45deg);
  width: 0.7rem;
}

.breadcrumb span:first-of-type {
  padding-left: 0;
}

.breadcrumb a {
  text-decoration: underline;
  transition: all 0.3s ease-in 0s;
}

.breadcrumb a:hover {
  opacity: 0.7;
  text-decoration: underline;
}

.breadcrumb .current-item {
  color: #2A0800;
  display: inline;
}

.breadcrumbs span[property=name] {
  display: inline-block;
  margin-top: -0.3rem;
  max-width: 11rem;
  overflow: hidden;
  padding: 0;
  text-overflow: ellipsis;
  vertical-align: middle;
  white-space: nowrap;
}

.btn {
  color: #FFF;
  display: inline-block;
  font-weight: 700;
  line-height: 1;
  overflow: hidden;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .btn {
    transition: color 0.3S;
    z-index: 2;
  }
}

.btn._red {
  border: 1px solid #20ADC7;
  color: #2A0800;
}

.btn._green {
  border: 1px solid #22B14C;
  border-left: 0.8rem solid #22B14C;
  color: #22B14C;
}
@media screen and (min-width: 768px) {
  .btn._green {
    border: none;
    border-left: 0.8rem solid #22B14C;
  }
}

@media screen and (min-width: 768px) {
  .btn._red:hover,
.btn._green:hover {
    color: #FFF;
  }
}

.btn._h50 {
  font-size: 1.4rem;
  min-height: 5rem;
  padding: 1.7rem 2rem;
}
@media screen and (min-width: 768px) {
  .btn._h50 {
    padding: 1.7rem 2rem;
  }
}

.btn._h80 {
  font-size: 1.8rem;
  min-height: 8rem;
  padding: 3.1rem 2rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .btn._h80 {
    padding: 3.1rem 2rem;
  }
}

.vertification__btn .btn._h80 {
  padding: 3.3rem 2rem 2rem;
}
@media screen and (min-width: 768px) {
  .vertification__btn .btn._h80 {
    padding: 3.1rem 2rem;
  }
}

@media screen and (min-width: 768px) {
  .btn._contact,
.btn._contactBack {
    transition: all 0.3s ease-in 0s;
  }
}

.btn._contactBack {
  color: #22B14C;
}

.btn._contact {
  color: #FFF;
}

@media screen and (min-width: 768px) {
  .btn._contact:hover {
    border: 1px solid #20ADC7;
    color: #20ADC7;
  }
}

.btnWrap {
  display: inline-block;
  max-height: 8rem;
  position: relative;
  width: 100%;
  z-index: 1;
}
.btnWrap._red {
  background-color: transparent;
}

.btnWrap._green {
  background-color: #FFF;
}

@media screen and (min-width: 768px) {
  .btnWrap._red::before,
.btnWrap._green::before {
    -webkit-transform: scale(0, 1);
    -webkit-transform-origin: right top;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    margin: auto;
    position: absolute;
    top: 0;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    width: 100%;
    z-index: -1;
  }
}

@media screen and (min-width: 768px) {
  .btnWrap._red:hover::before,
.btnWrap._green:hover::before {
    -webkit-transform-origin: left top;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    transform-origin: left top;
  }
}

@media screen and (min-width: 768px) {
  .btnWrap._red::before {
    background-color: #20ADC7;
  }
}

@media screen and (min-width: 768px) {
  .btnWrap._green::before {
    background-color: #22B14C;
  }
}

.btnWrap._red::after,
.btnWrap._green::after {
  -webkit-transform: translateY(-40%);
  content: "";
  display: block;
  height: 1.6rem;
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-40%);
  width: 1.4rem;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .btnWrap._red::after,
.btnWrap._green::after {
    transition: all 0.3s linear 0s;
  }
}

.btnWrap._red::after {
  background: url(./../img/common/arrow-right-red.svg) no-repeat center/cover;
}

@media screen and (min-width: 768px) {
  .btnWrap._red:hover::after,
.btnWrap._green:hover::after {
    background: url(./../img/common/arrow-right-white.svg) no-repeat center/cover;
  }
}

.btnWrap._green::after {
  background: url(./../img/common/arrow-right-green.svg) no-repeat center/cover;
}

.btnWrap._w200 {
  min-width: 20rem;
}

.btnWrap._w260 {
  max-width: 26rem;
}

.btnWrap._w280 {
  max-width: 28rem;
}

.btnWrap._w416 {
  max-width: 41.6rem;
}

.btnTop {
  background-color: #20ADC7;
  border: 2px solid #FFF;
  bottom: 4.3rem;
  display: block;
  height: 4.2rem;
  padding: 1rem;
  position: fixed;
  right: 2rem;
  width: 4.2rem;
  z-index: 120;
}
@media screen and (min-width: 768px) {
  .btnTop {
    bottom: 8rem;
    height: 5.6rem;
    right: 8rem;
    transition: all 0.3s ease-in 0s;
    width: 5.6rem;
  }
}

@media screen and (min-width: 768px) {
  .btnTop:hover {
    background-color: #FFF;
    border-color: #20ADC7;
  }
}

.btnTop::before,
.btnTop::after {
  background-color: #FFF;
  content: "";
  display: block;
  height: 0.4rem;
  position: absolute;
  right: 50%;
  top: 50%;
  width: 1.6rem;
}
@media screen and (min-width: 768px) {
  .btnTop::before,
.btnTop::after {
    height: 0.5rem;
    transition: all 0.3s ease-in 0s;
    width: 1.8rem;
  }
}

.btnTop::before {
  -webkit-transform: translate(76%, -50%) rotate(-135deg);
  transform: translate(76%, -50%) rotate(-135deg);
}
@media screen and (min-width: 768px) {
  .btnTop::before {
    -webkit-transform: translate(76%, -70%) rotate(-135deg);
    transform: translate(76%, -70%) rotate(-135deg);
  }
}

.btnTop::after {
  -webkit-transform: translate(24%, -50%) rotate(135deg);
  transform: translate(24%, -50%) rotate(135deg);
}
@media screen and (min-width: 768px) {
  .btnTop::after {
    -webkit-transform: translate(24%, -70%) rotate(135deg);
    transform: translate(24%, -70%) rotate(135deg);
  }
}

@media screen and (min-width: 768px) {
  .btnTop:hover::after,
.btnTop:hover::before {
    background-color: #20ADC7;
  }
}

.contactSection {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .contactSection {
    flex-direction: row;
  }
}

.contactSection__body {
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .contactSection__body {
    display: flex;
    flex-direction: column;
    max-width: 39%;
  }
}

.contactSection__title {
  color: #20ADC7;
  line-height: 1;
  margin: 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .contactSection__title {
    margin: inherit;
  }
}

.contactSection__title .sub {
  font-family: "Geologica", sans-serif;
  font-size: 5rem;
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  .contactSection__title .sub {
    font-size: 7.8rem;
  }
}

.contactSection__title .main {
  display: block;
  font-size: 1.8rem;
  margin-top: 1rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .contactSection__title .main {
    font-size: 2.4rem;
  }
}

.contactSection__lead {
  font-size: 1.6rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .contactSection__lead {
    font-size: 1.8rem;
    margin-top: 2.2rem;
  }
}

.contactSection__tel {
  color: #20ADC7;
  font-family: "Geologica", sans-serif;
  font-size: 2.8rem;
  font-weight: 700;
  margin-top: 2rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .contactSection__tel {
    font-size: 3.4rem;
    margin-top: 2.2rem;
  }
}

@media screen and (min-width: 768px) {
  .contactSection__tel:hover {
    cursor: pointer;
    opacity: 0.6;
  }
}

@media screen and (min-width: 768px) {
  .contactSection__tel:hover a {
    text-decoration: underline;
  }
}

.contactSection__tel::before {
  background: url(../../ichinomiya-denki/img/product/icon-tel.svg) no-repeat center/cover;
  content: "";
  display: inline-block;
  height: 3rem;
  margin-bottom: -0.3rem;
  width: 2.8rem;
}
@media screen and (min-width: 768px) {
  .contactSection__tel::before {
    height: 3.8rem;
    width: 3.4rem;
  }
}

.contactSection__btn {
  margin: 2.4rem auto 0;
  max-width: 33.5rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .contactSection__btn {
    margin: inherit;
    margin-top: 3rem;
    margin-top: auto;
    max-width: 41.2rem;
  }
}

.contactSection__btn a {
  background-color: #FFF;
  border: 1px solid #20ADC7;
  color: #20ADC7;
  display: block;
  font-size: 1.6rem;
  padding: 1.8rem;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .contactSection__btn a {
    font-size: 1.8rem;
    padding: 2.5rem;
    z-index: 1;
  }
}

.contactSection__btn a::before {
  background: url(../../ichinomiya-denki/img/product/icon-mail.svg) no-repeat center/cover;
  content: "";
  display: inline-block;
  height: 2rem;
  margin-bottom: -0.3rem;
  margin-right: 1rem;
  width: 3rem;
}
@media screen and (min-width: 768px) {
  .contactSection__btn a::before {
    height: 3rem;
    margin-bottom: -0.6rem;
    margin-right: 1rem;
    width: 4rem;
  }
}

@media screen and (min-width: 768px) {
  .contactSection__btn a::after {
    -webkit-transform: scale(0, 1);
    -webkit-transform-origin: right top;
    background-color: #E7F4F5;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    margin: auto;
    position: absolute;
    top: 0;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    width: 100%;
    z-index: -1;
  }
}

@media screen and (min-width: 768px) {
  .contactSection__btn a:hover::after {
    -webkit-transform-origin: left top;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    transform-origin: left top;
  }
}

.contactSection__thumb {
  margin-top: 3rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .contactSection__thumb {
    margin-left: 2%;
    margin-top: 0;
    max-width: 59%;
  }
}

@media screen and (min-width: 768px) {
  .footer {
    background: linear-gradient(90deg, #f5f1ef 0%, #f5f1ef 50%, #2a0800 50%, #2a0800 100%);
  }
}

.footer__inner {
  position: relative;
}
@media screen and (min-width: 768px) {
  .footer__inner {
    display: flex;
  }
}

.footer__info {
  background-color: #F5F1EF;
  display: flex;
  flex-direction: column;
  margin: 0 calc(50% - 50vw);
  padding: 6rem calc(50vw - 50%) 4rem;
  width: 100vw;
}
@media screen and (min-width: 768px) {
  .footer__info {
    margin: inherit;
    padding: 10rem 4rem 10rem 0;
    width: 33rem;
  }
}
@media screen and (min-width: 1366px) {
  .footer__info {
    padding-right: 7rem;
    width: 31rem;
  }
}

.footer__infoInner {
  margin: auto;
  max-width: 20rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .footer__infoInner {
    display: contents;
  }
}

.footer__logo {
  margin-left: auto;
  margin-right: auto;
  max-width: 12rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .footer__logo {
    margin-left: 0;
    max-width: 12.6rem;
    transition: opacity 0.3s ease-in 0s;
  }
}

@media screen and (min-width: 768px) {
  .footer__logo:hover {
    opacity: 0.6;
  }
}

@media screen and (min-width: 768px) {
  .footer__addr {
    flex-grow: 2;
    margin-left: 0;
    margin-top: 4rem;
  }
}

.footer__addrItem {
  font-size: 1.4rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .footer__addrItem {
    margin-top: 0;
  }
}

.footer__addrItem .bold {
  font-weight: 700;
}

.footer__addrItem span {
  display: block;
  line-height: 1.42;
}

.footer__infoLink {
  margin: 2rem auto 0;
}
@media screen and (min-width: 768px) {
  .footer__infoLink {
    margin-left: 0;
  }
}

.footer__infoLink a {
  display: inline-block;
  font-size: 1.4rem;
  margin-left: 1rem;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .footer__infoLink a {
    display: block;
    font-size: 1.6rem;
    margin-left: 0;
    margin-top: 0;
    text-align: left;
  }
}

.footer__infoLink a:not(:first-of-type) {
  margin-left: 1rem;
}
@media screen and (min-width: 768px) {
  .footer__infoLink a:not(:first-of-type) {
    margin-left: 0;
  }
}

.footer__nav {
  background-color: #2A0800;
  color: #FFF;
  display: flex;
  flex-wrap: wrap;
  margin: 0 calc(50% - 50vw);
  padding: 4rem 0;
  padding: 4rem calc(50vw - 50%);
  width: 100vw;
}
@media screen and (min-width: 768px) {
  .footer__nav {
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: nowrap;
    margin: inherit;
    max-width: 79rem;
    padding: 10rem 0;
    width: 100%;
  }
}

.footer__column {
  padding: 0 1rem;
  width: 50%;
}
@media screen and (min-width: 480px) {
  .footer__column {
    padding: 0 0.5rem;
    width: 33.3%;
  }
}
@media screen and (min-width: 768px) {
  .footer__column {
    margin-left: 9rem;
    max-width: 20rem;
    padding: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media screen and (min-width: 1366px) {
  .footer__column {
    margin-left: 12rem;
  }
}

@media screen and (min-width: 1366px) {
  .footer__column._right {
    margin-left: 13rem;
  }
}

.footer__link a,
.footer__columnTitle {
  color: #FFF;
  font-size: 1.5rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .footer__link a,
.footer__columnTitle {
    font-size: 1.6rem;
  }
}

.footer__columnTitle {
  display: inline-block;
  position: relative;
}

.footer__columnTitle::after {
  -webkit-transform: rotate(45deg);
  border: 0;
  border-bottom: solid 0.3rem #FFF;
  border-right: solid 0.3rem #FFF;
  content: "";
  height: 0.7rem;
  margin-top: -0.6rem;
  position: absolute;
  position: absolute;
  right: -1.5rem;
  top: 50%;
  transform: rotate(45deg);
  width: 0.7rem;
}

.footer__childLinks {
  margin-top: 1.6rem;
}
@media screen and (min-width: 768px) {
  .footer__childLinks {
    margin-top: 3.2rem;
  }
}

.footer__childItem {
  margin-top: 0.9rem;
}
@media screen and (min-width: 768px) {
  .footer__childItem {
    margin-top: 0.9rem;
  }
}

.footer__infoLink a,
.footer__columnTitle a,
.footer__link a,
.footer__childItem a {
  display: inline-block;
  position: relative;
}

@media screen and (min-width: 768px) {
  .footer__infoLink a:hover,
.footer__columnTitle a:hover,
.footer__link:hover a,
.footer__childItem:hover a {
    opacity: 1;
  }
}

@media screen and (min-width: 768px) {
  .footer__infoLink a::before,
.footer__columnTitle a::before,
.footer__link a::before,
.footer__childItem a::before {
    -webkit-transform: scale(0, 1);
    -webkit-transform-origin: left top;
    background-color: #FFF;
    bottom: -0.3rem;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .footer__infoLink a::before {
    background-color: #2A0800;
    bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .footer__columnTitle::before {
    bottom: -0.9rem;
  }
}

@media screen and (min-width: 768px) {
  .footer__infoLink a:hover::before,
.footer__columnTitle a:hover::before,
.footer__link:hover a::before,
.footer__childItem:hover a::before {
    -webkit-transform: scale(1, 1);
    opacity: 1;
    transform: scale(1, 1);
  }
}

.footer__childItem a {
  font-size: 1.4rem;
}

.footer__linkList {
  margin-top: 2.4rem;
}
@media screen and (min-width: 480px) {
  .footer__linkList {
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  .footer__linkList {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
  }
}

.footer__link {
  margin-top: 1.6rem;
}
@media screen and (min-width: 480px) {
  .footer__link {
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  .footer__link {
    width: 100%;
  }
}

.footer__link:not(:first-of-type) {
  margin-top: 1.6rem;
}
@media screen and (min-width: 768px) {
  .footer__link:not(:first-of-type) {
    margin-top: 3rem;
  }
}

.footer__contact,
.footer__recruit {
  margin-left: auto;
  margin-right: auto;
  max-width: 33.5rem;
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .footer__contact,
.footer__recruit {
    margin-left: inherit;
    margin-right: inherit;
    max-width: 18rem;
  }
}

.footer__recruit {
  background-color: transparent;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .footer__recruit {
    margin-top: 7rem;
  }
}

.footer__contact {
  background-color: #FFF;
  color: #20ADC7;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .footer__contact {
    margin-top: 0.7rem;
  }
}

@media screen and (min-width: 768px) {
  .footer__recruit::before,
.footer__contact::before {
    -webkit-transform: scale(0, 1);
    -webkit-transform-origin: right top;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    margin: auto;
    position: absolute;
    top: 0;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    width: 100%;
    z-index: -1;
  }
}

@media screen and (min-width: 768px) {
  .footer__recruit::before {
    background-color: #FFF;
  }
}

@media screen and (min-width: 768px) {
  .footer__contact::before {
    background-color: #20ADC7;
  }
}

@media screen and (min-width: 768px) {
  .footer__recruit:hover::before,
.footer__contact:hover::before {
    -webkit-transform-origin: left top;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    transform-origin: left top;
  }
}

@media screen and (min-width: 768px) {
  .footer__recruit:hover a {
    color: #2A0800;
  }
}

@media screen and (min-width: 768px) {
  .footer__contact:hover a {
    color: #FFF;
  }
}

.footer__contact a,
.footer__recruit a {
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  padding: 2rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .footer__contact a,
.footer__recruit a {
    width: 18rem;
  }
}

.footer__recruit a {
  border: 1px solid #FFF;
}

.footer__copy {
  background-color: #D6D0CB;
  line-height: 1;
  padding: 1.5rem 2rem 1.3rem;
  text-align: center;
}

.footer__copy small {
  font-size: 1.2rem;
  font-weight: 400;
}

.footer__copy span {
  display: inline-block;
}

.form {
  border-bottom: 1px solid #706360;
  position: relative;
}

.form::after {
  background-color: #20ADC7;
  bottom: -0.1rem;
  content: "";
  display: block;
  height: 0.3rem;
  left: 0;
  position: absolute;
  width: 21.8%;
}

.form__lead {
  font-size: 1.6rem;
  line-height: 1.75;
  padding: 2rem 0 4rem;
}
@media screen and (min-width: 768px) {
  .form__lead {
    font-size: 1.8rem;
    margin-top: 2rem;
    padding: 3rem 0 5rem;
    text-align: center;
  }
}

.form__lead span {
  display: inline;
}
@media screen and (min-width: 768px) {
  .form__lead span {
    display: inline-block;
  }
}

.form__caution {
  border-bottom: 1px solid #706360;
  border-top: 1px solid #706360;
  font-size: 1.6rem;
  line-height: 1.75;
  margin-top: 4rem;
  padding: 2rem;
}
@media screen and (min-width: 768px) {
  .form__caution {
    margin-top: 6rem;
    padding: 3rem;
  }
}

.form__caution span {
  display: block;
}

.form__caution .mt {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .form__caution .mt {
    margin-top: 3rem;
  }
}

.form__caution a {
  color: #22B14C;
  text-decoration: underline;
  transition: opacity 0.3s ease-in 0s;
}

.form__caution a:hover {
  opacity: 0.7;
  text-decoration: none;
}

.form-row {
  border-top: 1px solid #706360;
  display: flex;
  flex-direction: column;
  padding: 1rem 0 2rem;
  position: relative;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .form-row {
    align-items: baseline;
    flex-direction: row;
    padding: 2rem 0;
  }
}

.form-row._address {
  border-top: none;
  padding-bottom: 0;
}
@media screen and (min-width: 768px) {
  .form-row._address {
    padding-bottom: 2rem;
  }
}

.form-row::before {
  background-color: #20ADC7;
  content: "";
  display: block;
  height: 0.3rem;
  left: 0;
  position: absolute;
  top: -0.1rem;
  width: 21.8%;
}

.form-row._address::before {
  content: none;
}

.form-row label {
  align-items: center;
  display: flex;
  font-size: 1.7rem;
  font-weight: 700;
  justify-content: space-between;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .form-row label {
    font-size: 1.8rem;
    padding-left: 2rem;
    width: 21.8%;
  }
}

.form-row .validation {
  background-color: #20ADC7;
  color: #FFF;
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1;
  padding: 0.6rem 0.8rem 0.6rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .form-row .validation {
    font-size: 1.6rem;
    padding: 0.7rem 0.9rem 0.7rem;
  }
}

.form-select,
.form-style,
.form-textarea {
  background-color: #FFF;
  border: 1px solid #BCB5B1;
  font-size: 1.6rem;
  margin-top: 1rem;
  padding: 1.3rem 0.8rem 1.3rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .form-select,
.form-style,
.form-textarea {
    margin-left: 3rem;
    margin-top: 0;
    max-width: 80rem;
    padding: 1.3rem 1.4rem 1.3rem;
  }
}

.form-select {
  margin-top: 0;
  max-width: 10rem;
}

.form__addrInner {
  align-items: center;
  display: flex;
  flex-direction: row;
}

.form__addrInner input {
  margin-left: 0;
  max-width: 14rem;
}

@media screen and (min-width: 768px) {
  .form__addrIcon {
    margin-left: 3rem;
  }
}

.form__addrText {
  font-size: 1.4rem;
  margin-left: 2rem;
}
@media screen and (min-width: 768px) {
  .form__addrText {
    font-size: 1.6rem;
  }
}

.form__selectBox .form-style {
  margin-left: 2rem;
  margin-top: 0;
  max-width: 10rem;
}

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0;
  margin-top: 0.4rem;
}
@media screen and (min-width: 768px) {
  .mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 1rem;
    margin-top: 0;
  }
}

.mwform-radio-field:first-of-type {
  margin-top: 0.8rem;
}
@media screen and (min-width: 768px) {
  .mwform-radio-field:first-of-type {
    margin-top: 0;
  }
}

.form__selectBox {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .form__selectBox {
    align-items: center;
    flex-direction: row;
    padding-left: 2rem;
    width: calc(100% - 34.2rem);
  }
}

.form__selectText {
  font-weight: 700;
}

.form__selectInner {
  align-items: center;
  display: flex;
  margin-top: 1rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .form__selectInner {
    display: contents;
  }
}

.form-row._check-box {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .form-row._check-box {
    margin-top: 4rem;
  }
}

@media screen and (min-width: 768px) {
  .form-row._textarea label {
    letter-spacing: -0.03em;
  }
}

.mw_wp_form_preview .form-row._textarea label {
  margin-top: 0;
}

.form-textarea {
  min-height: 22rem;
  padding: 1.2rem 1.6rem 1.4rem;
}
@media screen and (min-width: 768px) {
  .form-textarea {
    min-height: 22rem;
    padding: 1.7rem 1.6rem 1.8rem;
  }
}

.form-radio__qus span {
  font-weight: 700;
}

.form__btnWrap {
  margin: 6rem auto 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .form__btnWrap {
    margin-top: 12rem;
  }
}

.form__btn {
  background-color: #20ADC7;
  display: inline-block;
  max-height: 8rem;
  position: relative;
  width: 100%;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .form__btn:hover {
    background-color: #FFF;
  }
}

.form__btn._back {
  background-color: #FFF;
  display: none;
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .form__btn._back {
    margin-top: 6rem;
  }
}

@media screen and (min-width: 768px) {
  .btn._contactBack:hover {
    color: #FFF;
  }
}

@media screen and (min-width: 768px) {
  .btn._contact {
    border: 1px solid transparent;
  }
}

@media screen and (min-width: 768px) {
  .btn._contactBack {
    background-color: #FFF;
    border-bottom: 1px solid #22B14C;
    border-right: 1px solid #22B14C;
    border-top: 1px solid #22B14C;
  }
}

@media screen and (min-width: 768px) {
  .btn._contactBack:hover {
    background-color: #22B14C;
  }
}

.form__btn::after,
.form__btn._back::after {
  -webkit-transform: translateY(-55%);
  content: "";
  display: block;
  height: 1.6rem;
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-55%);
  width: 1.4rem;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .form__btn::after,
.form__btn._back::after {
    transition: all 0.3s linear 0s;
  }
}

.form__btn::after {
  -webkit-transform: translateY(-30%);
  transform: translateY(-30%);
}
@media screen and (min-width: 768px) {
  .form__btn::after {
    -webkit-transform: translateY(-10%);
    transform: translateY(-10%);
  }
}

.form__btn._back::after {
  -webkit-transform: translateY(-55%) rotate(180deg);
  left: 2em;
  transform: translateY(-55%) rotate(180deg);
}
@media screen and (min-width: 768px) {
  .form__btn._back::after {
    transition: all 0.3s linear 0s;
  }
}

@media screen and (min-width: 768px) {
  .form__btn:hover::after {
    background: url(./../img/common/arrow-right-red.svg) no-repeat center/cover;
  }
}

@media screen and (min-width: 768px) {
  .form__btn._back:hover::after {
    background: url(./../img/common/arrow-right-white.svg) no-repeat center/cover;
  }
}

.form__btn::after {
  background: url(./../img/common/arrow-right-white.svg) no-repeat center/cover;
}

.form__btn._back::after {
  background: url(./../img/common/arrow-right-green.svg) no-repeat center/cover;
}

.form__btn._w416 {
  max-width: 41.6rem;
}

.form__radioContainer {
  display: flex;
  flex-direction: column;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
@media screen and (min-width: 768px) {
  .form__radioContainer {
    align-items: center;
    flex-direction: row;
  }
}

.form-row .form__radioContainer label {
  width: 100%;
}

.radio-btn + span {
  cursor: pointer;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 400;
  margin: 0;
  padding: 0 0 0 1.6em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .radio-btn + span {
    margin: 0 0.7em 0;
  }
}

.radio-btn + span::before {
  -webkit-transform: translateY(-50%);
  background: #FFF;
  border: 1px solid #707070;
  border-radius: 50%;
  content: "";
  display: block;
  height: 2rem;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2rem;
}

.radio-btn + span::after {
  -webkit-transform: translateY(-50%);
  background-color: #20ADC7;
  border: 1px solid transparent;
  border-radius: 50%;
  content: "";
  height: 1.2rem;
  left: 0.4rem;
  opacity: 0;
  padding: 0.2rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s ease 0s;
  width: 1.2rem;
}

.radio-btn:checked + span::after {
  opacity: 1;
}

.form-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #FFF url(../../japantrustfund/img/common/contact-arrow.svg) no-repeat center right 10px/12px 10px;
  color: #000;
}

.form-select::-ms-expand {
  display: none;
}

.form-select:focus {
  border: 1px solid rgba(0, 0, 0, 0.32);
  box-shadow: none;
  outline: none;
}

.form-style::-webkit-input-placeholder, .form-textarea::-webkit-input-placeholder {
  color: #BCB5B1;
  font-size: 1.4rem;
}

.form-style::-moz-placeholder, .form-textarea::-moz-placeholder {
  color: #BCB5B1;
  font-size: 1.4rem;
}

.form-style:-ms-input-placeholder, .form-textarea:-ms-input-placeholder {
  color: #BCB5B1;
  font-size: 1.4rem;
}

.form-style::-ms-input-placeholder, .form-textarea::-ms-input-placeholder {
  color: #BCB5B1;
  font-size: 1.4rem;
}

.form-style::placeholder,
.form-textarea::placeholder {
  color: #BCB5B1;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .form-style::-webkit-input-placeholder, .form-textarea::-webkit-input-placeholder {
    font-size: 1.6rem;
  }
  .form-style::-moz-placeholder, .form-textarea::-moz-placeholder {
    font-size: 1.6rem;
  }
  .form-style:-ms-input-placeholder, .form-textarea:-ms-input-placeholder {
    font-size: 1.6rem;
  }
  .form-style::-ms-input-placeholder, .form-textarea::-ms-input-placeholder {
    font-size: 1.6rem;
  }
  .form-style::placeholder,
.form-textarea::placeholder {
    font-size: 1.6rem;
  }
}

.mw_wp_form .error {
  font-size: 1.6rem;
  margin-top: 0.8rem;
  padding: 0.2rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .mw_wp_form .error {
    margin-left: 1.3rem;
    max-width: none;
    padding-left: 2rem;
  }
}

.js-error .form-style,
.js-error .form-textarea,
.js-error .form-select {
  background-color: #FFDCDC;
}

.form__errorWrap {
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .form__errorWrap {
    width: 78.8%;
  }
}

.mw_wp_form_preview label {
  color: #000;
}

.mw_wp_form_preview .form__lead,
.mw_wp_form_preview .form__caution,
.mw_wp_form_preview .contact__text {
  display: none;
}

.mw_wp_form_preview .form-radio__qus {
  color: #000;
}

.mw_wp_form_preview .form-radio label,
.form-row__check-box label {
  color: #000;
}

.form__confirm {
  display: none;
}
.mw_wp_form_preview .form__confirm {
  color: #2A0800;
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  padding: 3rem 0 5rem;
}
@media screen and (min-width: 768px) {
  .mw_wp_form_preview .form__confirm {
    font-size: 1.8rem;
    padding: 4rem 0 6rem;
    text-align: center;
  }
}

.mw_wp_form_preview .form__confirm span {
  display: inline-block;
}

.mw_wp_form_preview .form__errorWrap {
  margin-left: 2rem;
}

.mw_wp_form_preview .form__btn._back {
  display: block;
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .mw_wp_form_preview .form__btn._back {
    margin-top: 6rem;
  }
}

.form__verification {
  padding-top: 20%;
  text-align: center;
}

.form__verificationText {
  font-size: 1.8rem;
}

.vertification__btn {
  margin-top: 6rem;
}

.header {
  background-color: #CFEAEB;
  height: 4.5rem;
  left: 0;
  position: fixed;
  top: 0;
  transition: background-color 0.3s ease-in 0s;
  width: 100%;
  z-index: 140;
}
@media screen and (min-width: 768px) {
  .header {
    border-bottom: none;
    height: 9rem;
    padding: 0;
  }
}

.header.js-active {
  background-color: rgba(207, 234, 235, 0.9);
  box-shadow: 0.2rem 0.2rem 0.4rem rgba(0, 8, 42, 0.2);
}
@media screen and (min-width: 768px) {
  .header.js-active {
    background-color: rgba(207, 234, 235, 0.6);
  }
}

.header__inner {
  align-items: center;
  display: flex;
  flex-direction: row;
  height: inherit;
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  max-width: 192rem;
  padding: 0.7rem 0 0.8rem 1rem;
  position: relative;
  transition: all 0.3s ease-in 0s;
}
@media screen and (min-width: 768px) {
  .header__inner {
    padding: 1rem 2rem 1rem 0;
  }
}

@media screen and (min-width: 768px) {
  .header__inner._under {
    justify-content: space-between;
    padding: 2rem 2rem;
  }
}

.header__logo {
  line-height: 1;
  width: 16rem;
  z-index: 220;
}
@media screen and (min-width: 768px) {
  .header__logo {
    transition: all 0.3s ease-in 0s;
    width: 9rem;
  }
}

@media screen and (min-width: 768px) {
  .header__logo:hover {
    opacity: 0.6;
  }
}

.header__logo img {
  vertical-align: unset;
}

@media screen and (min-width: 768px) {
  .header__logo:hover a {
    opacity: 1;
  }
}

.header__logoUnder {
  max-width: 20rem;
  position: relative;
  width: 100%;
  z-index: 220;
}

@media screen and (min-width: 768px) {
  .header__logoUnder a {
    margin-top: 0.6rem;
  }
}

@media screen and (min-width: 768px) {
  .header__btn {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .header__nav {
    align-items: center;
    display: flex;
    font-weight: 700;
    height: inherit;
    justify-content: flex-end;
    max-width: 90rem;
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .header__list {
    align-items: center;
    display: flex;
    height: inherit;
  }
}

@media screen and (min-width: 768px) {
  .header__item._arrow {
    position: relative;
  }
}

@media screen and (min-width: 768px) {
  .header__item._arrow:hover {
    opacity: 1;
  }
}

@media screen and (min-width: 768px) {
  .header__item._arrow::after {
    -webkit-transform: translateX(-50%);
    border-color: transparent transparent #FFF transparent;
    border-style: solid;
    border-width: 0 1.5rem 3rem 1.5rem;
    bottom: -6.5rem;
    content: "";
    display: block;
    height: 0;
    left: 50%;
    opacity: 0;
    position: absolute;
    transform: translateX(-50%);
    transition: opacity 0.4s;
    width: 0;
    z-index: 9;
  }
}

.header__item:hover._arrow::after {
  opacity: 1;
}

@media screen and (min-width: 768px) {
  .header__item > a,
.header__item > span {
    color: #2A0800;
    font-size: 1.4rem;
    font-weight: 700;
    padding: 0 1rem;
    text-transform: uppercase;
    transition: all 0.3s ease-in 0s;
  }
}
@media screen and (min-width: 1366px) {
  .header__item > a,
.header__item > span {
    padding: 0 1.5rem;
  }
}

@media screen and (min-width: 768px) {
  .header__inner._under .header__item > a,
.header__inner._under .header__item > span {
    color: inherit;
  }
}

@media screen and (min-width: 768px) {
  .header__item > a:hover,
.header__item > span:hover,
.header__inner._under .header__item > a:hover,
.header__inner._under .header__item > span:hover {
    color: #2DACC6;
    opacity: 1;
  }
}

@media screen and (min-width: 768px) {
  .header__contact,
.header__recruit {
    max-width: 12rem;
    text-align: center;
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .header__recruit {
    margin-left: 1rem;
  }
}

@media screen and (min-width: 768px) {
  .header__contact a,
.header__recruit a {
    background-color: transparent;
    display: block;
    font-size: 1.4rem;
    padding: 1.4rem 1rem 1.3rem;
    transition: all 0.3s ease-in 0s;
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .header__contact a {
    color: #FFF;
  }
}

@media screen and (min-width: 768px) {
  .header__recruit a {
    background-color: #19ae19;
    border: 1px solid transparent;
    color: #FFF;
  }
}

@media screen and (min-width: 768px) {
  .header__recruit:hover a {
    background-color: #FFF;
    border: 1px solid #2A0800;
    color: #2A0800;
  }
}

@media screen and (min-width: 768px) {
  .header__inner._under .header__recruit:hover a {
    background-color: #20ADC7;
    border: 1px solid #20ADC7;
    color: #FFF;
  }
}

@media screen and (min-width: 768px) {
  .header__contact {
    margin-left: 1rem;
  }
}

@media screen and (min-width: 768px) {
  .header__contact a {
    background-color: #20ADC7;
    border: 1px solid #20ADC7;
    position: relative;
  }
}

@media screen and (min-width: 768px) {
  .header__contact a:hover {
    background-color: #FFF;
    color: #20ADC7;
  }
}

@media screen and (min-width: 768px) {
  .header__language {
    margin-left: 1rem;
    padding: 0.2rem 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

@media screen and (min-width: 768px) {
  .header__language a {
    display: block;
    font-size: 1.2rem;
    line-height: 1;
    padding: 0.4rem 1rem;
    position: relative;
  }
}

@media screen and (min-width: 768px) {
  .header__language a:hover {
    background-color: #FFF;
    color: #20ADC7;
  }
}

@media screen and (min-width: 768px) {
  .header__inner._under .header__contact a {
    border: 1px solid #20ADC7;
    color: #FFF;
  }
}
@media screen and (min-width: 768px) {
  .header__inner._under .header__contact a:hover {
    background-color: #FFF;
    color: #20ADC7;
  }
}

@media screen and (min-width: 768px) {
  .header__modal {
    -webkit-transform: translateX(-50%);
    -webkit-transform-origin: 0 0;
    background-color: #FFF;
    display: flex;
    flex-direction: row;
    left: 50%;
    margin: 0 auto;
    max-width: 110rem;
    opacity: 0;
    position: fixed;
    top: 11rem;
    transform: translateX(-50%);
    transform-origin: 0 0;
    transition: all 0.3s;
    visibility: hidden;
    width: 100%;
    z-index: 230;
  }
}

@media screen and (min-width: 768px) {
  .header__modal.js-active {
    top: 11rem;
  }
}

@media screen and (min-width: 768px) {
  .header__item:hover > .header__modal {
    -webkit-transform: translateX(-50%);
    opacity: 1;
    transform: translateX(-50%);
    visibility: visible;
  }
}

@media screen and (min-width: 768px) {
  .header__modalTitle a {
    align-items: center;
    background-color: #56C1D5;
    color: #FFF;
    display: flex;
    font-size: 1.6rem;
    font-weight: 700;
    height: 100%;
    justify-content: center;
    position: relative;
    transition: opacity 0.3s ease-in 0s;
    width: 100%;
  }
}

.header__modalTitle {
  display: block;
  width: 16.3%;
}

@media screen and (min-width: 768px) {
	.header__modalTitle a {
		transition: all 0.3s ease-in 0s;		
	}
	.header__modalTitle a:hover {
    opacity: 1;
		transition: all 0.3s ease-in 0s;
		background-color: #fff;
		color: #2DACC6;
		border: 1px solid #2DACC6;
		box-sizing: border-box;
  }	
}

@media screen and (min-width: 768px) {
  .header__modalTitle a::after {
		transition: all 0.3s ease-in 0s;
    background: url(../../ichinomiya-denki/img/common/arrow-right-white.svg) no-repeat center/cover;
    content: "";
    display: inline-block;
    height: 1.6rem;
    margin-left: 2rem;
    width: 1.4rem;
  }	
  .header__modalTitle a:hover::after {
    background: url(../../ichinomiya-denki/img/common/arrow-right-aqua.svg) no-repeat center/cover;
  }	
	
}

@media screen and (min-width: 768px) {
  .header__listLv2 {
    -ms-grid-columns: 1fr 3rem 1fr 3rem 1fr;
    display: -ms-grid;
    display: grid;
    gap: 2rem 3rem;
    grid-template-columns: repeat(3, 1fr);
    padding: 3.4rem 4rem;
    width: 83.7%;
  }
}

@media screen and (min-width: 768px) {
  .header__itemLv2 {
    position: relative;
    width: 26rem;
  }
}

@media screen and (min-width: 768px) {
  .header__itemLv2 a {
    display: block;
    font-weight: 400;
    position: relative;
    transition: all 0.3s ease-in 0s;
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .header__thumb {
    overflow: hidden;
    position: relative;
  }
}

@media screen and (min-width: 768px) {
  .header__thumb::before {
    -webkit-transform: scale(0, 1);
    -webkit-transform-origin: right top;
    background-color: rgba(86, 193, 213, 0.6);
    content: "";
    display: block;
    height: 100%;
    left: 0;
    margin: auto;
    position: absolute;
    top: 0;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    width: 100%;
    z-index: 1;
  }
}

@media screen and (min-width: 768px) {
  .header__itemLv2:hover .header__thumb {
    opacity: 1;
  }
}

@media screen and (min-width: 768px) {
	/**/
  .header__itemLv2:hover .header__thumb::before {
    /*-webkit-transform-origin: left top;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    transform-origin: left top;*/
  }
	
	.header__itemLv2 {
		overflow: hidden;
	}
	
  .header__itemLv2 a img {
	  height: auto;
	  transition: transform .3s ease; /* ゆっくり変化させる */
	}
  .header__itemLv2 a img:hover {
		transform: scale(1.2);
	}

}

@media screen and (min-width: 768px) {
  .header__thumb img {
    -o-object-fit: cover;
    -o-object-position: center;
    aspect-ratio: 260/120;
    height: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .header__itemLv2Title {
    font-size: 1.4rem;
    padding: 0.7rem 0 0.6rem;
    position: relative;
    text-align: center;
  }
}

.inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 520px;
  padding-left: 20px;
  padding-right: 20px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .inner {
    max-width: 1150px;
    padding-left: 25px;
    padding-right: 25px;
  }
}

.inner._narrow {
  max-width: 520px;
}
@media screen and (min-width: 768px) {
  .inner._narrow {
    max-width: 950px;
  }
}

.js-fadeUp,
.js-fadeUp2,
.js-fadeUp3 {
  -webkit-transform: translateY(2rem);
  opacity: 0;
  transform: translateY(2rem);
  transition: opacity 0.8s, -webkit-transform 0.8s;
  transition: opacity 0.8s, transform 0.8s;
  transition: opacity 0.8s, transform 0.8s, -webkit-transform 0.8s;
}

.js-fadeUp.js-inview,
.js-fadeUp2.js-inview,
.js-fadeUp3.js-inview {
  -webkit-transform: translateY(0rem);
  opacity: 1;
  transform: translateY(0rem);
}

.js-fadeUp.js-inview {
  transition-delay: 0.3s;
}

.js-fadeUp2.js-inview {
  transition-delay: 0.4s;
}

.js-fadeUp3.js-inview {
  transition-delay: 0.5s;
}

.js-fadeRight {
  -webkit-transform: translateX(3rem);
  opacity: 0;
  transform: translateX(3rem);
  transition: opacity 0.8s, -webkit-transform 0.8s;
  transition: opacity 0.8s, transform 0.8s;
  transition: opacity 0.8s, transform 0.8s, -webkit-transform 0.8s;
}

.js-fadeRight.js-inview {
  -webkit-transform: translateX(0rem);
  opacity: 1;
  transform: translateX(0rem);
  transition-delay: 0.5s;
}

.js-fadeRight2 {
  -webkit-transform: translateX(3rem);
  opacity: 0;
  transform: translateX(3rem);
  transition: opacity 0.8s, -webkit-transform 0.8s;
  transition: opacity 0.8s, transform 0.8s;
  transition: opacity 0.8s, transform 0.8s, -webkit-transform 0.8s;
}

.js-fadeRight2.js-inview {
  -webkit-transform: translateX(0rem);
  opacity: 1;
  transform: translateX(0rem);
  transition-delay: 0.8s;
}

.js-fadeLeft {
  -webkit-transform: translateX(-3rem);
  opacity: 0;
  transform: translateX(-3rem);
  transition: opacity 0.8s, -webkit-transform 0.8s;
  transition: opacity 0.8s, transform 0.8s;
  transition: opacity 0.8s, transform 0.8s, -webkit-transform 0.8s;
}

.js-fadeLeft.js-inview {
  -webkit-transform: translateX(0rem);
  opacity: 1;
  transform: translateX(0rem);
  transition-delay: 0.5s;
}

.js-fadeLeft2 {
  -webkit-transform: translateX(-3rem);
  opacity: 0;
  transform: translateX(-3rem);
  transition: opacity 0.8s, -webkit-transform 0.8s;
  transition: opacity 0.8s, transform 0.8s;
  transition: opacity 0.8s, transform 0.8s, -webkit-transform 0.8s;
}

.js-fadeLeft2.js-inview {
  -webkit-transform: translateX(0rem);
  opacity: 1;
  transform: translateX(0rem);
  transition-delay: 0.8s;
}

.js-color.js-inview {
  color: blue;
  transition-delay: 1.5s;
}

.gnav {
  background-color: rgba(207, 234, 235, 0.9);
  height: 0;
  left: 0;
  opacity: 0;
  overflow: hidden;
  position: fixed;
  top: 0;
  transition: all 0.3s ease-in 0s;
  visibility: hidden;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .gnav {
    display: none;
  }
}

.gnav.js-active {
  height: 100dvh;
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
  opacity: 1;
  padding-bottom: 2rem;
  padding-top: 4.5rem;
  visibility: visible;
  z-index: 200;
}

body.js-fixed {
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
}

.gnav__list {
  height: 85vh;
  height: 85dvh;
  margin: 0 auto;
  max-width: 48rem;
  overflow-y: scroll;
  position: relative;
  width: 100%;
}

.gnav__item {
  background-color: rgba(188, 181, 177, 0.6);
  color: #FFF;
  position: relative;
  text-shadow: 1px 1px 2px rgba(112, 99, 96, 0.6);
}

.gnav__item:not(:last-of-type) {
  border-bottom: 1px dotted #FFF;
}

.gnav__item a {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  padding: 1.6rem 2rem;
  position: relative;
  text-transform: uppercase;
  width: 100%;
}

.gnav__item a::after {
  -webkit-transform: rotate(45deg) translateY(-50%);
  background-color: transparent;
  border-right: 2px solid #FFF;
  border-top: 2px solid #FFF;
  content: "";
  display: inline-block;
  height: 1rem;
  margin-left: auto;
  margin-right: 0;
  position: absolute;
  right: 3.5rem;
  top: 50%;
  transform: rotate(45deg) translateY(-50%);
  width: 1rem;
}

.gnav__item._accordion {
  padding: 1.6rem 2rem;
}

.gnav__item._accordion span,
.gnav__item._accordion p a {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 700;
  padding: 0;
}

.gnav__item._accordion p {
  width: 90%;
}

.gnav__item._accordion p a::after {
  content: none;
}

.gnav__btn {
  background-color: #FFF;
  border: 2px solid #20ADC7;
  display: block;
  height: 1.8rem;
  padding: 0.2rem;
  position: absolute;
  right: 1.6rem;
  top: 2rem;
  width: 1.8rem;
}

.gnav__btn::before,
.gnav__btn::after {
  -webkit-transform: translateY(-50%);
  background-color: #20ADC7;
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.gnav__btn::before {
  height: 1rem;
  right: 0.6rem;
  transition: all 0.3s ease-in 0s;
  width: 0.2rem;
}

.gnav__btn::after {
  height: 0.2rem;
  right: 0.2rem;
  width: 1rem;
}

.gnav__btn.js-open::before {
  -webkit-transform: rotate(-90deg) translate(6px, 2px);
  opacity: 0;
  transform: rotate(-90deg) translate(6px, 2px);
}

.gnav__listLv2 {
  display: none;
  margin-top: 1rem;
}

.gnav__itemLv2 {
  position: relative;
}

.gnav__itemLv2 a {
  display: block;
  font-size: 1.5rem;
  font-weight: 400;
}

.gnav__btnWrap {
  background-color: rgba(188, 181, 177, 0.6);
  display: flex;
  font-weight: 700;
  justify-content: center;
  padding: 2rem;
}

.gnav__recruit {
  max-width: 12rem;
  text-align: center;
  width: 100%;
}

.gnav__recruit a {
  background-color: transparent;
  border: 1px solid #2A0800;
  color: #2A0800;
  display: block;
  font-size: 1.4rem;
  padding: 1.4rem 1rem 1.3rem;
  width: 100%;
}

.gnav__contact {
  margin-left: 3rem;
  max-width: 12rem;
  text-align: center;
  width: 100%;
}

.gnav__contact a {
  background-color: #20ADC7;
  color: #FFF;
  display: block;
  font-size: 1.4rem;
  padding: 1.5rem 1rem 1.4rem;
  position: relative;
  transition: all 0.3s ease-in 0s;
}

.gnav__language {
  background-color: rgba(188, 181, 177, 0.6);
  padding: 0 2rem 2rem;
  width: 100%;
}

.gnav__languageInner {
  display: flex;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .gnav__languageInner {
    width: 80%;
  }
}

.gnav__language a {
  border: 1px solid #20ADC7;
  display: inline-block;
  line-height: 1;
  padding: 1.5rem 1.8rem;
  position: relative;
}

.gnav__language a + a {
  margin-left: 2rem;
}

.hamburgerBtn {
  background-color: #20ADC7;
  height: 4.5rem;
  padding: 0;
  position: relative;
  transition: all 0.3s ease-in 0s;
  width: 4.5rem;
  z-index: 220;
}
@media screen and (min-width: 768px) {
  .hamburgerBtn {
    display: none;
  }
}

.bar {
  -webkit-transform: translate(-50%, -50%);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-color: #FFF;
  display: block;
  height: 0.2rem;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition-duration: 0.3s;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  width: 2rem;
}

.bar:nth-of-type(2) {
  margin-top: -0.7rem;
}

.bar:nth-of-type(3) {
  margin-top: 0.7rem;
}

.hamburgerBtn.js-active .bar {
  margin-top: 0;
}

.hamburgerBtn.js-active .bar:nth-of-type(1) {
  width: 0rem;
}

.hamburgerBtn.js-active .bar:nth-of-type(2) {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}

.hamburgerBtn.js-active .bar:nth-of-type(3) {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}

.padding._section {
  padding-bottom: 8rem;
  padding-top: 8rem;
}
@media screen and (min-width: 768px) {
  .padding._section {
    padding-bottom: 15rem;
    padding-top: 15rem;
  }
}

.padding._underPage {
  padding-bottom: 5rem;
  padding-top: 6rem;
}
@media screen and (min-width: 768px) {
  .padding._underPage {
    padding-bottom: 10rem;
    padding-top: 13rem;
  }
}

.padding._underSection {
  padding-bottom: 6rem;
  padding-top: 6rem;
}
@media screen and (min-width: 768px) {
  .padding._underSection {
    padding-bottom: 12rem;
    padding-top: 8rem;
  }
}

@media screen and (min-width: 768px) {
  .padding._underSection._100 {
    padding-bottom: 10rem;
  }
}

.pageLinks {
  -webkit-column-gap: 2rem;
  -moz-column-gap: 2rem;
  align-items: center;
  column-gap: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  row-gap: 3rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .pageLinks {
    flex-direction: row;
  }
}

@media screen and (min-width: 768px) {
  .company__linksWrap .pageLinks {
    flex-wrap: wrap;
  }
}

.pageLink {
  display: inline-block;
  min-height: 6rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .pageLink {
    min-height: 8rem;
  }
}

.pageLink._w352 {
  width: 33.5rem;
}
@media screen and (min-width: 768px) {
  .pageLink._w352 {
    width: 35.2rem;
  }
}

.pageLink._w258 {
  position: relative;
  width: 33.5rem;
}
@media screen and (min-width: 768px) {
  .pageLink._w258 {
    width: 25.8rem;
  }
}

.pageLink__btn {
  background-color: #FFF;
  border: 1px solid #20ADC7;
  display: inline-block;
  font-size: 1.5rem;
  font-weight: 700;
  height: inherit;
  min-height: 6rem;
  overflow: hidden;
  padding: 1.8rem 2rem;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .pageLink__btn {
    font-size: 1.6rem;
    padding: 2.8rem 2rem;
    transition: color 0.3s ease-in 0s;
    z-index: 1;
  }
}

@media screen and (min-width: 768px) {
  .pageLink__btn::before {
    -webkit-transform: scale(0, 1);
    -webkit-transform-origin: right top;
    background-color: #20ADC7;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    margin: auto;
    position: absolute;
    top: 0;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    width: 100%;
    z-index: -1;
  }
}

@media screen and (min-width: 768px) {
  .pageLink__btn:hover::before {
    -webkit-transform-origin: left top;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    transform-origin: left top;
  }
}

.pageLink__btn::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
  background-image: url(../../ichinomiya-denki/img/common/arrow-right-red.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: inline-block;
  height: 1.6rem;
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  width: 1.4rem;
}
@media screen and (min-width: 768px) {
  .pageLink__btn::after {
    transition: background-image 0.3s ease-in 0s;
  }
}

@media screen and (min-width: 768px) {
  .pageLink__btn:hover {
    color: #FFF;
  }
}

@media screen and (min-width: 768px) {
  .pageLink__btn:hover::after {
    background-image: url(../../ichinomiya-denki/img/common/arrow-right-white.svg);
  }
}

.sectionTitle {
  display: block;
  font-weight: 700;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .sectionTitle a {
    transition: opacity 0.3s ease-in 0s;
  }
}

@media screen and (min-width: 768px) {
  .sectionTitle a:hover {
    opacity: 0.6;
  }
}

.sectionTitle .sub {
  display: block;
  font-family: "Geologica", sans-serif;
  font-size: 3.8rem;
  font-weight: 700;
  position: relative;
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  .sectionTitle .sub {
    font-size: 9.2rem;
  }
}

.sectionTitle .main {
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  position: relative;
}
@media screen and (min-width: 768px) {
  .sectionTitle .main {
    font-size: 3rem;
  }
}

.sectionTitle .main::after {
  background: url(../../ichinomiya-denki/img/common/arrow-right-white.svg) no-repeat center/cover;
  content: "";
  display: inline-block;
  height: 1.3rem;
  margin-left: 2rem;
  width: 1.2rem;
}
@media screen and (min-width: 768px) {
  .sectionTitle .main::after {
    height: 1.7rem;
    width: 1.4rem;
  }
}

/*---------------------------------
single-content default
---------------------------------*/
.wp-block-gallery,
.wp-block-media-text,
.wp-block-table {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .wp-block-gallery,
.wp-block-media-text,
.wp-block-table {
    margin-top: 6rem;
  }
}

.wp-block-table table {
  border: 0.2rem solid #ccc;
  border-collapse: collapse;
}

.wp-block-table table caption {
  font-size: 2.4rem;
  margin-top: 2.4rem;
  text-align: center;
}

.wp-block-table table th,
.wp-block-table table td {
  border: 0.1rem solid #ccc;
}

.wp-block-table table thead {
  border-bottom: 0.2rem solid #ccc;
}

.wp-block-table table thead th,
.wp-block-table table thead td {
  padding: 0.6rem 0.8rem;
}

.wp-block-table table thead th:first-child {
  width: 9.6rem;
}

.wp-block-table table thead th:nth-child(2) {
  width: 9.6rem;
}

.wp-block-table table tbody th,
.wp-block-table table tbody td {
  padding: 0.4rem 0.8rem;
}

.wp-block-table table tbody tr:nth-child(even) {
  background-color: #239846;
}

.wp-block-quote,
.wp-block-pullquote blockquote {
  background-color: #239846;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-top: 5rem;
  padding-bottom: 1.7rem;
  padding-left: 6.7rem;
  padding-right: 4.6rem;
  padding-top: 2.5rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .wp-block-quote,
.wp-block-pullquote blockquote {
    margin-top: 4rem;
  }
}

.wp-block-quote::before,
.wp-block-pullquote blockquote::before {
  color: #B4B4B4;
  content: "“";
  font-size: 9rem;
  left: 1.4rem;
  position: absolute;
  top: -2rem;
}

.wp-block-quote p,
.wp-block-pullquote blockquote p {
  font-size: 1.6rem;
  margin-top: 0;
  padding-top: 1.6rem;
}

.wp-block-quote p:first-of-type,
.wp-block-pullquote blockquote p:first-of-type {
  padding-top: 0;
}

.wp-block-quote cite,
.wp-block-pullquote blockquote cite {
  font-size: 1.6rem;
  margin-top: 2rem;
  text-align: right;
}

.wp-block-pullquote blockquote {
  margin-top: 0;
}

.wp-block-image {
  height: auto;
  margin: 5rem auto 0;
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .wp-block-image {
    margin-top: 5rem;
  }
}

.wp-element-caption {
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .wp-element-caption {
    font-size: 1.8rem;
  }
}

.single-content p img {
  height: auto;
  max-width: 100%;
}

.single-content h1 {
  border-bottom: 1px solid #D6D6D6;
  font-size: 2.2rem;
  font-weight: 700;
  padding-bottom: 2.8rem;
}
@media screen and (min-width: 768px) {
  .single-content h1 {
    font-size: 2.6rem;
    padding-bottom: 3.4rem;
  }
}

.single-content h2 {
  border-left: 0.4rem solid #20ADC7;
  font-size: 2.1rem;
  font-weight: 700;
  margin-top: 5rem;
  padding-left: 1.6rem;
}
@media screen and (min-width: 768px) {
  .single-content h2 {
    font-size: 2.4rem;
  }
}

.single-content h3 {
  border-bottom: 1.8px solid #20ADC7;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.35;
  margin-top: 5rem;
  padding-bottom: 0.6rem;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
@media screen and (min-width: 768px) {
  .single-content h3 {
    font-size: 2.2rem;
  }
}

.single-content h4 {
  font-size: 1.9rem;
  font-weight: 700;
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .single-content h4 {
    font-size: 2.1rem;
    margin-top: 5rem;
  }
}

.single-content h5 {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.35;
  margin-bottom: 0;
  margin-top: 5rem;
  padding-left: 1.4rem;
  position: relative;
}

.single-content h5::after {
  background-color: transparent;
  border-color: transparent transparent transparent #20ADC7;
  border-radius: 0;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  content: "";
  display: inline-block;
  height: 0;
  left: -0.2rem;
  position: absolute;
  top: 1rem;
  width: 0;
}

.single-content h6 {
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.35;
  margin-bottom: 0;
  margin-top: 5rem;
  padding-left: 1.4rem;
  position: relative;
}

.single-content h6::after {
  background-color: #20ADC7;
  content: "";
  display: block;
  height: 0.6rem;
  left: -0.2rem;
  position: absolute;
  top: 1rem;
  width: 0.6rem;
}

.single-content p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .single-content p {
    font-size: 1.8rem;
  }
}

.wordDetail__item .single-content p + p {
  margin-top: 2.4rem;
}
@media screen and (min-width: 768px) {
  .wordDetail__item .single-content p + p {
    margin-top: 2.4rem;
  }
}

.wordDetail__item .single-content p:first-child {
  margin-top: 0;
}

.single-content h2 + p {
  margin-top: 5rem;
}

.single-content dd,
.single-content dt {
  padding: 0.8rem 1.6rem;
}

.single-content dt {
  border-left: 0.2rem solid #20ADC7;
  margin-top: 2.4rem;
}

.single-content dd {
  padding-left: 3.4rem;
}

.single-content ol {
  counter-reset: ol;
}

.single-content ul,
.single-content ol {
  line-height: 1.5;
  list-style-type: none;
  margin-top: 4rem;
  padding-left: 2rem;
}
@media screen and (min-width: 768px) {
  .single-content ul,
.single-content ol {
    margin-top: 5rem;
  }
}

.single-content ul ul,
.single-content ol ol {
  margin-top: 0.8rem;
}

.single-content ul li,
.single-content ol li {
  margin-top: 2rem;
}

.single-content ol li {
  padding-left: 2rem;
}

.single-content ul > li {
  position: relative;
}

.single-content ul > li::before {
  background-color: #20ADC7;
  border-radius: 50%;
  content: "";
  display: block;
  height: 1.1rem;
  left: -2rem;
  position: absolute;
  top: 0.8rem;
  width: 1.1rem;
}

.single-content ul li ul > li {
  position: relative;
  text-decoration: none;
}

.single-content ul li ul > li::before {
  background-color: transparent;
  border-color: transparent transparent transparent #20ADC7;
  border-radius: 0;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  content: "";
  display: inline-block;
  height: 0;
  left: -1.6rem;
  position: absolute;
  top: 0.8rem;
  width: 0;
}

.single-content ul li ul li ul li {
  position: relative;
}

.single-content ul li ul li ul li::before {
  background-color: #20ADC7;
  border-radius: 5%;
  content: "";
  display: block;
  height: 1.1rem;
  left: -2rem;
  position: absolute;
  top: 0.8rem;
  width: 1.1rem;
}

.single-content ol > li {
  counter-increment: ol;
  position: relative;
}

.single-content ol li::before {
  color: #20ADC7;
  content: "0" counter(ol);
  font-weight: 700;
  left: -2rem;
  position: absolute;
  top: 0;
}

.single-content ol li ol > li::before {
  left: -2.8rem;
}

.single-content ol li ol li ol > li::before {
  left: -3.2rem;
}

.single-content a {
  color: #20ADC7;
  text-decoration: underline;
}

.single-content address {
  margin-top: 3rem;
}

#underTitle {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  padding: 6rem 0;
}
@media screen and (min-width: 768px) {
  #underTitle {
    padding: 6rem 0;
  }
}

.product__underTitle {
  background-image: url(../img/common/under-mv-product.webp);
}

.contact__underTitle {
  background-image: url(../img/common/under-mv-contact.webp);
}

.sitemap__underTitle {
  background-image: url(../img/common/under-mv-sitemap.webp);
}

.privacy__underTitle {
  background-image: url(../img/common/under-mv-privacy.webp);
}

.technology__underTitle {
  background-image: url(../img/common/under-mv-technology.webp);
}

.message__underTitle {
  background-image: url(../img/common/under-mv-message.webp);
}

.group__underTitle {
  background-image: url(../img/common/under-mv-group.webp);
}

.kaizen__underTitle {
  background-image: url(../img/common/under-mv-kaizen.webp);
}

.company__underTitle {
  background-image: url(../img/common/under-mv-company.webp);
}

.quality__underTitle {
  background-image: url(../img/common/under-mv-quality.webp);
}

.news__underTitle {
  background-image: url(../img/common/under-mv-news.webp);
}

.underTitle__lv1 {
  color: #20ADC7;
  line-height: 1;
  padding: 1.2rem 1.2rem;
}
@media screen and (min-width: 768px) {
  .underTitle__lv1 {
    padding: 1.3rem 19.6rem;
  }
}
@media screen and (min-width: 1366px) {
  .underTitle__lv1 {
    padding: 1.3rem 19.6rem;
    padding-left: calc(156px - 0.253 * (100vw - 1366px));
  }
}
@media screen and (min-width: 1920px) {
  .underTitle__lv1 {
    padding: 1.3rem 1.6rem;
  }
}

.underTitle__lv1 .sub {
  display: block;
  font-family: "Geologica", sans-serif;
  font-size: 4rem;
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  .underTitle__lv1 .sub {
    font-size: 5.5rem;
  }
}
@media screen and (min-width: 1366px) {
  .underTitle__lv1 .sub {
    font-size: 6rem;
  }
}

.underTitle__lv1 .main {
  font-size: 1.8rem;
}
@media screen and (min-width: 768px) {
  .underTitle__lv1 .main {
    font-size: 2.4rem;
  }
}

.underTitle__lv2 {
  color: #20ADC7;
  display: inline-block;
  font-size: 2.2rem;
  font-weight: 700;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .underTitle__lv2 {
    font-size: 4rem;
  }
}

.product .underTitle__lv2 + * {
  margin-top: 7rem;
}
@media screen and (min-width: 768px) {
  .product .underTitle__lv2 + * {
    margin-top: 10rem;
  }
}

.underTitle__lv2::after {
  background-color: #20ADC7;
  content: "";
  display: block;
  height: 0.4rem;
  margin: 2rem auto 0;
  width: 7rem;
}
@media screen and (min-width: 768px) {
  .underTitle__lv2::after {
    margin: 2rem auto 0;
    width: 7rem;
  }
}

.underTitle__lv3 {
  color: #2A0800;
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 700;
  /*padding-left: 3.6rem;*/
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .underTitle__lv3 {
    font-size: 3rem;
  }
}

.underTitle__lv3::before {
  background: url(../img/common/title-icon-lv3-1.svg) no-repeat center/cover;
  content: "";
  display: inline-block;
  height: 4rem;
  margin-bottom: -2.8rem;
  margin-left: -3rem;
  width: 3.2rem;
}
@media screen and (min-width: 768px) {
  .underTitle__lv3::before {
    height: 4rem;
    margin-bottom: -0.8rem;
    margin-left: 0;
    margin-right: 1.2rem;
    width: 3.2rem;
  }
}

.underTitle__lv3-1 {
  color: #20ADC7;
  display: block;
  font-size: 2.6rem;
  font-weight: 700;
  position: relative;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .underTitle__lv3-1 {
    font-size: 4rem;
  }
}

.underTitle__lv3-1::after {
  background-color: #20ADC7;
  content: "";
  display: block;
  height: 0.4rem;
  margin: 2rem auto 0;
  width: 4rem;
}
@media screen and (min-width: 768px) {
  .underTitle__lv3-1::after {
    height: 0.4rem;
    margin-top: 3rem;
    width: 7rem;
  }
}

.underTitle__lv3-2 {
  color: #2A0800;
  display: block;
  font-size: 2rem;
  font-weight: 700;
  position: relative;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .underTitle__lv3-2 {
    font-size: 3.2rem;
  }
}

.underTitle__lv3-2::after {
  background: url(../img/common/title-icon-lv3-2.svg) no-repeat center/cover;
  content: "";
  display: block;
  height: 3.2rem;
  margin-left: auto;
  margin-right: auto;
  width: 3.2rem;
}
@media screen and (min-width: 768px) {
  .underTitle__lv3-2::after {
    height: 4rem;
    width: 4rem;
  }
}

.underTitle__lv3-2._enTitle::before {
  -webkit-text-stroke: 0.12rem #20ADC7;
  -webkit-transform: translateX(-48%);
  color: transparent;
  display: block;
  font-family: "Geologica", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  left: 50%;
  position: absolute;
  text-transform: uppercase;
  top: -1rem;
  transform: translateX(-48%);
  width: 100%;
  z-index: 0;
    top: -3rem;
}
@media screen and (min-width: 480px) {
  .underTitle__lv3-2._enTitle::before {
    font-size: 2.5rem;
    top: -2rem;
  }
}
@media screen and (min-width: 768px) {
  .underTitle__lv3-2._enTitle::before {
    font-size: 5.3rem;
    top: -7rem;
  }
}

.technology__effot._bg-white .underTitle__lv3-2._enTitle::before {
  content: "product development";
}

.technology__effot._bg-red .underTitle__lv3-2._enTitle::before {
  content: "technology development";
}

.underTitle__lv3-3 {
  color: #2A0800;
  display: block;
  font-size: 2rem;
  font-weight: 700;
  position: relative;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .underTitle__lv3-3 {
    font-size: 3.2rem;
  }
}

.underTitle__lv3-3::after {
  background: url(../img/common/title-icon-lv3-3.svg) no-repeat center/cover;
  content: "";
  display: block;
  height: 4rem;
  margin-left: auto;
  margin-right: auto;
  width: 4.4rem;
}
@media screen and (min-width: 768px) {
  .underTitle__lv3-3::after {
    height: 4rem;
    width: 4.4rem;
  }
}

.underTitle__lv4 {
  border-bottom: 0.4rem solid #20ADC7;
  color: #20ADC7;
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  padding-bottom: 1.5rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .underTitle__lv4 {
    font-size: 2.4rem;
    padding-bottom: 2rem;
  }
}

.underTitle__lv4 .normal {
  font-weight: 400;
}

.underTitle__lv4-1 {
  border-bottom: 0.1rem solid #706360;
  color: #20ADC7;
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  padding-bottom: 1.5rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .underTitle__lv4-1 {
    font-size: 2.4rem;
    padding-bottom: 2rem;
  }
}

.underTitle__lv4-1 + * {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .underTitle__lv4-1 + * {
    margin-top: 2rem;
  }
}

.underTitle__wrap {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .underTitle__wrap {
    margin-top: 6rem;
  }
}

.wp-pagenavi__wrap {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  width: 33rem;
  z-index: 50;
}
@media screen and (min-width: 768px) {
  .wp-pagenavi__wrap {
    flex-direction: row;
    justify-content: center;
    width: 100%;
  }
}

.wp-pagenavi {
  margin-left: -1.6rem;
}
@media screen and (min-width: 768px) {
  .wp-pagenavi {
    margin-left: 0;
  }
}

.wp-pagenavi .page,
.wp-pagenavi .last,
.wp-pagenavi .first,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink,
.wp-pagenavi span.current,
.wp-pagenavi .back-blog,
.wp-pagenavi .page.smaller,
.wp-pagenavi .page.larger {
  align-items: center;
  background-color: #239846;
  color: #22B14C;
  display: inline-flex;
  font-size: 1.4rem;
  font-weight: 700;
  height: 4.4rem;
  justify-content: center;
  margin-left: 1.6rem;
  padding: 0.2rem 0.4rem 0.2rem;
  text-align: center;
  text-decoration: none;
  transition: all 0.3s ease-in 0s;
  width: 4.4rem;
}
@media screen and (min-width: 768px) {
  .wp-pagenavi .page,
.wp-pagenavi .last,
.wp-pagenavi .first,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink,
.wp-pagenavi span.current,
.wp-pagenavi .back-blog,
.wp-pagenavi .page.smaller,
.wp-pagenavi .page.larger {
    font-size: 1.6rem;
    height: 5.4rem;
    margin-left: 1.6rem;
    width: 5.4rem;
  }
  .wp-pagenavi .page:hover,
.wp-pagenavi .last:hover,
.wp-pagenavi .first:hover,
.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .nextpostslink:hover,
.wp-pagenavi span.current:hover,
.wp-pagenavi .back-blog:hover,
.wp-pagenavi .page.smaller:hover,
.wp-pagenavi .page.larger:hover {
    background-color: #22B14C;
    color: #FFF;
    opacity: 1;
  }
}

.wp-pagenavi .first,
.wp-pagenavi .last {
  display: none;
}
@media screen and (min-width: 768px) {
  .wp-pagenavi .first,
.wp-pagenavi .last {
    align-items: center;
    display: inline-flex;
    justify-content: center;
  }
}

.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink,
.wp-pagenavi span.current {
  background-color: #22B14C;
  color: #FFF;
}

.wp-pagenavi .pages {
  display: none;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  display: none;
}

.single-columnContent .back-listWrap a,
.single-columnContent .previousPost a,
.single-columnContent .nextPost a {
  border-radius: 4px;
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1;
  padding: 2.2rem 1rem 2.1rem;
  text-align: center;
  text-decoration: none;
  width: 28rem;
}
@media screen and (min-width: 768px) {
  .single-columnContent .back-listWrap a,
.single-columnContent .previousPost a,
.single-columnContent .nextPost a {
    transition: all 0.3s ease-in 0s;
    width: 20rem;
  }
}

.single-columnContent .previousPost a,
.single-columnContent .nextPost a {
  background-color: #FFF;
  border: 2px solid #22B14C;
  color: #22B14C;
  position: relative;
}
.single-columnContent .back-listWrap a {
  background-color: #22B14C;
  border: 2px solid transparent;
  color: #FFF;
}
@media screen and (min-width: 768px) {
  .single-columnContent .previousPost a:hover,
.single-columnContent .nextPost a:hover {
    background-color: #22B14C;
    color: #FFF;
  }
}

@media screen and (min-width: 768px) {
  .single-columnContent .back-listWrap a:hover {
    background-color: #FFF;
    border: 2px solid #22B14C;
    color: #22B14C;
  }
}

.single-columnContent .back-listWrap {
  margin: 0 3rem;
  padding: 4rem 0;
}

span.extend {
  border: none;
  padding: 0;
}
@media screen and (min-width: 768px) {
  span.extend {
    padding: 0.3rem 1.2rem;
  }
}

.wp-pagenavi span.extend {
  display: none;
}
@media screen and (min-width: 768px) {
  .wp-pagenavi span.extend {
    color: #22B14C;
    display: inline-block;
  }
}

.single-columnContent .previousPost a::before,
.single-columnContent .nextPost a::before {
  background-color: transparent;
  border-right: 2px solid #22B14C;
  border-top: 2px solid #22B14C;
  content: "";
  display: inline-block;
  height: 0.8rem;
  position: absolute;
  top: 50%;
  width: 0.8rem;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .single-columnContent .previousPost a::before,
.single-columnContent .nextPost a::before {
    height: 1rem;
    transition: all 0.3s ease-in 0s;
    width: 1rem;
  }
}

@media screen and (min-width: 768px) {
  .previousPost a:hover::before,
.nextPost a:hover::before {
    border-right: 2px solid #FFF;
    border-top: 2px solid #FFF;
  }
}

.single-columnContent .previousPost a::before {
  -webkit-transform: translateY(-50%) rotate(-135deg);
  left: 1.2rem;
  transform: translateY(-50%) rotate(-135deg);
}
@media screen and (min-width: 768px) {
  .single-columnContent .previousPost a::before {
    left: 2rem;
  }
}

.single-columnContent .nextPost a::before {
  -webkit-transform: translateY(-50%) rotate(45deg);
  right: 1.2rem;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (min-width: 768px) {
  .single-columnContent .nextPost a::before {
    right: 2rem;
  }
}
/*# sourceMappingURL=sourcemaps/style.css.map */