@charset "UTF-8";
/* CSS Document */
/* --------------------
 base
----------------------- */
* {
  box-sizing: border-box;
}
.wf-notosansjapanese {
  font-family: "Noto Sans Japanese";
}
body {
  font-family: "Noto Sans Japanese";
  color: #ed7980;
}
#wrap {
  overflow: hidden;
}
img {
  display: block;
  width: 100%;
  height: auto;
}
a[href^="tel"] {
  color: inherit;
  text-decoration: none;
}
a {
  color: #ed7980;
}
.site-header {
  display: flex;
  /*padding: 1vw 5vw 1vw 5vw;*/
  padding: 1vw 7vw 1vw 7vw;
  position: fixed;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  /* box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);*/
  background: #fff;
  z-index: 99999;
}
.site-header.transform {
  background: #fff;
}
.site-logo {
  display: block;
  width: 23vw;
  margin-top: 0.5vw;
}
.site-logo img {
  display: block;
  width: 100%;
  height: auto;
}
.site-logo:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}
/*drawer-start-*/
#wrap .drawer-nav {
  background-color: #fff;
  z-index: 3;
}
#wrap .drawer--right.drawer-open, #wrap .drawer-hamburger {
  right: 0.25rem;
}
#wrap .drawer-menu {
  padding-top: 15%;
  padding-bottom: 15%;
  background: #fff;
}
#wrap .drawer-menu li {
  width: 90%;
  margin: 0 auto;
}
#wrap .drawer-menu li img {
  display: block;
  width: auto;
  height: auto;
  margin: 0 auto;
}
#wrap .drawer-menu li:last-child {
  border-bottom: none;
}
#wrap .drawer-menu .register_btn {
  display: block;
  width: 40%;
  background: #2c3892;
  border-radius: 6px;
  margin-top: 2vw;
}
#wrap .drawer-menu .register_btn a {
  color: #fff;
  padding: 0.55em 0 0.65em 0;
}
#wrap .drawer-nav p {
  display: block;
  width: 100%;
  margin: 0 auto;
}
#wrap .drawer-nav p img {
  display: block;
  width: auto;
  height: auto;
  margin: 0 auto;
}
#wrap .drawer-menu-item {
  text-align: center;
  padding: 1em 0;
  font-size: 5vw;
  letter-spacing: 0.1em;
  font-weight: 600;
}
#wrap .drawer-menu-item:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
  text-decoration: none;
}
#wrap .drawer-nav .logo {
  display: block;
  width: 58vw;
  margin: 0 auto;
  margin-top: 8vw;
}
#wrap .drawer-nav .logo img {
  display: block;
  width: 100%;
  height: auto;
}
/*drawer-end-*/
.gnav__menu {
  display: flex;
}
.gnav__menu__item {
  margin-left: 20px;
}
.gnav__menu__item a {
  color: #333;
  text-decoration: none;
}
.site-logo {
  display: block;
  width: 23vw;
}
.site-logo img {
  display: block;
  width: 100%;
  /*width: 18.2295vw;*/
  height: auto;
}
.site-logo:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}
.button_ a {
    background: #ed7980;
    border-radius: 9999px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 2rem auto;
    max-width: 300px;
    padding: 10px 25px;
    font-family: "Noto Sans Japanese";
    font-size: 1.3rem;
    color: #fff;
    line-height: 1.8;
    text-decoration: none;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}
.button_ a:hover {
    background: #ccd1d5;
    color: #FFF;
}
.button_ a:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.button_ a:hover:after {
    border-color: #FFF;
}

/*PC_navi*/
#nav {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 0.5vw;
}
#nav li {
  width: auto;
  text-align: center;
  /*height: 2.279vw;
  line-height: 2.279;*/
  padding: 0 1.5vw;
}
#nav li a {
  display: block;
  width: 100%;
  font-size: 1.3vw;
  font-weight: 600;
}
#nav li a:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}
#nav .register_btn {
		background-color: #2c3892;
    margin-left: 1.2vw;
    width: 10.5vw;
    border-radius: 6px;
    padding: 0;
}
#nav .register_btn a {
  display: block;
  width: 100%;
  color: #fff;
  font-size: 1.15vw;
  font-weight: 500;
  padding: 0.7vw 0 0.75vw 0;
}
.pc_nav .border_bottom a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.pc_nav .border_bottom a::after {
  position: absolute;
  bottom: -0.65vw;
  left: 0;
  content: '';
  width: 100%;
  height: 0.12vw;
  background: #e8373d;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .3s;
}
.pc_nav .border_bottom a:hover::after {
  transform: scale(1, 1);
}
.nav_footer li a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.nav_footer li a::after {
  position: absolute;
  bottom: -7px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .3s;
}
.nav_footer li a:hover::after {
  transform: scale(1, 1);
}
/*PC_navi-end-*/
/*ページトップへ戻るボタン*/
#pageTop {
  position: fixed;
  bottom: 2vw;
  right: 3vw;
  z-index: 999;
}
#pageTop a {
  display: block;
  z-index: 999;
  width: 4vw;
  opacity: 1;
  text-decoration: none;
}
#pageTop:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}
#pageTop p img {
  display: block;
  width: 100%;
  height: auto;
}
/*ページトップへ戻るボタン-end-*/
#top {
  margin-top: 5.7vw;
}
#company {
  margin-top: 5.7vw;
}
#about {
  margin-top: 5.7vw;
  padding: 4% 0 5% 0;
}
#top p {
  display: block;
  width: 100%;
  margin: 0 auto;
}
#top p img {
  display: block;
  width: 100%;
  height: auto;
}
.contents_area {
  display: block;
  width: 80%;
  margin: 0 auto;
  padding: 3% 0 3% 0;
  margin-top: 4%;
}
#area4 .contents_area {
  margin-top: 0;
  padding-top: 2%;
}
#top .top_slide_img p {
  width: 57vw;
}
.slide_box {
  display: flex;
  flex-wrap: wrap;
}
.top_slide_text {
  padding-left: 4vw;
  width: 41vw;
  padding-right: 5vw;
}
.pickup {
  color: #e8373d;
  font-size: 1.8vw;
  font-weight: 600;
  padding-top: 4.5em;
}
.company_text {
  font-size: 2.3vw;
  line-height: 1.5em;
  font-weight: 600;
  padding-top: 1.2em;
}
.company_name {
  color: #808c95;
  font-size: 1.2vw;
  padding-top: 3em;
}
.border_color_outer {
  display: flex;
}
.border_color {
  height: 12px;
  width: 50%;
}
.color1 {
  border-top: solid 12px #ed7980;
}
.color2 {
  border-top: solid 12px #2c3892;
}
.interview h2 {
    position: relative;
    width: 100%;
    /* font-size: 1.63vw; */
    font-size: 20px;
    line-height: 1.2em;
    font-family: 'Roboto', "Noto Sans Japanese";
    font-weight: 600;
    font-style: normal;
    font-feature-settings: "palt";
    margin: 40px auto 20px;
    color: #222;
    border: none;
    border-left: 5px solid #ccc;
    padding: 0.38em 0 0.38em 0.75em;
    border-left: 6px solid #f10;
    text-align: left;
}
.interview img {
    width: 100%;
    margin: auto;
    padding: 10px;
}
.wp-caption {
		width:100% !important;
    margin: auto;
}
.wp-caption-text {
    color: #808080;
    padding: 0px 0px 10px 0px;
		font-size: 12px !important;
}

