body {
    background-color: #fff;
    background-image: radial-gradient(#e8f2f8 30%, transparent 30%);
    background-size: 25px 25px;
    z-index: 0;
}
@font-face {
    font-family: 'Font Awesome 5 Brands';
    font-style: normal;
    font-weight: 900;
    src: url("../webfonts/fontawesome-pro-brands-900.eot");
    src: url("../webfonts/fontawesome-pro-brands-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fontawesome-pro-brands-900.woff2") format("woff2"), url("../webfonts/fontawesome-pro-brands-900.woff") format("woff"), url("../webfonts/fontawesome-pro-brands-900.ttf") format("truetype"), url("../webfonts/fontawesome-pro-brands-900.svg#fontawesome") format("svg");
}

@font-face {
    font-family: 'Font Awesome 5 Light';
    font-style: normal;
    font-weight: 300;
    src: url("../webfonts/fontawesome-pro-light-300.eot");
    src: url("../webfonts/fontawesome-pro-light-300.eot?#iefix") format("embedded-opentype"), url("../webfonts/fontawesome-pro-light-300.woff2") format("woff2"), url("../webfonts/fontawesome-pro-light-300.woff") format("woff"), url("../webfonts/fontawesome-pro-light-300.ttf") format("truetype"), url("../webfonts/fontawesome-pro-light-300.svg#fontawesome") format("svg");
}

@font-face {
    font-family: 'Font Awesome 5 Regular';
    font-style: normal;
    font-weight: 400;
    src: url("../webfonts/fontawesome-pro-regular-400.eot");
    src: url("../webfonts/fontawesome-pro-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fontawesome-pro-regular-400.woff2") format("woff2"), url("../webfonts/fontawesome-pro-regular-400.woff") format("woff"), url("../webfonts/fontawesome-pro-regular-400.ttf") format("truetype"), url("../webfonts/fontawesome-pro-regular-400.svg#fontawesome") format("svg");
}

@font-face {
    font-family: 'Font Awesome 5 Solid';
    font-style: normal;
    font-weight: 900;
    src: url("../webfonts/fontawesome-pro-solid-900.eot");
    src: url("../webfonts/fontawesome-pro-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fontawesome-pro-solid-900.woff2") format("woff2"), url("../webfonts/fontawesome-pro-solid-900.woff") format("woff"), url("../webfonts/fontawesome-pro-solid-900.ttf") format("truetype"), url("../webfonts/fontawesome-pro-solid-900.svg#fontawesome") format("svg");
}
.flexslider {
    background: none;
    width: 100% !important;
    margin: 3em 0;
}
.inner{
  max-width: 1110px;
  width: 100%;
  margin: 0 auto;
}

@media screen and (max-width: 1110px){
  .inner{
    padding: 0 10px;
  }
}
main{
  position: relative;
  overflow: hidden;
}
.rainbow {
    position: absolute;
    z-index: -1;
    top: 0px;
    right: 0;
}
.rainbow img{
  width: 100%;
}
.z-i {
    z-index: -3;
    position: relative;
}
.rainbow-2 {
    position: absolute;
    left: -200em;
    transition: 2s;
}
.scrollin2 .rainbow-2{
    left: 0;
}
/* CSSアニメーションの指定 */
.Headline{
    animation: scroll-bg 1s ease 0s 1 normal forwards;
} 
  @keyframes scroll-bg{
    0% {
      width: 0%;
    }
    100% {
      width: 100%;
    }
  } 


/* CSSアニメーションの設定 */
@keyframes SlideIn {
  0% {
    opacity: 0;/*初期状態では透明に*/
    transform : translate(0, 90px);
    transition : all 1s;
  }
  100% {
    opacity: 1;
    transform : translate(0, 0);
  }
}


/* fadein アニメーション */
  .fadein {
    opacity : 0;
    transform : translate(0, 20px);
    transition : all 1s;
  }

  .fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
  }