/**
#area1 .contents_area h2 {
  font-size: 1.5vw;
  text-align: center;
  line-height: 2;
  font-weight: 600;
  margin: 0 auto;
  margin-bottom: 4.5vw;
}
**/
.logo2 {
  width: 22vw;
  margin: 0 auto;
  margin-bottom: 1.5vw;
}
.icon_wrap {
  width: 50%;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.sdg_icon {
  width: 16.6%;
  padding: 0.25vw;
}
h2 {
  text-align: center;
  font-size: 2.5vw;
  margin-bottom: 1em;
  font-weight: 600;
  color:#ed7980;
}
.contents_title {
  text-align: center;
  font-size: 3vw;
  margin-bottom: 1em;
  font-weight: 600;
  margin-top: 0.5em;
}
#about .contents_title {
  margin-top: 0;
}
#company .title {
  text-align: center;
  font-size: 2.2vw;
  margin-bottom: 1em;
  font-weight: 600;
}
.paging {
  display: flex;
  width: 30vw;
  margin: 0 auto;
  justify-content: space-around;
  padding: 1vw;
}
.paging .current {
  background-color: #e8373d;
  border-radius: 50px;
}
.paging .current a {
  color: #fff;
}
.paging p {
  text-align: center;
  padding: 1vw 1.3vw;
}
/*==================================================
インタビュースライダーのためのcss
===================================*/
.slider img {
  width: 100%; /*スライダー内の画像を横幅100%に*/
  height: auto;
}
/*slickのJSで書かれるタグ内、スライド左右の余白調整*/
.slider .slick-slide {
  margin: 0 15px;
}
.slider .slick-slide:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}
#area4 {
  margin-bottom: 4%;
}
.interview_text {
	width:100%;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-size: 90%;
  text-align: center;
  line-height: 1.4;
  font-weight: 600;
  padding-top: 0.8em;
}

.video_text {
  font-size: 1.15vw;
  text-align: center;
  line-height: 1.4;
  font-weight: 600;
  padding-top: 0.8em;
}
.video_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  margin: 0 auto;
}
.video_wrap > div {
  width: 31.3%;
  margin-right: 3%;
}
.video_wrap > div:nth-of-type(3n) {
  margin-right: 0;
}
.video_box p {
  width: 100%;
}
.video_box p iframe {
  width: 100%;
}
footer {
  display: flex;
	padding-top: 50px;
}
.footer_left {
  position: relative;
  background-color: #bf1b2c;
  padding-right: 8vw;
  width: 51vw;
  padding: 3vw 5vw 3vw 7vw;
}
.footer_left .yokazo {
  position: absolute;
  top: 11vw;
  right: 1.5vw;
  display: block;
  width: 6vw;
}
.footer_left .yokazo img {
  display: block;
  width: 100%;
  height: auto;
}
.footer_left p {
  color: #fff;
}
.footer_name {
  font-size: 1.6vw;
  margin-bottom: 1em;
  font-weight: 500;
  line-height: 1.6em;
}
.footer_address {
  line-height: 1.4;
  margin-bottom: 0.5em;
  font-size: 1.042vw;
}
.footer_tel {
  margin-bottom: 0.5em;
  font-size: 1.042vw;
}
.footer_mail {
  margin-bottom: 0.5em;
  font-size: 1.042vw;
}
.footer_tel a {
  color: #fff;
}
.footer_mail a {
  color: #fff;
}
.footer_tel a:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}
.footer_mail a:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}
.copy {
  margin-top: 2em;
  font-size: 0.9vw;
  color: #fff;
}
.footer_right {
  background-color: #2c3892;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 3vw 3vw 1.5vw 5.5vw;
}
.footer_right nav a {
  color: #fff;
  font-size: 1.2vw;
}
.footer_right > .footer_logo {
  width: 20%;
}
.footer_right > .footer_logo:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}
.footer_right > .footer_nav {
  width: 100%;
}
.footer_right ul {
  display: flex;
  flex-wrap: wrap;
  margin-top: 2vw;
  margin-left: 5vw;
}
footer ul li {
  width: 50%;
  margin-bottom: 1.5em;
}
/*swiper*/
#wrap .swiper-container {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  position: relative;
  z-index: 99;
}
.swiper-slide {
  position: relative;
	margin: 30px 0px 20px 0px;
}
.swiper-slide a {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  z-index: 9;
}
.swiper-slide p img {
  display: block;
  width: 100%;
  height: auto;
}
#wrap .swiper-container-top {
  position: relative;
}
#wrap .swiper-container-top .swiper-button-prev {
  background-image: none;
}
#wrap .swiper-container-top .swiper-button-next {
  background-image: none;
}
#wrap .swiper-container-top .swiper-button-prev {
  top: 50%;
  width: 3.5vw;
  left: 2.5vw;
}
#wrap .swiper-container-top .swiper-button-next {
  top: 50%;
  width: 3.5vw;
  right: 2.5vw;
  z-index: 9999;
}
#wrap .swiper-container-top .swiper-button-prev img {
  display: block;
  width: 100%;
  height: auto;
}
#wrap .swiper-container-top .swiper-button-next img {
  display: block;
  width: 100%;
  height: auto;
}
#wrap .swiper-button-prev {
  top: 55%;
  right: 2%;
  color: #fff;
  font-size: 2vw;
}
#wrap .swiper-button-next {
  top: 55%;
  right: 2%;
  color: #fff;
  font-size: 2vw;
}
/*==================================================
top css
===================================*/
.top_main_image img{
  height: 100%;
}
@media only screen and (max-width: 767px) {
  .top_main_image img{
    height: 150%;
  }
}
.top_food_image{
  margin-bottom: 5rem;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .top_food_image{
    margin-bottom: 1rem;
  }
}
.top_food_image img{
  display: inline;
  text-align: center;
  margin: 15px;
  width:15%;
}
@media only screen and (max-width: 767px) {
  .top_food_image img{
    width:35%;
  }
}
.contents_area p{
  font-size: 1.24vw;
    font-weight: 500;
    color: #000;
    line-height: 2em;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .contents_area p {
        font-size: 3.6vw;
    }
}
.catch_image{
  width:15em;
  margin: 0 auto 30px auto;
}
@media only screen and (max-width: 767px) {
  .catch_image{
    width:12em;
  }
}
/*==================================================
事業内容
===================================*/
/*3カラム並列*/
.wrap {
  display: flex;
  flex-wrap: wrap;
}