/* fadein アニメーション */
  .fadein2 {
  }
  .fadein2 img{
    width: 0px;  
    transition : all 1s;  
  }
  .fadein2.scrollin2 {
  } 
  .fadein2.scrollin2 img{
    width: 100%;
}


.top-dl-1 {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1em;
    align-items: flex-start;
    margin-top: 1em;
}
.top-dl-1 a{
    display: block;
    width: 48%;
}
.top-dl-1 dt{
    width: 100%;
    border: 2px solid #000;
    padding: 1.5em 0 1.5em 1.5em;
    position: relative;
}
.top-dl-1 dt h2{
    font-size: 2em;
    color: #fff;
    font-weight: bold;
}
.top-dl-1 dt h2 span{
    display: block;
    font-size: 0.5em;
}
.top-dl-1 dt p{
    font-size: 1.3em;
    font-weight: bold;
    padding-top: 1em;
    color: #000;
}
.top-dl-1 dt:before {
    content: "";
    position: absolute;
    background: #5594d8;
    width: 101%;
    height: 101%;
    left: 6px;
    top: 6px;
    z-index: -1;
}
.top-dl-1 dd{
    width: 100%;
    border: 2px solid #000;
    padding: 1.5em 0 1.5em 1.5em;
    position: relative;
}
.top-dl-1 dd h2{
    font-size: 2em;
    color: #fff;
    font-weight: bold;
}
.top-dl-1 dd h2 span{
    display: block;
    font-size: 0.5em;
}
.top-dl-1 dd p{
    font-size: 1.3em;
    font-weight: bold;
    padding-top: 1em;
    color: #000;
}
.top-dl-1 dd:before {
    content: "";
    position: absolute;
    background: #e2b500;
    width: 101%;
    height: 101%;
    left: 6px;
    top: 6px;
    z-index: -1;
}
.top-dl-2{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.top-dl-2 li:nth-child(1){
  padding-right: 2em;
  border-right: 2px solid #000;
  width: 90%;
}
.top-dl-2 li:nth-child(2){
    width: 10%;
    margin-left: 1.5em;
    position: relative;
}
.top-dl-2 li:nth-child(2):after{
    font-family: 'Font Awesome 5 Regular';
    content: '\f054';
    display: inline-block;
    background-repeat: no-repeat;
    width: 20px;
    padding-left: 0%;
    font-size: 3em;
    color: #000;    
}
.inner a{
    text-decoration: none;
}
.inner dl a:hover{
    opacity: 0.8;
}
.top-company {
    margin: 0 auto 1em;
    padding: 0em 0;
}
.top-company a{
    display: block;
    color: #000;
    padding-right: 3em;
}
.top-company dl {
    display: flex;
    justify-content: space-between;
    position: relative;
    border: 2px solid #000;
    padding: 1.5em;
}
.top-company dl:before {
    content: "";
    position: absolute;
    background: #ede8e1;
    width: 101%;
    height: 101%;
    left: 6px;
    top: 6px;
    z-index: -1;
}
.top-company dl dt{
    width: 30%;
}
.top-company dl dd{
    width: 63%;
}
.top-company dl dd h2 {
    font-size: 2em;
    color: #464fd7;
    font-weight: bold;
}
.top-company dl dd h2 span {
    display: block;
    font-size: 0.5em;
    color: #a6a6a6;
}
.top-company dl dd p {
    font-size: 1.3em;
    font-weight: bold;
    margin: 1em 0;
}
.top-company a {
    display: block;
    color: #fff;
    background: #464fd7;
    max-width: 200px;
    float: right;
    text-align: center;
    padding: 0 2em;
    font-size: 1.25em;
    font-weight: bold;
    margin-top: 0.5em;
    position: relative;
}
.top-company a:after {
    font-family: 'Font Awesome 5 Regular';
    content: '\f054';
    display: inline-block;
    background-repeat: no-repeat;
    width: 10px;
    padding-left: 0.5em;
    color: #fff;
}
.top-dl-3 {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0em;
    align-items: flex-start;
}
.top-dl-3 dt{
    width: 48%;
    position: relative;
    border:2px solid;
    padding: 1.5em;
}
.top-dl-3 dt:before {
    content: "";
    position: absolute;
    background: #d93874;
    width: 101%;
    height: 101%;
    left: 6px;
    top: 6px;
    z-index: -1;
}
.top-dl-3 dd{
    width: 48%;
    position: relative;
    border:2px solid;
    padding: 1.5em;
    margin-top: 2em;
}
.top-dl-3 dd:before {
    content: "";
    position: absolute;
    background: #7abc43;
    width: 101%;
    height: 101%;
    left: 6px;
    top: 6px;
    z-index: -1;
}
.top-dl-4{
    display: flex;
    justify-content: space-between;
}
.top-dl-4 li h2{
    font-size: 2em;
    font-weight: bold;
    color: #fff;
}
.top-dl-4 li h2 span{
    display: block;
    color: #fff;
    font-size: 0.5em;
}
.top-dl-4 li p{
    font-size: 1.3em;
    margin: 0.5em 0;
    font-weight: bold;
}
.top-dl-4 li a {
    display: block;
    color: #fff;
    border:1px solid #fff;
    max-width: 150px;
    float: right;
    text-align: center;
    padding: 0 2em;
    font-size: 1.25em;
    font-weight: bold;
    margin-top: 0.5em;
    position: relative;
}
.top-dl-4 li a:after {
    font-family: 'Font Awesome 5 Regular';
    content: '\f054';
    display: inline-block;
    background-repeat: no-repeat;
    width: 10px;
    padding-left: 0.5em;
    color: #fff;
}
.top-dl-4 li a:hover{
    color: #000;
    background: #fff;
    transition: 1s;
}
.top-dl-4 li a:hover:after {
    color: #000;
    transition: 1s;
}
.top-dl-4 li:nth-child(1){
    width: 32%;
    position: relative;
    text-align: center;
}
.top-dl-4 li:nth-child(1) img{
    position: absolute;
    left: -1em;
    top: 0;
    max-width: 125px;
}
.top-dl-4 li:nth-child(2){
    width: 68%;
}
.top-dl-5{
    display: flex;
    justify-content: space-between;
    margin-bottom: 5em;
    align-items: flex-start;
}
.top-dl-5 dt{
    width: 48%;
    border:2px solid #000;
    position: relative;
    padding: 1.5em;
}
.top-dl-5 dt:before {
    content: "";
    position: absolute;
    background: #ede8e1;
    width: 101%;
    height: 101%;
    left: 6px;
    top: 6px;
    z-index: -1;
}
.top-dl-5 dt h2{
    font-size: 2em;
    color: #6bc876;
    font-weight: bold;
}
.top-dl-5 dt h2 span{
    display: block;
    font-size: 0.6em;
    color: #a6a6a6;
}
.top-dl-5 dt p{
    font-size: 1.3em;
    margin: 1em 0;
    font-weight: bold;
}
.top-dl-5 dt a {
    display: block;
    color: #fff;
    background: #6bc876;
    max-width: 200px;
    float: right;
    text-align: center;
    padding: 0 2em;
    font-size: 1.25em;
    font-weight: bold;
    margin-top: 1em;
    position: relative;
}
.top-dl-5 dt a:after {
    font-family: 'Font Awesome 5 Regular';
    content: '\f054';
    display: inline-block;
    background-repeat: no-repeat;
    width: 10px;
    padding-left: 0.5em;
    color: #fff;
}
.top-dl-5 dd{
    width: 48%;
    border:2px solid #000;
    position: relative;
    padding: 1.5em;
    margin-top: 3em;
}
.top-dl-5 dd:before {
    content: "";
    position: absolute;
    background: #ede8e1;
    width: 101%;
    height: 101%;
    left: 6px;
    top: 6px;
    z-index: -1;
}
.top-dl-5 dd h2{
    font-size: 2em;
    color: #943da6;
    font-weight: bold;
}
.top-dl-5 dd h2 span{
    display: block;
    font-size: 0.6em;
    color: #a6a6a6;
}
.top-dl-5 dd p{
    font-size: 1.3em;
    margin: 1em 0;
    font-weight: bold;    
}
.top-dl-5 dd a{
    display: block;
    color: #fff;
    background: #943da6;
    max-width: 200px;
    float: right;
    text-align: center;
    padding: 0 2em;
    font-size: 1.25em;
    font-weight: bold;
    margin-top: 1em;
    position: relative;
}  
.top-dl-5 dd a:after {
    font-family: 'Font Awesome 5 Regular';
    content: '\f054';
    display: inline-block;
    background-repeat: no-repeat;
    width: 10px;
    padding-left: 0.5em;
    color: #fff;
}

@media screen and (max-width: 768px){
    .top-dl-1 {
      display: block;
      margin: 0 10px 3em;
    }
    .top-dl-1 a {
      width: 100%;
      margin-bottom: 1em;
    }
    .top-dl-1 dd {
        padding: 1.5em 0 1.5em 1.5em;
    }
    .top-dl-1 dt {
        padding: 1.5em 0 1.5em 1.5em;
    }
    .top-dl-1 dt h2 {
        font-size: 2em;
    }
    .top-dl-1 dt p {
        font-size: 1em;
    }
    .top-dl-1 dd h2 {
        font-size: 2em;
    }
    .top-dl-1 dd p {
        font-size: 1em;
    }
    .top-company{
        margin: 0 10px;
    }
    .top-company dl {
        display: block;
        padding: 1em;
        max-width: 80%;
        margin: 0 auto 3em;
    }
    .top-company dl dt {
        width: 100%;
    }
    .top-company dl dd {
        width: 100%;
    }    
    .top-company dl dd h2 {
        font-size: 2em;
    }
    .top-company dl dd p {
      font-size: 1em;
    }
    .top-company a{
      float: none;
      margin: 1em auto;
    }
}

/* header */
  header {
      background: #FFF;
      padding: 0;
  }
  .header__inner {
      margin: 0 auto;
      width: 100%;
      position: relative;
  }
  .header__inner .logo {
      max-width: 1110px;
      margin: 0 auto;
      padding: 1em 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: center;
      background: #fff;
  }
  .header__inner h1 {
      color: #0A3321;
      padding: 0 10px;
      width: 75%;
  }
  .header__inner h1 img {
      width: 100%;
  }
  .lang-wrap{
    width: 20%;
  }
  .map-wrap {
      display: flex;
      justify-content: space-between;
      max-width: 300px;
      width: 100%;
  }
  .map-wrap li {
      width: 19%;
      border: 1px solid #ccc;
  }

@media screen and (max-width: 768px){
  .lang-wrap {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      margin-right: 1em;
  }
    .map-wrap {
        display: flex;
        justify-content: space-between;
        max-width: 200px;
        width: 100%;
        margin-left: 0.5em;
    }
    main{
      margin-top: 3em;
    }
}

  .header-nav-wrap {
      width: 100%;
      margin-left: auto;
      position: relative;
  }
  .header-nav {
      display: flex;
      justify-content: space-between;
      max-width: 100%;
  }
  .header-nav li {
    margin: 0;
  }

  .d-none{
    display: none;
  }
  .header-btn {
      position: absolute;
      right: 0;
      top: -6em;
      display: flex;
      align-items: center;
  }
  .header-btn .btn {
      background: #927134;
      color: #fff;
      margin-left: 30px;
  }
  .header-btn .btn a{
    color: #fff;
    display: block;
    font-size: 1em;
    padding: 10px;
  }
  .header-btn .btn a span {
      background: #fff;
      color: #927134;
      padding: 2px 10px;
      border-radius: 5px;
      margin-right: 10px;
      font-weight: bold;
  }
@media screen and (max-width: 1200px){
  .header-btn .btn {
    margin-left: 1em;
  }
  .header-btn .btn a{
    font-size: 1em;
  }
}
@media screen and (max-width: 1000px){
  .header-nav li a {
    font-size: 1rem;
  }
}  
@media screen and (max-width: 900px){
  header {
      width: 100%;
      height: 6.5em;
      position: relative;
      background: #fff;
  }
  .header__inner {
      display: block;
      align-items: start;
      padding: 0%;
      z-index: 1;
  }
  .header__inner h1 {
      width: 100% !important;
      max-width: 80% !important;
  }
  .header-nav-wrap{
    display: block;
    position: relative;
    top: 0;
    left: 100%;
    transition: all .4s;
    width: 100%;
    z-index: 990;
    overflow: hidden;
  }
  .nav-icon-wrap {
      position: absolute;
      top: 0%;
      right: 3%;
      z-index: 999;
      background: #fff;
      display: block;
  }
  .nav-icon {
      position: relative;
      display: block;
      width: 2.4em;
      height: 2.4em;
  }
  .nav-icon::before, .nav-icon::after{
    content: "";
    display: block;
    width: 80%;
    border-top: 3px solid #98999a;
    position: absolute;
    top: 37%;
    left: 20%;
    transition: .3s all;
  }
  .nav-icon::after{
    top: 70%;
  }
  #main-nav:checked ~ nav{
    display: block;
    left: 0;
    padding: 0;
    background: #fff;
    height: 100vh;
    border-bottom: 2px solid #EEEEEE;
  }
  #main-nav:checked ~ .nav-icon-wrap>.nav-icon::before{
    top: 40%;
    transform: rotate(45deg);
  }
  #main-nav:checked ~ .nav-icon-wrap>.nav-icon::after{
    top: 40%;
    transform: rotate(-45deg);
  }
  .header-nav {
      margin: 0;
      flex-direction: column;
      padding: 1% 5% 0;
      text-align: center;
  }
  .header-btn {
      position: absolute;
      right: 0;
      top: auto;
      display: block;
      align-items: center;
      left: 5%;
  }
  .header-btn .btn {
      margin-left: 1em;
      margin: 1em 0;
      max-width: 207px;
  }
  .header-btn .instabtn{
    display: flex;
    align-items: center;
  }
  .header-btn .instabtn span{
      font-size: 1.5em;
      padding-left: 0.5em;
      color: #000;
  }
}

@media screen and (max-width: 768px){
    header {
        height: 4em;
        padding: 0.5em 0;
    }
    .header__inner .logo{
        padding: 0;
    }
    .rainbow{
        top: 10em;
    }
  .nav-icon::before{
      top: 30%;
      left: 10%;
  }
  .nav-icon::after {
      top: 69%;
      left: 10%;
  }
  .header-nav {
      padding: 0;
  }
  .header-nav li a {
      font-size: 1.6rem;
  }
  #gnav > ul > li.gnavi02 ul li a, #gnav > ul > li.gnavi03 ul li a, #gnav > ul > li.gnavi04 ul li a {
      padding: 15px 0 15px 0px;
      display: block;
  }
}
@media screen and (max-width: 500px){
  .header__inner h1 {
    width: 55px;
    max-width: 55px;
    padding: 2% 3%;
  }
}
body{
  overflow: hidden;
}
@media screen and (max-width: 768px){
  .sub #wrapperVoice.detail #main {
      padding: 0 !important;
  }
  .sub #wrapperVoice{
    margin: 0 auto !important;
  }
  footer #footerInner02{
    display: block;
  }
  footer #footerInner02 .footerR ul{
    display: block;
  }
}

  .pc{
    display: block;
  }
  .sp{
    display: none;
  }
  .contact{
    background: #0071AF;
    padding: 2em 0;
  }
  .contact a {
      display: block;
      text-align: center;
      text-decoration: none;
      max-width: 350px;
      background: #fff;
      border:3px solid #AAA;
      margin: 0 auto;
      border-radius: 10px;
      color: #0071AF;
      padding: 1.5em 0;
      position: relative;
  }
  .contact a:hover{
    opacity: 0.8;
    transition: 1s;
  }
  .contact a:after {
      font-family: 'Font Awesome 5 Regular';
      content: '\f054';
      display: inline-block;
      background-repeat: no-repeat;
      width: 30px;
      color: #0071af;
      position: absolute;
      right: 2%;
      top: 0;
      bottom: 0;
      margin: auto;
      height: 35px;
      font-size: 24px;
      font-weight: bold;
  }  
  .contact h2 {
      font-size: 2em;
      font-weight: bold;
  }
  .contact h2 span{
    font-size: 0.5em;
    display: block;
  }
  .flexslider .slides li a:hover{
    opacity: 1 !important;
  }
  .flexslider .slides li a{
    opacity: 1 !important;
  }
  .flexslider .slides li a img{
    opacity: 1 !important;
  }