.item {
  padding: 20px;
  margin: 20px 0;
  width: 32%;
  background-color: #f4f4f4;
}

.item:not(:nth-child(3n+3)) {
  margin-right: 2%;
}

.item:nth-child(n+4) {
  margin-top: 30px;
}

.item h2{
  margin-top: 10px;
  font-size: 1.3rem;
}
@media not all and (min-width: 768px) {
  .item {
    width: 100%;
  }

  .item:not(:nth-child(3n+3)) {
    margin-right: 0;
  }

  .item:nth-child(n+2) {
    margin-top: 30px;
  }
}

/*swiper-end-*/
.company_list_area {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 0 auto;
}
.company_list_area > div {
  position: relative;
  width: 30.6%;
  margin-right: 4%;
  border-radius: 10px;
  margin-bottom: 5%;
}
.company_list_area > div .link {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  z-index: 9;
}
.company_list_area > div:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}
.company_list_area > div:nth-of-type(3n) {
  margin-right: 0;
}
#company_list .company_name {
  color: #ed7980;
  font-size: 1.3vw;
  font-weight: 600;
  padding-top: 0.5em;
  line-height: 1.2em;
}
.company_list_area > div .catch {
  font-size: 1.2vw;
  font-weight: 600;
  color: #e8373d;
  line-height: 1.4em;
  border-bottom: 0.2vw solid #ed7980;
  padding-bottom: 0.7em;
  margin-bottom: 0.8em;
}
.company_list_area > div .text {
  font-size: 0.9vw;
  font-weight: 400;
  color: #ed7980;
  line-height: 1.4em;
  padding-top: 0.7em;
  text-align: justify;
}
.company_list_area > div .info_list {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  width: 100%;
  margin: 0 auto;
}
.company_list_area > div .info_list dt {
  width: 17.5%;
  font-size: 0.92vw;
  font-weight: 500;
  color: #ed7980;
  -moz-text-align-last: justify;
  text-align-last: justify;
  text-justify: inter-ideograph;
  padding-bottom: 0.6em;
}
.company_list_area > div .info_list dd {
  width: 82.5%;
  font-size: 0.92vw;
  font-weight: 500;
  color: #ed7980;
  padding-left: 1em;
  text-indent: -1em;
  padding-bottom: 0.6em;
  text-align: justify;
  line-height: 1.4em;
}
.company_list_area > div .icon {
  color: #e8373d;
}
.company .goals {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 0 auto;
  padding-top: 3%;
  padding-bottom: 5%;
}
.company .goals > li {
  width: 15.95%;
  margin-right: 0.18vw;
}
.company .goals > li:last-of-type {
  margin-right: 0;
}
.company .goals > li img {
  display: block;
  width: 100%;
  height: auto;
}
.fa-flag {
  color: #e8373d;
  padding-right: 0.3em;
}
.company_list_area > div .area {
  font-size: 0.95vw;
  font-weight: 500;
  color: #ed7980;
  padding-top: 1.5em;
}
.company_list_area > div .address {
  font-size: 0.9vw;
  font-weight: 500;
  color: #ed7980;
  padding-top: 1em;
}
#company_list .company .info_box {
  padding: 0 5.5% 8% 5.5%;
  border: 1px solid #ccc;
  border-bottom: 5px solid #ccc;
  border-top: none;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}