@media screen and (max-width: 768px){
  .pc{
    display: none;
  }
  .sp{
    display: block;
  }
  .top-company a {
    max-width: 150px;
    font-size: 1.25em;
  }
  .top-dl-3 {
    display: block;
    margin: 0 10px 3em;
  }
  .top-dl-3 dt {
    width: 100%;
  }
  .top-dl-3 dd {
    width: 100%;
    margin-top: 2em;
  }
  .top-dl-4 {
    display: block;
  }
  .top-dl-4 li:nth-child(1) {
    width: 100%;
  }
  .top-dl-4 li:nth-child(2) {
    width: 100%;
  }
  .top-dl-4 li h2{
    font-size: 2em;
  }
  .top-dl-4 li p{
    font-size: 1em;
  }
  .top-dl-4 li a {
    float: none;
    margin: 1em auto 0;
  }
  .top-dl-5 {
    display: block;
    margin: 0 10px 5em;
  }
  .top-dl-5 dt {
    width: 100%;
  }
  .top-dl-5 dd {
    width: 100%;
    margin-top: 2em;
  }
  .top-dl-5 dt a {
    display: block;
    max-width: 150px;
    float: none;
    margin: 1em auto 0;
  }
  .top-dl-5 dt h2 {
    font-size: 2em;
  }
  .top-dl-5 dt p {
    font-size: 1em;
  }
  .top-dl-5 dd h2 {
    font-size: 2em;
  }
  .top-dl-5 dd a {
    display: block;
    max-width: 150px;
    float: none;
    margin: 1em auto 0;
  }
  .top-dl-5 dd p {
    font-size: 1em;
  }
}