.company .btn {
  position: relative;
  z-index: 999;
}
.company .btn a {
  display: block;
  background-image: url(/images/btn_1.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  width: auto;
  height: 2.5vw;
  margin: 0 auto;
  margin-top: 5%;
}
.company .btn a:hover {
  background-image: url(/images/btn_2.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  width: auto;
  height: 2.5vw;
  margin: 0 auto;
  margin-top: 5%;
}
.company .btn.more:hover {
  color: #fff !important;
}
.interview_area {
  display: block;
  width: 100%;
  margin: 0 auto;
  /*padding: 6% 0 0 0;*/
}
.interview_area .slider {
  display: block;
  width: 100%;
  margin: 0 auto;
  background: #f4f4f4;
  padding: 2% 0;
}
/*pagination new*/
.page-numbers {
  width: 100%;
  text-align: center;
  color: #ed7980;
  font-size: 1.3vw;
  font-weight: 600;
}
.page-numbers li {
  display: inline-block;
  border-radius: 50vw;
  width: 2.2vw;
  height: 2.2vw;
  line-height: 2.2vw;
  margin: 0 0.3vw;
}
.page-numbers .current {
  border-radius: 50vw;
  background: #e8373d;
  color: #fff;
}
.page-numbers .next {
  width: auto;
}
.page-numbers .prev {
  width: auto;
}
.page-numbers .current, a.page-numbers {
  display: inline-block;
  width: 100%;
  height: auto;
}
.page-numbers li a:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}
.page-numbers .prev:hover, .page-numbers .next:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}
.fa-chevron-right {
  padding-right: 1.25vw;
}
/*pagination new -end-*/
#search {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 0 auto;
  background: #fff;
  margin-bottom: 6%;
  padding: 0 1vw;
}
.search_area {
  display: block;
  width: 71.212vw;
  margin: 0 auto;
}
#search > dl {
  width: 23.5vw;
  margin-top: 0.8vw;
}
#search > dl:nth-of-type(2) {
  width: 23vw;
  margin-top: 0.8vw;
  margin-right: 0.5vw;
}
#search > dl:nth-of-type(3) {
  width: 20.5vw;
  margin-right: 0;
}
#search > .free_word {
  margin-top: 0.8vw;
  margin-left: 12vw;
  width: 34.5vw;
  margin-right: 0.5vw;
}
.search_area dl dt {
  display: inline-block;
  width: auto;
  font-size: 1vw;
  font-weight: 500;
  color: #333;
  text-align: right;
  padding-right: 0.5vw;
  white-space: nowrap;
}
_:-ms-lang(x)::-ms-backdrop, .area_select dl dt {
  vertical-align: top;
  padding-top: 10px;
}
.search_area dl dd {
  display: inline-block;
  width: 20vw;
  margin-right: 0;
}
.search_area dl:nth-of-type(2) dd {
  width: 20vw;
}
.search_area dl:nth-of-type(3) dd {
  width: 15.5vw;
}
.search_area .free_word dd {
  width: 27.5vw;
}
.search_area label select {
  display: block;
  width: 100%;
  height: 2.6045vw;
  border: 0.1vw solid #000;
  border-radius: 5px;
  cursor: pointer;
  font-size: 0.95vw;
  font-weight: 500;
  color: #333;
  padding-left: 0.6em;
  font-family: 'Roboto', "Noto Sans Japanese";
  background: #fff;
}
.search_area label input {
  display: block;
  width: 100%;
  height: 2.6045vw;
  border: 0.1vw solid #000;
  border-radius: 5px;
  cursor: pointer;
  font-size: 0.95vw;
  font-weight: 500;
  color: #333;
  padding-left: 0.8em;
  font-family: 'Roboto', "Noto Sans Japanese";
  letter-spacing: 0.1em;
  background: #fff;
}
/*セレクトボックスカスタマイズ*/
select {
  -webkit-appearance: none;
  appearance: none; /* デフォルトのスタイルを無効 */
}
select::-ms-expand {
  display: none; /* デフォルトのスタイルを無効(IE用) */
}
.search_area label {
  position: relative;
  display: block;
  width: 100%;
  margin: 0 auto;
}
.search_area label:after {
  display: block;
  font-family: "Font Awesome 5 Free";
  content: '\f0d7';
  font-weight: 900;
  font-size: 1.6vw;
  position: absolute;
  top: 0.45vw;
  right: 0.65vw;
  pointer-events: none;
  color: #ed7980;
  z-index: 999;
}
.search_area dl:nth-of-type(2) label:after {
  right: 0.65vw;
}
.search_area dl:nth-of-type(3) label:after {
  right: 0.65vw;
}
.search_area dl:nth-of-type(4) label:after {
  content: '';
}
form#search button[type="submit"] {
  width: 7vw;
  height: 2.6vw;
  line-height: 2.1vw;
  font-size: 1vw;
  font-weight: 500;
  color: #fff;
  font-family: 'Roboto', "Noto Sans Japanese";
  cursor: pointer;
  background: #000;
  border: none;
  border-radius: 5px;
  margin-top: 0.8vw;
}
form#search button[type="submit"]:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}
#wrap .swiper-pagination-bullet-active {
  background: #f1878b;
}
#wrap .swiper-pagination-bullet {
  width: 0.95vw;
  height: 0.95vw;
}
#wrap .swiper-container-horizontal > .swiper-pagination-bullets, #wrap .swiper-pagination-custom, #wrap .swiper-pagination-fraction {
  bottom: auto;
  top: 38.65vw;
}
#wrap .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 0.5vw;
}
.video {
  position: relative;
}
.video p {
  display: block;
  width: 100%;
  margin: 0 auto;
}
.video p img {
  display: block;
  width: 100%;
  height: auto;
}
.video p:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}
.video p .icon {
  position: absolute;
  top: 5.5vw;
  left: 0;
  right: 0;
  display: block;
  width: 4.5vw;
  margin: 0 auto;
}
.video p .icon img {
  display: block;
  width: 100%;
  height: auto;
}
.lity-close {
  width: auto !important;
  height: auto !important;
  right: 16.5vw !important;
  top: 5.5vw !important;
  font-size: 3.5vw !important;
  line-height: 1em !important;
}
/*#company*/
.company_area {
  display: block;
  width: 60%;
  margin: 0 auto;
  padding: 5% 0;
}
#wrap .company_area .swiper-container {
  display: block;
  width: 100%;
  margin: 0 auto;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
	background-image:url(images/top_image2.jpg);
}
.swiper-container::before{
      background: inherit;
      content: '';
      position: absolute;
      filter: blur(5px);
      top: -5px;
      right: -5px;
      bottom: -5px;
      left: -5px;
      z-index: -1;
}
.company_area .industry {
  font-size: 1.3vw;
  font-weight: 500;
  color: #888;
  padding-bottom: 0.5em;
}
.company_area .company_name {
  font-size: 2.4vw;
  font-weight: 600;
  color: #ed7980;
  padding-top: 0;
  text-align: left;
  margin-bottom: 0.2em;
  line-height: 1.2em;
}
#wrap .company_area .swiper-container .swiper-button-prev {
  background-image: none;
}
#wrap .company_area .swiper-container .swiper-button-next {
  background-image: none;
}
#wrap .company_area .swiper-container .swiper-button-prev {
  top: 50%;
  width: 3.5vw;
}
#wrap .company_area .swiper-container .swiper-button-next {
  top: 50%;
  width: 3.5vw;
}
#wrap .company_area .swiper-container .swiper-button-prev img {
  display: block;
  width: 100%;
  height: auto;
}
#wrap .company_area .swiper-container .swiper-button-next img {
  display: block;
  width: 100%;
  height: auto;
}
.company_top {
  display: block;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 3%;
}
.company_area .catch {
  font-size: 2.3vw;
  font-weight: 600;
  color: #e8373d;
  text-align: justify;
  line-height: 1.35em;
  padding-top: 1.5em;
  padding-bottom: 0.8em;
  letter-spacing: 0.05em;
}
.company_area .text {
  font-size: 1.2vw;
  font-weight: 500;
  color: #ed7980;
  line-height: 1.6em;
  padding-bottom: 1.3em;
  display: block;
  text-align: justify;
}
.company_area .start {
  font-size: 1.2vw;
  font-weight: 500;
  color: #888;
  line-height: 1.6em;
  padding-bottom: 0.8em;
  text-align: right;
}
.company_area .start .icon {
  color: #e8373d;
}
.activities_area {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 0 auto;
  padding: 4% 5.5% 0 5.5%;
  background-image: url("/images/box_line.png");
  background-repeat: repeat-y;
  background-size: 100%;
  margin-top: 10.5%;
}
.activities_area .box_top {
  position: absolute;
  top: -3.5vw;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  margin: 0 auto;
}
.activities_area .box_top img {
  display: block;
  width: 100%;
  height: auto;
}
.activities_area .box_bottom {
  position: absolute;
  bottom: -1.9vw;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  margin: 0 auto;
}
.activities_area .box_bottom img {
  display: block;
  width: 100%;
  height: auto;
}
.activities_area > div {
  width: 100%;
  margin-bottom: 4%;
}
.activities {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
}
.activities > .number {
  width: 2vw;
  height: 2vw;
  line-height: 1.9vw;
  font-size: 1.15vw;
  font-weight: 600;
  color: #fff;
  background: #ed7980;
  border-radius: 50vw;
  text-align: center;
  margin-right: 1vw;
}
.activities > .sdgs_icon {
  width: 12%;
}
.activities > .text {
  width: 88%;
  font-size: 1.05vw;
  font-weight: 500;
  color: #ed7980;
  line-height: 1.6em;
  padding-bottom: 0;
  text-align: justify;
  padding-left: 2em;
}
.activities > .sdgs_icon img {
  display: block;
  width: 100%;
  height: auto;
}
.company_info {
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 4% 9%;
  border: 1px solid #ccd1d5;
  margin-top: 9%;
}
.company_info ul {
  display: block;
  width: 100%;
  margin: 0 auto;
}
.company_info ul li {
  font-size: 1.2vw;
  font-weight: 500;
  color: #ed7980;
  text-align: justify;
  line-height: 1.4em;
  border-bottom: 1px solid #ccd1d5;
  padding: 0.5em;
  margin-bottom: 0.5em;
}
.company_info ul li:nth-of-type(6) {
  word-break: break-all;
}
.company_info ul li:nth-of-type(7) {
  word-break: break-all;
}
.company_info ul li:last-of-type {
  border-bottom: none;
  margin-bottom: 0;
  word-break: break-all;
}
.not_found_box {
  display: block;
  width: 40%;
  margin: 0 auto;
  padding-top: 5%;
  margin-top: 9%;
  margin-bottom: 4%;
  box-shadow: 0 -3px 3px -3px #ccc;
}
.not_found_box .title {
  display: block;
  width: 100%;
  margin: 0 auto;
  font-size: 2vw;
  font-weight: 600;
  color: #7f8c95;
  text-align: center;
  padding-bottom: 1em;
}
.not_found_box .text {
  display: block;
  width: 100%;
  margin: 0 auto;
  font-size: 1.1vw;
  font-weight: 400;
  color: #7f8c95;
  text-align: center;
  padding-left: 1em;
  padding-bottom: 14%;
  box-shadow: 0 4px 3px -3px #ddd;
}
/*#interview*/
.interview_contents {
  display: block;
  width: 55%;
  margin: 0 auto;
}
.interview_contents figure {
  display: block;
  width: 100%;
  margin: 0 auto;
}
.interview_contents figure img {
  display: block;
  width: 100%;
  height: auto;
}
.interview_contents .title {
  display: block;
  width: 100%;
  font-size: 2vw;
  font-weight: 600;
  line-height: 1.4em;
  text-align: justify;
  padding: 0.5em 0;
  margin: 0 auto;
}
.interview_contents .lead {
  display: block;
  width: 100%;
  font-size: 1.1vw;
  font-weight: 400;
  line-height: 1.6em;
  text-align: justify;
  padding-bottom: 2em;
}
.news_area {
  display: block;
  width: 39.5%;
  margin: 0 auto;
  padding-top: 5%;
}
.news_area .title {
  display: block;
  width: 100%;
  font-size: 1.6vw;
  font-weight: 500;
  margin-bottom: 0.8em;
  text-align: left;
}
.news_area .title .em_1 {
  color: #ff0066;
}
.news_area .title .em_2 {
  color: #70ad47;
}
.news_area .title .em_3 {
  color: #00b0f0;
}
.news_area .title .em_4 {
  color: #ed7d31;
}
.news_area .title .em_5 {
  color: #2f5597;
}
.news_area .title .em_6 {
  color: #ffc000;
}
.news_area .title .em_7 {
  color: #ff0066;
}
.news_area .news_box {
  display: block;
  width: 100%;
  margin: 0 auto;
}
.news_area .news_box li a {
  display: inline-block;
  width: auto;
  font-size: 1.3vw;
  font-weight: 400;
  color: #5b9bd5;
  line-height: 1.4em;
  text-align: justify;
  margin-bottom: 0.8em;
  text-decoration: underline;
  /*padding-left: 1em;
  text-indent: -1em;*/
}
.news_area .news_box li:last-of-type a {
  margin-bottom: 0;
}
.news_area .news_box li a:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}
.history {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 0 auto;
  padding: 4% 5.5% 0 5.5%;
  background-image: url("/images/box_line.png");
  background-repeat: repeat-y;
  background-size: 100%;
  margin-top: 10.5%;
  margin-bottom: 12%;
}
.history .box_top {
  position: absolute;
  top: -3.5vw;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  margin: 0 auto;
}
.history .box_top img {
  display: block;
  width: 100%;
  height: auto;
}
.history .box_bottom {
  position: absolute;
  bottom: -1.9vw;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  margin: 0 auto;
}
.history .box_bottom img {
  display: block;
  width: 100%;
  height: auto;
}
.company_area h3 {
/*  font-size: 2vw;*/
	font-size:16px;
  font-weight: 600;
  text-align: justify;
  padding-bottom: 0.5em;
  line-height: 1.3em;
}
.company_area p {
  font-size: 1.15vw;
  font-weight: 400;
  text-align: justify;
  line-height: 1.6em;
}
.company_area .w_b_quote {
  font-size: 1.15vw;
  font-weight: 400;
  color: #ed7980;
  text-align: justify;
  line-height: 1.6em;
}
#about .about_area {
  display: block;
  width: 60%;
  margin: 0 auto;
}
#about .logo {
  display: block;
  width: 20vw;
  margin: 0 auto;
  margin-top: 10%;
  margin-bottom: 10%;
}
#about .logo img {
  display: block;
  width: 100%;
  height: auto;
}
#about h2 {
  font-size: 1.5vw;
  text-align: left;
}
#about .title {
  font-size: 1.5vw;
  font-weight: 600;
  padding-bottom: 1em;
}
#about .text {
  display: block;
  width: 100%;
  margin: 0 auto;
  font-size: 1.1vw;
  font-weight: 400;
  line-height: 1.8em;
  text-align: justify;
  padding-bottom: 1em;
}
#about .text_2 {
  padding-bottom: 0;
}
#about .about_box {
  display: block;
  width: 85%;
  margin: 0 auto;
  padding-top: 8%;
}
#about .text_top {
  margin-bottom: 5.5%;
  word-break: break-all;
}
#about .text a {
  color: #5b9bd5;
}
#about .text a:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}
#about .fa-arrow-up-right-from-square {
  padding-left: 0.3em;
  vertical-align: inherit;
}
.post_info {
  margin-top: 1.5em;
  margin-bottom: 8.5%;
}
.post_info dl {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 0.5em;
}
.post_info dl:last-of-type {
  padding-bottom: 1.8em;
}
.post_info dl > dt {
  width: auto;
  line-height: 1.8em;
  font-size: 1.1vw;
  font-weight: 400;
}
.post_info dl > dd {
  width: 86%;
  line-height: 1.8em;
  font-size: 1.1vw;
  font-weight: 400;
}
.post_info dl > dd ul li {
  font-size: 1.1vw;
  font-weight: 400;
  text-align: justify;
  padding-left: 1em;
  text-indent: -1em;
}
.about_box {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 auto;
    padding-top: 3.5%;
}
.about_box > .left_box {
    width: 51%;
    margin-right: 3%;
}
.about_box > .left_box ul {
    display: block;
    width: 100%;
    margin: 0 auto;
    text-align: left;
}
.about_box > .right_box ul li {
    display: block;
    width: 100%;
    margin-right: 3%;
    font-size: 1.24vw;
    font-weight: 500;
    color: #000;
    line-height: 2em;
    text-align: justify;
    word-break: break-all;
}
.about_box > .right_box {
    width: 45%;
}
.about_box > .left_box .tapestry_info {
    display: block;
    width: 100%;
    margin: 0 auto;
}
.about_box > .left_box .tapestry_info img {
    display: block;
    width: 100%;
    height: auto;
}
/* --------------------
 SP
----------------------- */
@media only screen and (max-width:767px) {
  #wrap .pc {
    display: none;
  }
  #wrap {
    width: 100%;
  }
  .site-logo {
    width: 50vw;
    margin-top: 4vw;
    margin-bottom: 4vw;
  }
  .contents_area {
    width: 93%;
    margin-top: 12%;
    line-height: 1.5;
  }
  .contents_area > .photo {
    width: 100%;
  }
  .contents_area > .info {
    width: 100%;
    padding-left: 0;
    padding-top: 6%;
  }
  .contents_area > .info h3 {
    font-size: 4.5vw;
  }
  .contents_area > .info .text {
    font-size: 4vw;
  }
  footer {
    display: block;
  }
  .footer_left {
    border-radius: 0 30px 0 0;
    padding: 6.5vw 7vw 5vw 7vw;
    width: 100%;
  }
  .footer_name {
    font-size: 4.3vw;
  }
  .footer_address {
    line-height: 1.4;
    margin-bottom: 0.5em;
    font-size: 3.5vw;
  }
  .footer_right {
    margin-top: 0;
    padding: 5vw 0 5vw 7vw;
  }
  .footer_tel {
    font-size: 3.5vw;
  }
  .footer_mail {
    font-size: 3.5vw;
  }
  .footer_right .nav_footer li:first-of-type {
    width: 100%;
  }
  .footer_right .nav_footer li:nth-of-type(2) {
    width: 100%;
  }
  .footer_right .nav_footer li:nth-of-type(3) {
    width: 100%;
  }
  .footer_right .nav_footer li:nth-of-type(4) {
    width: 100%;
  }
  footer ul li {
    width: 50%;
    margin-bottom: 1em;
  }
  .footer_right nav a {
    font-size: 3.5vw;
  }
  .footer_right > .footer_nav {
    width: 78%;
    padding-left: 2vw;
  }
  .footer_right > .footer_logo {
    width: 22%;
    margin-top: 2vw;
  }
  .copy {
    margin-top: 1.5em;
    font-size: 3.1vw;
  }
/**
  #area1 .contents_area h2 {
    font-size: 4.5vw;
    padding-bottom: 1.5em;
  }
**/
  .logo2 {
    width: 61vw;
    margin-bottom: 5vw;
  }
  .icon_wrap {
    width: 101%;
  }
  .sdg_icon {
    width: 16.6%;
    padding: 0.75vw;
  }
  h2 {
    font-size: 6.2vw;
  }
  .contents_title {
    font-size: 6.2vw;
  }
  #company .title {
    font-size: 4.5vw;
  }
  #search > dl {
    width: 100%;
    margin-right: 0;
  }
  .search_area dl dt {
    width: 100%;
    font-size: 3.8vw;
    letter-spacing: 0;
    text-align: left;
    padding-bottom: 1.5vw;
  }
  .search_area dl:first-of-type dd {
    width: 100%;
    margin-bottom: 2.5vw;
  }
  #search > dl:nth-of-type(2) {
    width: 100%;
    margin-right: 0;
  }
  .search_area dl dd {
    margin-bottom: 2.5vw;
  }
  .search_area .free_word dd {
    width: 100%;
  }
  .search_area label select {
    height: 38px;
    line-height: 38px;
    border: 1.5px solid #000;
    font-size: 16px;
    padding-left: 0.5em;
  }
  .search_area label input {
    height: 38px;
    line-height: 38px;
    border: 1.5px solid #000;
    font-size: 16px;
    padding-left: 0.5em;
  }
  form#search button[type="submit"] {
    width: 55%;
    position: static;
    height: 10.8vw;
    line-height: 10.8vw;
    font-size: 4vw;
    margin: 0 auto;
    margin-top: 2vw;
  }
  #search {
    width: 95%;
    margin: 0 auto;
    margin-top: 10%;
    margin-bottom: 14%;
    padding: 0;
  }
  .company_list_area > div {
    width: 100%;
    margin-right: 0;
    border-radius: 8px;
    margin-bottom: 10%;
  }
  #wrap .swiper-container {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
  }
  #company_list .company_name {
    font-size: 4.8vw;
  }
  .company_list_area > div .area {
    font-size: 3.4vw;
  }
  #company_list .company .info_box {
    padding: 0 5% 7% 5%;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
  }
  .company_list_area > div .catch {
    font-size: 4.3vw;
    border-bottom: 0.65vw solid #ed7980;
  }
  .company_list_area > div .text {
    font-size: 3.7vw;
    line-height: 1.5em;
  }
  .company_list_area > div .address {
    font-size: 3.4vw;
  }
  .company .btn a {
    padding: 2.5vw 0;
    font-size: 3.8vw;
  }
  .company .btn a .fa-caret-right {
    top: 1.8vw;
    right: 3.5vw;
    font-size: 5vw;
  }
  .page-numbers {
    font-size: 4vw;
  }
  .page-numbers li {
    width: 8vw;
    height: 8vw;
    line-height: 8vw;
    margin: 0 1vw;
  }
  .fa-chevron-right {
    padding-right: 4.5vw;
  }
  .video_wrap {
    width: 100%;
  }
  .video_wrap > div {
    width: 100%;
    margin-right: 0;
    margin-bottom: 10%;
  }
  .video_text {
    font-size: 4vw;
    padding-top: 0.5em;
  }
  .interview_area {
    margin-top: 15%;
  }
  #top .top_slide_img p {
    width: 100%;
  }
  .top_slide_text {
    width: 100%;
    padding: 2% 5% 10% 5%;
  }
  .company_text {
    font-size: 5.5vw;
    line-height: 1.6;
    padding-top: 0.8em;
  }
  .pickup {
    font-size: 4.5vw;
    padding-top: 1.8em;
  }
  .company_name {
    font-size: 3.6vw;
    padding-top: 1.5em;
  }
  #wrap .swiper-container-horizontal > .swiper-pagination-bullets, #wrap .swiper-pagination-custom, #wrap .swiper-pagination-fraction {
    top: 135vw;
    bottom: auto;
  }
  #wrap .swiper-pagination-bullet {
    width: 3vw;
    height: 3vw;
  }
  .search_area dl dd {
    width: 100%;
  }
  #search > .free_word {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .search_area label:after {
    font-size: 6.5vw;
    right: 2vw;
    top: 1.8vw;
  }
  .search_area dl:nth-of-type(2) label:after {
    right: 2vw;
  }
  .search_area dl:nth-of-type(3) label:after {
    right: 2vw;
  }
  .lity-close {
    right: 0 !important;
    top: 22% !important;
  }
  .video p .icon {
    top: 20vw;
    width: 17.5vw;
  }
  /*#company*/
  .company_area {
    width: 93%;
    padding: 8% 0;
  }
  .company_area .industry {
    font-size: 3.6vw;
  }
  .company_area .company_name {
    font-size: 5vw;
  }
  .company_top {
    width: 100%;
  }
  .company_area .catch {
    font-size: 4.6vw;
    line-height: 1.4em;
  }
  .company_area .text {
    font-size: 3.7vw;
  }
  .company_area .start {
    font-size: 3.5vw;
  }
  .activities_area > div {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-right: 0;
    margin-bottom: 6%;
  }
  .activities_area .box_top {
    top: -5.4vw;
  }
  .activities_area .box_bottom {
    bottom: -2.9vw;
  }
  .activities > .number {
    width: 6vw;
    height: 6vw;
    line-height: 5.7vw;
    font-size: 3.6vw;
    margin-right: 3vw;
    margin-top: 8vw;
  }
  .activities > .text {
    width: 70%;
    font-size: 3.6vw;
    padding-left: 0;
  }
  .activities_area {
    margin-top: 12.5%;
    padding: 5% 6% 0 6%;
  }
  .company_info {
    padding: 6% 5%;
    margin-top: 12%;
  }
  .company_info ul li {
    font-size: 3.7vw;
    padding: 0.8em;
    margin-bottom: 0;
  }
  #wrap .swiper-container-top .swiper-button-prev {
    top: 42%;
    width: 9.5vw;
  }
  #wrap .swiper-container-top .swiper-button-next {
    top: 42%;
    width: 9.5vw;
  }
  #wrap .company_area .swiper-container .swiper-button-prev {
    width: 9.5vw;
  }
  #wrap .company_area .swiper-container .swiper-button-next {
    width: 9.5vw;
  }
  #pageTop {
    bottom: 11vw;
    right: 2vw;
  }
  #pageTop a {
    width: 12vw;
  }
  #top {
    margin-top: 17vw;
  }
  #company {
    margin-top: 17vw;
  }
  #about {
    margin-top: 17vw;
    padding: 5% 0 8.5% 0;
  }
  #wrap .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 1.5vw;
  }
  .company .goals > li {
    width: 15.9%;
    margin-right: 0.75vw;
  }
  .interview_area .slider {
    padding: 6% 0;
  }
  .slider .slick-slide {
    margin: 0 10px;
  }
  #area4 {
    margin-bottom: 6%;
  }
  .company .btn a {
    height: 9.5vw;
  }
  .company .btn a:hover {
    height: 9.5vw;
  }
  .lity-close {
    right: 3.5vw !important;
    top: 38vw !important;
    font-size: 14.5vw !important;
  }
  .not_found_box {
    width: 85%;
    padding-top: 15.5%;
    margin-top: 27%;
    margin-bottom: 15%;
  }
  .not_found_box .title {
    font-size: 6.5vw;
  }
  .not_found_box .text {
    font-size: 3.7vw;
    padding-bottom: 21%;
  }
  .news_area {
    width: 93%;
    padding-top: 15%;
    padding-left: 0.8em;
    padding-right: 0.6em;
  }
  .news_area .title {
    font-size: 4.5vw;
  }
  .news_area .news_box li a {
    font-size: 3.8vw;
  }
  .company_list_area > div .info_list dt {
    width: 18.5%;
    font-size: 3.7vw;
  }
  .company_list_area > div .info_list dd {
    width: 81.5%;
    font-size: 3.7vw;
  }
  .company .btn a {
    margin-top: 4%;
  }
  .company .btn a:hover {
    margin-top: 4%;
  }
  .activities {
    align-items: flex-start;
  }
  .activities > .sdgs_icon {
    width: 25%;
    margin-top: 1.5vw;
    float: left;
    margin-right: 4vw;
  }
  .company_area h3 {
    font-size: 4.5vw;
    padding-bottom: 0.8em;
  }
  .company_area p {
    font-size: 3.7vw;
  }
  .company_area .w_b_quote {
    font-size: 3.7vw;
  }
  .footer_left .yokazo {
    top: 27.6vw;
    right: 2.5vw;
    width: 20vw;
  }
  #about .about_area {
    width: 100%;
  }
  #about .logo {
    width: 45vw;
    margin-top: 12%;
    margin-bottom: 12%;
  }
  #about h2 {
    font-size: 4.5vw;
  }
  #about .text {
    font-size: 3.7vw;
  }
  #about .about_box {
    width: 90%;
    padding-top: 10%;
  }
  #search > dl:nth-of-type(3) {
    width: 100%;
  }
  .search_area dl:nth-of-type(2) dd {
    width: 100%;
  }
  .search_area dl:nth-of-type(3) dd {
    width: 100%;
  }
  .search_area {
    width: 100%;
    margin: 0 auto;
  }
  #area4 .contents_area {
    padding-top: 12%;
  }
  .post_info {
    margin-top: 1.2em;
    margin-bottom: 9%;
  }
  .post_info dl > dd ul li {
    font-size: 3.7vw;
  }
  .post_info dl > dt {
    font-size: 3.7vw;
  }
  .post_info dl > dd {
    width: 100%;
    font-size: 3.7vw;
  }
  .post_info dl:last-of-type {
    padding-bottom: 1.2em;
  }
  #about .title {
    font-size: 4.5vw;
  }
	.wp-caption {
			width:100% !important;
	    margin: auto;

	}
	.about_box {
	    width: 100%;
	    padding-top: 6%;
	}
	.about_box > .right_box {
	    width: 100%;
	    margin-right: 0;
	}
	.about_box > .right_box ul {
	    display: block;
	    width: 100%;
	    margin: 0 auto;
	    text-align: left;
	}
	.about_box > .right_box ul li {
	    width: 100%;
	    margin-right: 0;
	    font-size: 3.6vw;
	}
	.about_box > .left_box {
	    width: 100%;
	    margin: 0 auto;
	    margin-top: 5%;
	    margin-right: -3%;
	}
	.about_box > .left_box .tapestry_info {
	    display: block;
	    width: 100%;
	    margin: 0 auto;
	}
	.about_box > .left_box .tapestry_info img {
	    display: block;
	    width: 95%;
	    height: auto;
	}
}
/* --------------------
 iPad
----------------------- */
@media screen and (max-width:950px) and (min-width:768px) {
  #search > dl:nth-of-type(2) {
    width: 23.5vw;
  }
  #search > dl:nth-of-type(3) {
    width: 21.5vw;
  }
  #search > .free_word {
    width: 36vw;
  }
  footer ul li {
    margin-bottom: 1em;
  }

}
/* --------------------
 iPad Pro
----------------------- */
@media screen and (max-width:1024px) {}
/* --------------------
 PC
----------------------- */
@media only screen and (min-width:768px) {
  #wrap .sp {
    display: none;
  }
  .lity-iframe .lity-container, .lity-youtube .lity-container, .lity-vimeo .lity-container, .lity-facebookvideo .lity-container, .lity-googlemaps .lity-container {
    max-width: 60vw !important;
  }
}

table{
  width: 100%;
  border-collapse: collapse;
}

table tr{
  border-bottom: solid 2px white;
}

table tr:last-child{
  border-bottom: none;
}

table th{
  position: relative;
  text-align: left;
  width: 30%;
  background-color: #2c3892;
  color: white;
  text-align: center;
  padding: 15px 0;
}

table th:after{
  display: block;
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  top:calc(50% - 10px);
  right:-10px;
  border-left: 10px solid #2c3892;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

table td{
  text-align: left;
  width: 70%;
  background-color: #eee;
  padding: 10px 0;
	padding-left:15px;
  line-height: initial;
	font-size: 90%;
}