.top-company ul{
  display: flex;
  justify-content: space-between;
}
.top-company ul li:nth-child(1){
  width: 15%;
  text-align: center;
}
.top-company ul li:nth-child(1) img{
  max-width: 125px;
}
.top-company ul li:nth-child(2){
  width: 70%;
}
.top-company ul li:nth-child(3){
  width: 15%;
  padding-top: 1em;
  text-align: center;
}
.top-company ul li:nth-child(3) img{
  max-width: 110px;
}
.top-company dl{
  position: relative;
}
.top-company dl .img01 {
    position: absolute;
    left: -20%;
    max-width: 180px;
    top: 0;
}
.top-company dl .img03 {
    position: absolute;
    right: -20%;
    max-width: 170px;
    top: 20%;
}
.top-dl-5{
  margin-top: 0em;
  margin-bottom: 15em;
}
.top-dl-5 dt{
  position: relative;
} 
.top-dl-5 dt .img01 {
    position: absolute;
    left: -23%;
    top: 25%;
    max-width: 120px;
}
.top-dl-5 dt .img02 {
    position: absolute;
    right: -20%;
    top: -65%;
    max-width: 300px;
}
.top-dl-5 dd{
  position: relative;
} 
.top-dl-5 dd .img01 {
    position: absolute;
    right: -8%;
    top: -20%;
    max-width: 115px;
}
.top-dl-5 dd .img02 {
    position: absolute;
    left: -10%;
    top: 80%;
    max-width: 200px;
}
@media screen and (max-width: 1400px){
  .top-dl-5 dt .img01 {
      position: absolute;
      left: 0;
      top: 90%;
  }
  .top-dl-5 dd .img01{
      right: 0;
  }
}
@media screen and (max-width: 1200px){
  body{
    font-size: 12px;
  }
  .top-dl-5 dd .img01 {
      right: 0;
      top: -25%;
      max-width: 110px;
  }
  .top-dl-5 dt .img02 {
      position: absolute;
      right: -20%;
      top: -75%;
      max-width: 300px;
  }
}
@media screen and (max-width: 1000px){
  .top-dl-5 dt .img01 {
      position: absolute;
      left: 0;
      top: 90%;
      max-width: 110px;
  }
  .top-dl-5 dt .img02 {
      position: absolute;
      right: -20%;
      top: -70%;
      max-width: 300px;
  }  
  .top-dl-5 dd .img01 {
  }  
  .top-dl-4 li:nth-child(1) img{
      max-width: 110px;

  }
}
@media screen and (max-width: 768px){
.flexslider {
    background: none;
    width: 90% !important;
    margin: 3em auto;
}  
.top-company ul li:nth-child(1) img {
    max-width: 100%;
}
.top-company ul li:nth-child(3) img {
    max-width: 100%;
}
  .top-company ul li:nth-child(1){
    width: 10%;
  }
  .top-company ul li:nth-child(2){
    width: 80%;
  }
  .top-company ul li:nth-child(3){
    width: 10%;
  }
  .top-dl-5 dd .img01 {
      right: 0;
      top: -90%;
      width: 130px;
  }
.top-company ul li .img01 {
    position: absolute;
    left: 0;
    max-width: 100px;
    top: 10%;
    z-index: 1;
}
.top-company ul li .img03 {
    position: absolute;
    right: 0;
    max-width: 90px;
    top: 45%;
}
.top-dl-3 {
    display: block;
    margin: 0 10px 3em;
    width: 95%;
}
.top-dl-4 li:nth-child(1) img {
    position: absolute;
    left: auto;
    top: 0;
    width: 110px;
    right: -5%;
}  

.top-dl-5 dt .img01 {
    position: absolute;
    left: auto;
    top: 5%;
    max-width: 90px;
    right: 0%;
}
.top-dl-5 dt .img02 {
    position: absolute;
    right: 20%;
    top: -85%;
    max-width: 250px;
    left: auto;
}
.top-dl-5 dd .img01 {
    position: absolute;
    right: 0%;
    top: 10%;
    max-width: 100px;
} 
.top-dl-5 dd .img02 {
    position: absolute;
    max-width: 150px;
    margin: auto;
    left: auto;
    top: 100%;
    right: 10%;
}
.scrollin2 .rainbow-2 {
    left: 0;
    top: 33em;
}
}
@media screen and (max-width: 430px){
  body{
    font-size: 14px;
  }
  .top-company dl {
      display: block;
      padding: 1em;
      max-width: 95%;
      margin: 0 auto 3em;
  }  
  .top-company ul li .img01 {
      position: absolute;
      left: 0;
      max-width: 80px;
      top: 0%;
      z-index: 2;
  }
  .top-company ul li .img03 {
      position: absolute;
      right: -5%;
      max-width: 80px;
      top: 50%;
  }
    .top-dl-3 {
      display: block;
      margin: 0 10px 3em;
      width: 80%;
      margin-left: 20%;
  }
  .top-dl-4 li:nth-child(1) img {
      position: absolute;
      left: -42%;
      top: 0%;
      width: 95px;
  }
  .top-dl-5 dt .img01 {
      position: absolute;
      left: -5%;
      top: 75%;
      max-width: 70px;
      z-index: 1;
  }
  .top-dl-5 dt .img02 {
      position: absolute;
      right: -10%;
      top: -50%;
      max-width: 200px;
  }
  .top-dl-5 dd .img01 {
      position: absolute;
      right: -4%;
      top: -30%;
      max-width: 85px;
  }

  .top-dl-5 dd .img02 {
      position: absolute;
      max-width: 130px;
      margin: auto;
      left: -40%;
      top: 110%;
  }  
  .scrollin2 .rainbow-2 {
      left: 0;
      top: 40em;
  }
}
    .voice{
        padding-bottom: 5em;
    }
    .voice h1 {
        color: #D33874;
        text-align: center;
        padding: 2em 0 1em;
        font-size: 2.5em;
        font-weight: bold;
        text-shadow: 1px 2px 0px #000;
    }
  .voice ul{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .voice ul li {
      width: 24%;
      position: relative;
      margin-bottom: 1em;
  }
  .img-box01 {
    position: absolute;
    top: 33%;
    left: 3%;
    max-width: 75px;
    width: 26%;
  }
  .img-box .active {
    position: absolute;
    top: 33%;
    left: 3%;
    max-width: 75px;
    width: 26%;
    opacity: 0;
    transition: 0.5s;
  }
  .voice ul li a:hover .active {
    opacity: 1;
    z-index: 10;
  }
  .voice ul li p {
      color: #603813;
      text-align: center;
      font-weight: bold;
      margin-top: 5px;
  }
  .voice ul li h3{
    color: #000;
    text-align: center;
    font-size: 1.5em;
    font-weight: bold;
  }
@media screen and (max-width: 768px){
    .voice h1{
        font-size: 2em;
    }
    .voice ul li {
        width: 48%;
    }
}

.sub #wrapperVoice.detail #main {
  width: 100%;
  float: none;
  margin: 0 auto;
}

.list {
    display: flex;
    justify-content: space-between;
    margin-bottom: 4em;
    align-items: flex-start;
}
.message-title {
    border: 1px solid #4B7EC0;
    padding: 2%;
    font-size: 2em;
    color: #4B7EC0;
    margin-top: -2em;
    z-index: 99;
    background: #fff;
    max-width: 50%;
    margin-left: 1em;
    box-shadow: 4px 4px #4b7ec0;
    font-weight: bold;
    z-index: 10;
}
.message-title span{
  font-size: 0.8em;
  display: block;
  color: #251E1C;
  font-weight: bold;

}
.disc {
    max-width: 45%;
    background: #fff;
    margin-top: -3em;
    padding: 1em;
    margin-right: 1em;
    border: 1px solid #4B7EC0;
    box-shadow: 4px 4px #4b7ec0;
    z-index: 10;
}
.name{
    font-size: 1.3em;
}
.sub #wrapperVoice.detail #main article.voice > section .detailBox section h2{
  color: #222;
}
.flex-wrap {
    display: flex;
    justify-content: space-between;
    padding: 0 2%;
    margin-bottom: 3em;
}
.flex-wrap dt{
  width: 40%;
}
.flex-wrap dd {
    width: 56%;
    text-align: justify;
}
.flex-wrap dd p{
    line-height: 2;
}
.flex-wrap dd h2 {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 10px;
}
.child-2 dt{
  order: 2;
}
@media screen and (max-width: 768px) {
  .list {
      display: block;
  }
  .message-title {
      margin-top: -1em;
      max-width: 90%;
      margin-left: 10px;
      position: relative;
      padding: 3%;
      font-size: 1.3em;
  }
  .disc {
      max-width: 60%;
      margin-top: 1em;
      padding: 3%;
      margin-right: 0em;
      font-size: 0.9em;
      margin-left: 10px;
  }
  .name{
    font-size: 1.2em;
  }
  .flex-wrap {
      display: block;
      margin-bottom: 1em;
  }
  .flex-wrap dt {
      width: 100%;
  }
  .flex-wrap dd {
      width: 100%;
  }
  .flex-wrap dd h2 {
      font-size: 2rem;
      font-weight: bold;
      margin: 1em auto;
  }
}