@charset "utf-8";

/* 共通設定
  ############################################################################################# */

* {
  box-sizing: border-box;
}
body {
  background: url(../images/main_pattern01.jpg);
  color: #222;
  font-size: 14px;
  line-height: 1.8;
}
a {
  color: #000;
  text-decoration: none;
}
ul {
  list-style-type: none;
  margin-top: 0;
  padding-left: 0;
}
img {
  max-width: 100%;
}

.sp {
  display: none;
}

.dsfl {
  align-items: center;
  -js-display: flex;
  display: flex;
}

.dsfl2022 {
  align-items: center;
  -js-display: flex;
  display: flex;
}
img.wide {
  height: auto;
  width: 100%;
}
.hover:hover {
  opacity: .7;
  text-decoration: none;
}

@media only screen and (max-width:740px) {
  .sp {
    display: inline-block;
  }
  .pc {
    display: none;
  }
}


/* ヘッダー
  ############################################################################################# */
.headerIndex {
  position: relative;
}
.headerFix {
  animation-name: fadein;
  animation-duration: 2s;
  background-color: #fff;
  border-bottom: 2px solid #dddada;
  left: 0;
  right: 0;
  padding: 10px 0;
  position: fixed;
  z-index: 1;
}
@keyframes fadein {
from {
    opacity: 0;
}
to {
    opacity: 1;
}
}
.headerIn {
  justify-content: space-between;
  margin: auto;
  width: 1080px;
}
.headerLogoLink {
  line-height: 0;
}
.headerIndex .headerFix {
  background-color: transparent;
  border-bottom: none;
  padding: 0;
  position: absolute;
  top: 27px;
}
.headerIndex .headerFix.fix {
  background-color: #fff;
  border-bottom: 2px solid #dddada;
  padding: 10px 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999;
}
.navigation {
  line-height: 0;
  margin-bottom: 0;
}
.navigation li:not(.sns) {
  position: relative;
}
.navigation li:not(.sns):not(:last-child) {
  margin-right: 40px;
}
.navigation li:not(.sns):hover img, .navigation li.active img {
  opacity: 0;
}
.navigation li:not(.sns) .hoverAction {
  display: none;
}
.navigation li:not(.sns):hover .hoverAction, .navigation li.active .hoverAction {
  display: block;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  left: 50%;
  position: absolute;
  text-align: center;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
}
.navigation li.active:after {
  content: "";
  border-bottom: 2px solid #ef869b;
  bottom: -7px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 44px;
}
.headerIndex .headerFix .navigation li:not(.sns) {
  display: none;
}
.headerFix.fix .navigation li:not(.sns) {
  display: block;
}
.navigation li.sns:not(:last-child) {
  margin-right: 8px;
}
nav:not(.indexNav) {
  background-color: rgba(255, 255, 255, .75);
  font-size: 16px;
}
.headerIn .navItem img {
  height: 12px;
}
.indexGlobalNav {
  bottom: 0;
  position: absolute;
  width: 100%;
}
.indexGlobalNav .navigation {
  justify-content: center;
  padding: 30px 0 27px;
}
.indexGlobalNav .navigation li:not(.sns):not(:last-child) {
  margin-right: 100px;
}
.indexGlobalNav .navigation li:last-child {
  margin-right: 0;
}

@media only screen and (max-width:1100px) {
  .headerIn {
    width: calc(100vw * 1080 / 1100);
  }
}
@media only screen and (max-width:950px) {
  .headerIndex .headerIn {
    padding:0 calc(100vw * 20 / 950);
	top: calc(100vw * 27 / 950);
  }
  .headerFix.fix .headerIn {
    padding-right: calc(100vw * 10 / 950);
    padding-left: calc(100vw * 10 / 950);
  }
  .headerLogo {
    width: calc(100vw * 280 / 950);
  }
  .navItem img {
    height: calc(100vw * 17 / 950);
  }
  .headerIn .navItem img {
    height: calc(100vw * 12 / 950);
  }
  .navigation li:not(.sns) {
    margin-right: calc(100vw * 40 / 950);
  }
  .navigation .sns img {
    width: calc(100vw * 34 / 950);
  }
}

@media only screen and (max-width:740px) {
  .headerIndex .headerIn {
    position: fixed;
  }
  .headerIn {
    width: 100%;
	z-index: 1;
  }
  .headerFix {
    padding: 0;
  }
  .headerFix .headerIn {
    padding: calc(100vw * 25 / 740) calc(100vw * 20 / 740);
    top: 0;
  }
  .headerLogo {
    width: calc(100vw * 320 / 740);
  }
  .indexNav{
    display: none;
    position: absolute;
    top:0;
    width: 100%;
    height: 100vh;
    background:rgba(255,255,255,0.8);
    left: 0;
  }
  #nav_toggle{
    display: block;
    width: calc(100vw * 70 / 740);
    height: calc(100vw * 35 / 740);
    position: relative;
    z-index: 100;
  }
  #nav_toggle div {
    position: relative;
  }
  #nav_toggle span{
    display: block;
    height: 2px;
    background: #000;
    position:absolute;
    width: 100%;
    left: 0;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;	
  }
  #nav_toggle span:nth-child(1){
    top:0px;
  }
  #nav_toggle span:nth-child(2){
    top:calc(100vw * 16 / 740);
  }
  #nav_toggle span:nth-child(3){
    top:calc(100vw * 32 / 740);
  }
  .open #nav_toggle span:nth-child(1) {
    top: 12px;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  .open #nav_toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }
  .open #nav_toggle span:nth-child(3) {
    top: 12px;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
  .headerFix .navigation {
    flex-wrap: wrap;
	height: 70%;
	left: 50%;
	position: absolute;
	text-align: center;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
  }
  .headerIndex .headerFix .navigation li:not(.sns), .headerFix .navigation li:not(.sns) {
    display: block;
	margin-right: 0;
	width: 100%;
  }
  .navigation li.sns:not(:last-child) {
    margin-right: 0;
  }
  .headerFix .navigation li.sns {
    width: calc(100% / 3);
  }
  .headerIn .navItem img {
    height: auto;
  }
  .navigation .sns img {
    width: auto;
  }
}

/* TOPスライダー
  ############################################################################################# */
.slickItem {
  position: relative;
}
.slickTitle {
  margin: 0;
  position: absolute;
  text-align: center;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
}
.slickTitle img {
  margin: auto;
}

@media only screen and (max-width:1100px) {
  .slickTitle img {
    width: calc(100vw * 790 / 1100);
  }
}

@media only screen and (max-width:740px) {
  .slickTitle img {
    width: 90%;
  }
}


/* メインコンテンツ
  ############################################################################################# */
.mainTitle {
  font-size: 14px;
  margin-top: 0;
  margin-bottom: 45px;
  text-align: center;
}
.mainTitle img {
  max-height: 66px;
}
.patternDots {
  background: url(../images/main_pattern01.jpg);
}
.topAboutUs {
  padding: 80px 0 140px;
}
.textFrameLeft {
  margin: auto;
  padding: 50px 0;
  position: relative;
  text-align: center;
  width: 895px;
}
.textFrameLeft:before, .textFrameRight:before {
  border-bottom: 1px solid #d1d1d1;
  content: "";
  height: 1px;
  position: absolute;
  width: 93px;
}
.textFrameLeft:after, .textFrameRight:after {
  border-left: 1px solid #d1d1d1;
  content: "";
  height: 93px;
  position: absolute;
  width: 1px;
}
.textFrameLeft:before {
  left: 0;
  top: 8px;
}
.textFrameLeft:after {
  left: 8px;
  top: 0;
}
.textFrameRight:before {
  bottom: 8px;
  right: 0;
}
.textFrameRight:after {
  bottom: 0;
  right: 8px;
}
.width {
  margin: auto;
  position: relative;
  width: 1080px;
}
.aboutBtn {
  margin-top: 60px;
}
.aboutBtn .btnItem {
  align-items: center;
  background: url(../images/btnItem_bg.png) no-repeat;
  background-size: 100%;
  display: inline-flex;
  height: 285px;
  justify-content: center;
  text-align: center;
  width: 520px;
}
_:-ms-lang(x), .aboutBtn .btnItem {
  display: block\9;
}
.aboutBtn .btnItem:not(:last-child) {
  margin-right: 40px;
}
.bgGray {
  background-color: #f4f3ed;
}
.topBrand {
  padding: 65px 0;
}
.topBrandList {
  flex-wrap: wrap;
  justify-content: space-between;
  margin: auto;
  width: 980px;
}
.brandItem {
  background-color: #fff;
  padding: 5px 15px 15px;
  text-align: center;
  width: 320px;
}
.topBrandList .brandItem:nth-child(n+4) {
  margin-top: 10px;
}
.brandItem a, .recruitItem a {
  display: block;
  height: 100%;
}
.brandLogo {
  justify-content: center;
}
.brandLogo img {
  margin-top: 15px;
  margin-bottom: 15px;
}
.brandName, .underNavItem {
  padding-left: 15px;
  position: relative;
}
.brandName:before, .underNavItem:before {
  border: 4px solid transparent;
  border-left: 8px solid #ee6c87;
  content: "";
  left: 0;
  position: absolute;
  top: calc((100% - 8px) / 2);
}
.topRecruit {
  padding: 80px 0;
}
.recruitList {
  align-items: stretch;
  flex-wrap: wrap;
  justify-content: space-between;
}
.recruitItem {
  text-align: center;
  width: 345px;
}
.recruitItem.noImage {
  margin-top: 22px;
  width: 530px;
}
.recruitItem a {
  background-color: #7ea37a;
  padding: 45px;
}
.recruitImage {
  display: inline-flex;
  align-items: flex-end;
}
.recruitListTitle {
  color: #fff;
  font-size: 22px;
}
.recruitItem.noImage .recruitListTitle {
  font-size: 30px;
  line-height: 1;
}
.readmore {
  border: 2px solid #fff;
  border-radius: 50px;
  display: inline-block;
  margin-top: 8px;
  padding: 8px 0 3px;
  width:214px;
}
.topNews {
  margin: 120px 0 40px;
}
.topNewsList {
  margin: auto;
  width: 750px;
}
.newsItem:not(:last-child) {
  margin-bottom: 20px;
}
.newsIcon {
  margin-right: 20px;
}
.moreBtn {
  margin-top: 50px;
  text-align:center;
}

@media only screen and (max-width:1100px) {
  .width {
    width: calc(100vw * 1080 / 1100);
  }
  .aboutBtn .btnItem {
    height: calc(100vw * 285 / 1100);
    width: calc(100vw * 520 / 1100);
  }
  .aboutBtn .btnItem img {
    max-height: 60%;
  }
  .topBrandList {
    width: calc(100vw * 980 / 1100);
  }
  .brandItem {
    width: calc(100% / 3 - 7px);
  }
  .recruitItem {
    width: calc(100vw * 345 / 1100);
  }
  .recruitItem.noImage {
    width: calc(100vw * 530 / 1100);
  }
}
@media only screen and (max-width:950px) {
  .textFrameLeft {
    padding-right: calc(100vw * 40 / 950);
    padding-left: calc(100vw * 40 / 950);
    width: calc(100vw * 895 / 950);
  }
  .recruitListTitle {
    font-size: calc(100vw * 22 / 950);
  }
  .readmore {
    width: calc(100vw * 214 / 950);
  }
  .recruitItem a {
    padding: calc(100vw * 45 / 950);
  }
}
@media only screen and (max-width:740px) {
  .mainTitle img {
    max-height: calc(100vw * 70 / 740);
  }
  .textFrameLeft {
    padding: calc(100vw * 60 / 740);
	text-align: left;
    width: calc(100vw * 624 / 740);
  }
  .textFrameLeft.spRepair {
    padding: 0;
    text-align: left;
  }
  .textFrameLeft.spRepair:before, .spRepair .textFrameRight:before,
  .textFrameLeft.spRepair:after, .spRepair .textFrameRight:after {
    display: none;
  }
  .width, .topBrandList {
    width: calc(100vw * 690 / 740);
  }
  .topAboutUs .mainTitle img.sp {
    width: calc(100vw * 249 / 740);
  }
  .aboutBtn .btnItem {
    background-image: url(../images/btnItem_bg_sp.png);
    height: calc(100vw * 285 / 740);
    width: calc(100vw * 320 / 740);
  }
  .aboutBtn .btnItem:not(:last-child) {
    margin-right: calc(100vw * 40 / 740);
  }
  .aboutBtn .btnItem:first-child img {
    width: calc(100vw * 250 / 740);
  }
  .aboutBtn .btnItem:last-child img {
    width: calc(100vw * 97 / 740);
  }
  .topBrand .mainTitle img.sp {
    width: calc(100vw * 199 / 740);
  }
  .topBrandList .brandItem:nth-child(n+3) {
    margin-top: 4%;
  }
  .brandItem {
    width: 48%;
  }
  .brandName {
    display: inline-block;
    font-size: 12px;
    text-align: left;
  }
  .topAboutUs, .topBrand, .topRecruit {
    padding: 10% 0;
  }
  .topRecruit .mainTitle img.sp {
    width: calc(100vw * 216 / 740);
  }
  .recruitItem {
    width: calc(100vw * 220 / 740);
  }
  .recruitItem a {
    padding: calc(100vw * 27 / 740) calc(100vw * 10 / 740);
  }
  .recruitItem:first-of-type .recruitImage img {
    width: calc(100vw * 69 / 740);
  }
  .recruitItem:nth-of-type(2) .recruitImage img {
    width: calc(100vw * 60 / 740);
  }
  .recruitItem:nth-of-type(3) .recruitImage img {
    width: calc(100vw * 118 / 740);
  }
  .recruitItem.noImage {
    margin-top: calc(100vw * 20 / 740);
    width: calc(100vw * 336 / 740);
  }
  .recruitItem.noImage .recruitListTitle {
    font-size: 16px;
  }
  .readmore {
    padding: 0;
    width: calc(100vw * 170 / 740);
  }
  .recruitListTitle {
    font-size: 14px;
  }
  .readmore img {
    width: calc(100vw * 110 / 740);
  }
  .topNews {
    margin: 10% 0 8%;
  }
  .topNews .mainTitle img.sp {
    width: calc(100vw * 380 / 740);
  }
  .topNewsList {
    width: calc(100vw * 550 / 740);
  }
  .newsIcon {
    align-self: self-start;
    margin-top: calc(100vw * 10 / 740);
    width: calc(100vw * 130 / 740);
  }
  .newsDate {
    display: block;
  }
  .moreBtn img {
    width: 75%;
  }
}


/* 下層共通
  ############################################################################################# */
.breadcrumb {
  padding-top: 80px;
  margin-bottom: 35px;
}
.underNav {
  background-color: #f4f3ed;
}
.underNavIn {
  justify-content: flex-end;
  padding: 3px 0 2px;
}
.underNavItem {
  font-size: 13px;
  padding-left: 13px;
}
.underNavItem:not(:first-child) {
  margin-left: 20px;
}
.underNavItem:before {
  border: 3px solid transparent;
  border-left: 6px solid #ee6c87;
}
.underNavItem.active a {
  color: #ee6c87;
}
.breadList {
  margin-top: 5px;
}
.breadItem:not(:last-child):after {
  content: ">";
  display: inline-block;
  margin:0 6px;
}
.thinBg {
  background-color: #f5f5f5;
}
.thinBg02 {
  background-color: #f9f9f6;
}
.greenBg {
  background-color: #8ebaae;
}
.thinGrayBg {
  background-color: #fcfbfa;
}
.width830 {
  width: 830px;
}
.width980 {
  width: 980px;
}
.underTitle {
  font-size: 30px;
  margin-bottom: 0;
  padding-top: 90px;
  text-align: center;
}
.underTitle + p {
  margin-top: 5px;
}
.underTitle02 {
  font-size: 32px;
  font-weight: normal;
  margin: 0;
  text-align: center;
}
.underTitle02.base2 {
  font-weight: bold;
  padding-top: 40px;
}
.subTitleMincho {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 20px;
  text-align: center;
}
.underTitle02 + .subTitleMincho {
  margin-top: 0;
}
.smallTitle {
  font-size: 28px;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 10px;
  text-align: center;
}
.smallSubTitle {
  font-size: 16px;
}
.wideTitle {
  background-color: #ef6c89;
  color: #fff;
  font-size: 22px;
  font-weight: normal;
  margin-top: 0;
  padding: 28px 0 25px;
  text-align: center;
}
.wideTitle.gray {
  background-color: #f4f3ed;
  color: #333;
}

@media only screen and (max-width:1100px) {
  .width980 {
    width: calc(100vw * 980 / 1100);
  }
}

@media only screen and (max-width:1000px) {
  .width830 {
    width: calc(100vw * 830 / 1000);
  }
  .underTitle {
    font-size: calc(100vw * 30 / 1000);
  }
}

@media only screen and (max-width:950px) {
  .breadcrumb {
    padding-top: calc(100vw * 73 / 950);
  }
}

@media only screen and (max-width:740px) {
  .spUnderPage {
    padding-top: 25vw;
  }
  .breadcrumb {
    margin-top: calc(100vw * 74 / -740);
    padding-top: 0;
  }
  .width830, .width980 {
    width: calc(100vw * 690 / 740);
  }
  .underNavIn {
    justify-content: space-around;
  }
  .underNavItem {
    font-size: calc(100vw * 24 / 740);
  }
  .underTitle {
    font-size: calc(100vw * 32 / 740);
	padding-top: calc(100vw * 90 / 740);
  }
  .underTitle02 {
    font-size: calc(100vw * 38 / 740);
  }
  .subTitleMincho {
    font-size: calc(100vw * 28 / 740);
  }
  .wideTitle {
    font-size: calc(100vw * 34 / 740);
    padding: calc(100vw * 28 / 740) 0 calc(100vw * 25 / 740);
  }
}


/* リクルート、スタッフ紹介
  ############################################################################################# */
.recruitMain, .visionMain {
  padding: 42px 0;
}
.recruitMain.noTopPd {
  padding-top: 0;
}	
.recruitMainImg {
  display: block;
  margin: auto;
}
.recruitPd {
  padding-bottom: 70px;
}
.recruitSlider {
  margin: 80px auto 0;
  width: 980px;
}
.recruitSlider .slick-track {
  align-items: baseline;
  display: flex;
}
.recruitSlider .slick-slide {
  float: none;
}
.recruitSlider .slick-prev, .recruitSlider .slick-next {
  height: 50px;
  width: 50px;
}
.recruitSlider .slick-prev {
  left: -50px;
}
.recruitSlider .slick-next {
  right: -50px;
}
.recruitSlider .slick-prev:before, .recruitSlider .slick-next:before {
  border-top: 4px solid #fff;
  border-right: 4px solid #fff;
  content: "";
  height: 16px;
  opacity: 1;
  position: absolute;
  top: 14px;
  width: 16px;
}
.recruitSlider .slick-prev:before {
  -webkit-transform: rotate(225deg);
  transform: rotate(225deg);
  left: 18px;
}
.recruitSlider .slick-next:before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  right: 18px;
}
.recruitSlider .slick-prev:after, .recruitSlider .slick-next:after {
  background-color: #dc9595;
  border-radius: 50%;
  content: "";
  display: block;
  height: 50px;
  width: 50px;
}
.recruitSlickItem {
  position: relative;
  text-align: center;
}
.recruitSlickItem .recruitSlickImg {
  max-height: 300px;
}
.recruitSlickIn {
  background-color: rgba(255, 255, 255, .8);
  bottom: 88px;
  font-size: 13px;
  left: 0;
  line-height: 1.4;
  padding: 15px 28px;
  position: absolute;
  text-align: left;
}
.recruitSlickIn > * {
  margin: 0;
}
.recruitSlickName {
  font-size: 16px;
  margin-bottom: 6px;
}
.recruitBottom {
  margin-top: -88px;
  padding: 135px 0 55px;
}
.recruitBottomIn {
  margin: auto;
  padding: 20px;
  position: relative;
  width: 870px;
}
.recruitBottomIn:before, .recruitBottomIn:after,
.recruitBottomBorder:before, .recruitBottomBorder:after {
  border-top: 4px solid #fff;
  border-right: 4px solid #fff;
  content: "";
  height: 90px;
  position: absolute;
  width: 90px;
}
.recruitBottomIn:before, .recruitBottomIn:after {
  top: 0;
}
.recruitBottomIn:before {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  left: 0;
}
.recruitBottomIn:after, .recruitBottomBorder:after {
  right: 0;
}
.recruitBottomBorder:before, .recruitBottomBorder:after {
  bottom: 0;
}
.recruitBottomBorder:before {
  -webkit-transform: rotate(-180deg);
  transform: rotate(-180deg);
  left: 0;
}
.recruitBottomBorder:after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}
.recruitBottomBorder {
  background-color: #fff;
  padding: 30px 20px 40px;
  text-align: center;
}
.recruitLinkBtn {
  background-color: #7ea37a;
  color: #fff;
  display: inline-block;
  font-size: 16px;
  padding: 15px 0;
  width: 318px;
}
.recruitLinkBtn:first-of-type {
  margin-right: 6px;
}
.recruitIntro {
  margin-bottom: 60px;
  position: relative;
}
.recruitIntro .mainImg {
  height: auto;
  vertical-align: bottom;
  width: 100%;
}
.recruitProf {
  background-color: #8ebaae;
  bottom: -60px;
  color: #fff;
  padding: 37px 37px 60px;
  position: absolute;
  right: calc((100vw - 980px) / 2);
  width: 296px;
}
.leftStyle .recruitProf {
  left: calc((100vw - 980px) / 2);
  right: auto;
}
.recruitProf.oonoBg {
  background-image: url(../images/mina_oono_name.png);
  background-position: 85% 92%;
  background-repeat: no-repeat;
}
.recruitProf.nakakiBg {
  background-image: url(../images/nakaki_name.png);
  background-position: 85% 92%;
  background-repeat: no-repeat;
}
.recruitProf.tajimaBg {
  background-image: url(../images/tajima_name.png);
  background-position: 85% 92%;
  background-repeat: no-repeat;
}
.recruitProf.tanakaBg {
  background-image: url(../images/tanaka_name.png);
  background-position: 85% 92%;
  background-repeat: no-repeat;
}
.recruitProf.oiwakeBg {
  background-image: url(../images/oiwake_name.png);
  background-position: 85% 92%;
  background-repeat: no-repeat;
}
.recruitProf.takayamaBg {
  background-image: url(../images/takayama_name.png);
  background-position: 85% 92%;
  background-repeat: no-repeat;
}
.recruitProf.sagawaBg {
  background-image: url(../images/sagawa_name.png);
  background-position: 85% 92%;
  background-repeat: no-repeat;
}
.recruitProf.kuriharaBg {
  background-image: url(../images/kurihara_name.png);
  background-position: 85% 92%;
  background-repeat: no-repeat;
}
.recruitProf.kawamotoBg {
  background-image: url(../images/kawamoto_name.png);
  background-position: 85% 92%;
  background-repeat: no-repeat;
}
.recruitProf.kuwabaraBg {
  background-image: url(../images/kuwabara_name.png);
  background-position: 85% 92%;
  background-repeat: no-repeat;
}
.recruitProf > * {
  line-height: 1.5;
  margin: 0;
}
.recruitName {
  font-size: 28px;
  margin-bottom: 5px;
}
.recruitIntroText {
  padding: 50px 0 143px;
}
.recruitReason, .recruitJob {
  align-items: flex-start;
  display: flex;
}
.recruitReason {
  padding-top: 72px;
}
.width900 {
  width: 900px;
}
.reasonText {
  width: 680px;
}
.reasonText > *:not(:first-child):not(:last-child),
.jobText > *:not(:first-child):not(:last-child) {
  margin-bottom: 30px;
}
.reasonTitle {
  line-height: 0;
  margin: 0 0 20px;
}
.reasonImg {
  margin-top: -145px;
}
.recruitJob {
  margin-top: 16px;
  padding-bottom: 100px;
}
.leftStyle .jobLeftImg {
  order: 2;
}
.jobText {
  margin-left: 40px;
}
.leftStyle .jobText {
  margin-right: 40px;
  margin-left: 0;
  order: 1;
}
.jobTitle {
  margin-top: 30px;
}
.carrerStep {
  padding: 66px 0 107px;
}
.stepTitle {
  margin-top: 0;
  margin-bottom: 56px;
  text-align: center;
}
.stepList {
  background-color: #fff;
  border: 4px solid #f8dfe4;
  margin-top: 0;
  margin-bottom: 0;
  padding: 28px 35px 24px;
  position: relative;
}
.stepList:not(:last-child) {
  margin-bottom: 55px;
}
.stepList:not(:last-child):after {
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 21px solid #ee6c87;
  bottom: -45px;
  content: "";
  height: 0;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 0;
}
.stepName {
  background-color: #ee6c87;
  color: #fff;
  left: 18px;
  padding: 2px 25px 0;
  position: absolute;
  top: -17px;
}
.stepText {
  margin-left: 0;
}
.recruitComment {
  padding: 40px 0;
}
.commentText {
  color: #fff;
  font-size: 16px;
  line-height: 2;
  margin-left: 70px;
}
.staffIntro {
  padding-top: 50px;
}
.staffIntroTitle {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.7;
  margin-top: 0;
  margin-bottom: 50px;
  text-align: center;
}
.staffList {
  align-items: baseline;
  flex-wrap: wrap;
}
.staffListItem {
  position: relative;
  text-align: center;
  width: calc(100% / 5);
}
.staffListItem:nth-child(n+6) {
  margin-top: 25px;
}
.requirementTab {
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 48px;
}
.requirementItem {
  font-size: 16px;
  text-align: center;
  width: 473px;
}
.requirementItem > a {
  background-color: #f4f3ed;
  display: block;
  padding: 25px;
}
.requirementItem:nth-child(n+3) {
  margin-top: 32px;
}
.requirementItem.active > a, .tabTitle {
  background-color: #ef6c89;
  color: #fff;
}
#tabContents {
  margin-top: -80px;
  padding-top: 80px;
}

#tabContents2022 {
  margin-top: -80px;
  padding-top: 80px;
}

.requirementContents {
  display: none;
  padding-bottom: 70px;
}
.requirementContents.show {
  display: block;
}
.tabTitle {
  font-size: 22px;
  font-weight: normal;
  margin-top: 0;
  margin-bottom: 45px;
  padding: 25px 0 22px;
  text-align: center;
}
.requirementIntro > * {
  width: calc(100% / 2); 
}
.requirementIntro {
  margin-bottom: 80px;
}
.requirementIntro .text {
  padding-left: 48px;
}
.requirementIntro .link {
  background-color: #fbe8ec;
  color: #ef6c89;
  font-size: 16px;
  padding: 20px;
  text-align: center;
}
.requirementIntro .link span {
  background: url(../images/linkarrow.png) no-repeat right;
  padding-right: 45px;
}
.requirementTable {
  border-collapse: collapse;
  width: 100%;
}
.requirementTable caption, .requirementTable th {
  text-align: left;
}
.requirementTable caption {
  font-size: 22px;
  margin-bottom: 25px;
}
.requirementTable th {
  font-weight: normal;
  vertical-align: top;
  width: 165px;
}
.requirementTable th, .requirementTable td {
  padding: 20px 0;
  border-bottom: 2px solid #e0dfd8;
}
.requirementTable tr:first-of-type th, .requirementTable tr:first-of-type td {
  border-top: 2px solid #e0dfd8;
}
.requirementTable td > * {
  margin-top: 0;
}
.requirementTable td > *:last-child {
  margin-bottom: 0;
}
.entryBtnArea {
  margin-top: 96px;
  padding: 105px 0;
  text-align: center;
}
.entryBtn {
  background-color: #7ea37a;
  color: #fff;
  display: inline-block;
  font-size: 32px;
  font-weight: bold;
  padding: 23px 0 20px;
  width: 467px;
}
.careerIntroText {
  margin-top: 40px;
  margin-bottom: 35px;
}
.careerList {
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 18px;
  margin-bottom: 0;
  padding-bottom: 60px;
}
.careerItem {
  background-color: #7ea37a;
  color: #fff;
  font-size: 22px;
  padding: 23px 0 20px;
  position: relative;
  text-align: center;
  width: 240px;
}
.careerItem:last-of-type {
  width: 100%;
}
.careerItem:not(:last-of-type) {
  margin-bottom: 28px;
}
.careerItem:not(:nth-child(3n)):not(:last-of-type):after {
  background: url(../images/career_arrow.png) no-repeat;
  content: "";
  height: 17px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -56px;
  width: 69px;
}
.careerSelect {
  text-align: center;
}
.careerUp {
  font-size: 22px;
  color: #ee6c87;
}
.careerBase, .careerSelectList > * {
  background-color: #fee0e6;
  padding: 23px 0 20px;
}
.careerBase {
  margin-bottom: 110px;
  position: relative;
}
.careerBase:before, .careerBase:after {
  content: "";
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
}
.careerBase:before {
  background-color: #ee6c87;
  bottom: -60px;
  height: 39px;
  width: 76px;
}
.careerBase:after {
  border-left: 53px solid transparent;
  border-right: 53px solid transparent;
  border-top: 39px solid #ee6c87;
  bottom: -99px;
}
.careerSelectList {
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: -15px;
  margin-bottom: 0;
  padding-bottom: 76px;
}
.careerSelectList > * {
  width: 398px;
}
.careerSelectList > :nth-child(n+3) {
  margin-top: 22px;
}


@media only screen and (max-width:1100px) {
  .recruitSlider {
    width: calc(100vw * 900 / 1100);
  }
  .recruitSlider .slick-prev {
    left: calc(100vw * 50 / 1100 * -1);
  }
  .recruitSlider .slick-prev, .recruitSlider .slick-next, .recruitSlider .slick-prev:after, .recruitSlider .slick-next:after {
    height: calc(100vw * 50 / 1100);
    width: calc(100vw * 50 / 1100);
  }
  .recruitSlider .slick-prev:before, .recruitSlider .slick-next:before {
    height: calc(100vw * 16 / 1100);
	top: calc(100vw * 14 / 1100);
    width: calc(100vw * 16 / 1100);
  }
  .recruitSlider .slick-prev:before {
    left: calc(100vw * 18 / 1100);
  }
  .recruitSlider .slick-next:before {
    right: calc(100vw * 18 / 1100);
  }
  .requirementItem {
    width: calc(100vw * 473 / 1100);
  }
  .requirementItem > a {
    padding: calc(100vw * 25 / 1100);
  }
  .tabTitle {
    font-size: calc(100vw * 22 / 1100);
	padding: calc(100vw * 25 / 1100) 0 calc(100vw * 22 / 1100);
  }
  .requirementIntro {
    margin-bottom: calc(100vw * 80 / 1100);
  }
  .requirementIntro .link {
	padding: calc(100vw * 20 / 1100);;
  }
  .requirementTable caption {
    font-size: calc(100vw * 22 / 1100);
  }
  .entryBtnArea {
    padding: calc(100vw * 105 / 1100) 0;
  }
  .entryBtn {
    font-size: calc(100vw * 32 / 1100);
	padding: calc(100vw * 23 / 1100) 0 calc(100vw * 20 / 1100);
  }
}

@media only screen and (max-width:1000px) {
  .recruitSlickImg {
    max-height: calc(100vw * 520 / 1000);
  }
  .recruitBottomIn {
    width: calc(100vw * 870 / 1000);
  }
  .recruitLinkBtn {
    width: calc(100vw * 318 / 1000);
  }
  .recruitProf {
	right: 20px;
  }
  .leftStyle .recruitProf {
    left: 20px;
  }
  .width900 {
    width: calc(100vw * 900 / 1000);
  }
  .jobLeftImg {
    width: calc(100vw * 450 / 1000);
  }
  .careerItem {
    font-size: calc(100vw * 22 / 1000);
    width: calc(100vw * 240 / 1000);
  }
  .careerItem:not(:nth-child(3n)):not(:last-of-type):after {
    background-size: 100%;
    height: calc(100vw * 17 / 1000);
    right: calc((100vw * 56 / 1000) * -1);
    width: calc(100vw * 69 / 1000);
  }
  .careerUp {
    font-size: calc(100vw * 22 / 1000);
  }
  .careerBase {
    margin-bottom: calc(100vw * 110 / 1000);
  }
  .careerBase:before {
    bottom: calc((100vw * 60 / 1000) * -1);
    height: calc(100vw * 39 / 1000);
    width: calc(100vw * 76 / 1000);
  }
  .careerBase:after {
    border-left: calc(100vw * 53 / 1000) solid transparent;
    border-right: calc(100vw * 53 / 1000) solid transparent;
    border-top: calc(100vw * 39 / 1000) solid #ee6c87;
	bottom: calc((100vw * 99 / 1000) * -1);
  }
  .careerSelectList > * {
    width: calc(100vw * 398 / 1000);
  }
}

@media only screen and (max-width:740px) {
  .recruitSlider {
    width: calc(100vw * 600 / 740);
  }
  .recruitSlickImg {
    max-height: calc(100vw * 660 / 740);
  }
  .recruitSlickItem .recruitSlickImg {
    max-height: calc(100vw * 400 / 740);
  }
  .recruitSlider .slick-prev, .recruitSlider .slick-next, .recruitSlider .slick-prev:after, .recruitSlider .slick-next:after {
    height: calc(100vw * 50 / 740);
	width: calc(100vw * 50 / 740);
  }
  .recruitSlider .slick-prev {
    left: calc(100vw * 60 / 740 * -1);
  }
  .recruitSlider .slick-next {
    right: calc(100vw * 60 / 740 * -1);
  }
  .recruitSlider .slick-prev:before, .recruitSlider .slick-next:before {
    height: calc(100vw * 16 / 740);
	top: calc(100vw * 14 / 740);
	width: calc(100vw * 16 / 740);
  }
  .recruitSlider .slick-prev:before {
    left: calc(100vw * 18 / 740);
  }
  .recruitSlider .slick-next:before {
    right: calc(100vw * 18 / 740);
  }
  .recruitLinkBtn {
    width: 100%;
  }
  .recruitLinkBtn:first-of-type {
    margin-right: 0;
	margin-bottom: 10px;
  }
  .recruitIntroText {
    margin-top: calc((100vw * 80 / 740) * -1);
	padding: calc(100vw * 140 /740) 0 calc(100vw * 90 /740);
  }
  .recruitProf, .leftStyle .recruitProf {
    left: 0;
	margin: auto;
    padding: calc(100vw * 47 / 740) calc(100vw * 47 / 740);
	right: 0;
	width: calc(100vw * 650 / 740);
  }
  .recruitProf.oonoBg, .recruitProf.nakakiBg, .recruitProf.tajimaBg, .recruitProf.tanakaBg, .recruitProf.oiwakeBg, .recruitProf.takayamaBg, .recruitProf.sagawaBg, .recruitProf.kuriharaBg, .recruitProf.kawamotoBg, .recruitProf.kuwabaraBg {
    background-image: none;
  }
  .recruitName {
    font-size:  calc(100vw * 46 / 740);
  }
  .recruitReason {
    padding-top: calc(100vw * 100 / 740);
  }
  .reasonTitle, .jobTitle {
    text-align: center;
  }
  .reasonTitle img, .jobTitle img, .stepTitle img {
    height: calc(100vw * 40 / 740);
  }
  .recruitJob {
    flex-wrap: wrap;
	padding-bottom: 0;
  }
  .jobLeftImg {
    margin-left: calc((100vw - (100vw * 690 / 740)) / 2 * -1);
    max-width: 100vw;
    order: 2;
	width: 100vw;
  }
  .jobText {
    margin-left: 0;
    order: 1;
  }
  .leftStyle .jobText {
    margin-right: 0;
  }
  .width900 {
    width: calc(100vw * 690 / 740);
  }
  .reasonText > *:not(:first-child):not(:last-child), .jobText > *:not(:first-child):not(:last-child) {
    margin-bottom: 20px;
  }
  .carrerStep {
    padding-bottom: 57px;
  }
  .stepName {
    left: calc(100vw * 22 / 740);
  }
  .stepList {
    padding: calc(100vw * 38 / 740) calc(100vw * 45 / 740) calc(100vw * 28 / 740);
  }
  .recruitComment {
    padding: 10px 0;
  }
  .commentImg {
    width: calc(100vw * 255 / 740);
  }
  .commentText {
    font-size: 14px;
    margin-left: calc(100vw * 30 / 740);
  }
  .staffIntro {
    padding-top: calc(100vw * 50 / 740);
  }
  .staffListItem {
    width: calc(100% / 2);
  }
  .staffListItem:nth-child(n+3) {
    margin-top: 25px;
  }
  .requirementTab {
    margin-bottom: calc(100vw * 48 / 740);
  }
  .requirementItem {
    font-size: calc(100vw * 24 / 740);
    width: 100%;
  }

.dsfl2022 li.requirementItem {
    font-size: calc(100vw * 24 / 740);
    width: 90%;
    margin:0 auto;
    margin-top: 0px;
    margin-bottom: 10px;
    padding-bottom: 10px;
}
  .requirementItem:nth-child(n+3) {
    margin-top: 6%;
  }
  #tabContents {
    margin-top: calc(100vw * 120 / 740 * -1);
    padding-top: calc(100vw * 120 / 740);
  }
.dsfl2022 li.requirementItem a.#tabContents {
    margin-top: -2px;
    padding-top: 0px;
  }
  .tabTitle {
    font-size: calc(100vw * 32 / 740);
	margin-bottom: calc(100vw * 45 / 740);
  }
  .requirementIntro {
    flex-wrap: wrap;
  }
  .requirementIntro .text {
    padding-left: 0;
	width: 100%;
  }
  .requirementIntro .link {
    font-size: calc(100vw * 30 / 740);
    margin: auto;
    width: 75%;
  }
  .requirementTable caption {
    font-size: calc(100vw * 30 / 740);
	margin-bottom: calc(100vw * 25 / 740);
  }
  .requirementTable th, .requirementTable td {
    display: block;
	padding: calc(100vw * 20 / 740) 0;
	width: 100%;
  }
  .requirementTable tr:first-of-type td {
    border-top: none;
  }
  .requirementTable th {
    border-bottom: 1px dotted #e0dfd8;
	font-weight: bold;
  }
  .entryBtnArea {
    margin-top: calc(100vw * 96 / 740);
  }
  .entryBtn {
    font-size: calc(100vw * 32 / 740);
    width: 60%;
  }
  .careerItem {
    font-size: calc(100vw * 22 / 740);
	width: calc(100vw * 200 / 740);
  }
  .careerItem:not(:last-of-type) {
    margin-bottom: calc(100vw * 28 / 740);
  }
  .careerUp {
    font-size: calc(100vw * 28 / 740);
  }
  .careerBase {
    margin-bottom: calc(100vw * 110 / 750);
  }
  .careerBase:before {
    bottom: calc((100vw * 60 / 750) * -1);
	height: calc(100vw * 39 / 750);
	width: calc(100vw * 76 / 750);
  }
  .careerBase:after {
    border-left: calc(100vw * 53 / 750) solid transparent;
    border-right: calc(100vw * 53 / 750) solid transparent;
	border-top: calc(100vw * 39 / 750) solid #ee6c87;
	bottom: calc((100vw * 99 / 750) * -1);
  }
  .careerSelect .underTitle02 + p {
    text-align: left;
  }
  .careerSelectList {
    margin-top: -5px;
	padding-bottom: calc(100vw * 76 / 740);
  }
  .careerSelectList > * {
    width: 47%;
  }
}



/* エントリー
  ############################################################################################# */
.entryTitle {
  margin-bottom: -10px;
}
.form_must {
  display: inline-block;
  position: relative;
}
.form_must:after {
  background-color: #ef6c89;
  border-radius: 6px;
  color: #fff;
  content: "必須";
  display: inline-block;
  font-size: 13px;
  line-height: 1;
  padding: 5px 5px 3px;
  position: absolute;
  right: -40px;
  top: 0;
}
.entryTable input[type="text"], .entryTable input[type="email"], .cp_ipselect, textarea {
  border: 2px solid #e0dfd8;
  border-radius: 10px;
  line-height: 2.5;
  padding: 0 10px;
}
.wd650 {
  width: 650px;
}
.wd166 {
  width: 166px;
}
.entryTable tr:first-of-type th, .entryTable tr:first-of-type td {
  border-top: none;
}
.entryTable:not(.last) tr:last-of-type th, .entryTable:not(.last) tr:last-of-type td {
  border-bottom: none;
}
.cp_ipselect {
  overflow: hidden;
  display: inline-flex;
  position: relative;
}
.cp_ipselect select {
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  background-image: none;
  border: none;
  box-shadow: none;
  cursor: pointer;
  line-height: 2.5;
  outline: none;
  padding-right: 50px;
  text-overflow: ellipsis;
  width: 100%;
}
.cp_ipselect select::-ms-expand {
  display: none;
}
.cp_ipselect:before {
  border: 2px solid;
  border-color:  transparent transparent #e0dfd8 #e0dfd8;
  content: '';
  height: 12px;
  padding: 0;
  pointer-events: none;
  position: absolute;
  right: 0.9em;
  top: 8px;
  transform: rotate(-45deg);
  width: 12px;
}
.radio-input{
  display: none;
}
.radio-parts{
  padding-left: 30px;
  position:relative;
  margin-right: 20px;
}
.radio-parts:before{
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  left: 0;
  width: 20px;
  height: 20px;
  border: 1px solid #e0dfd8;
  border-radius: 50%;
}
label.mfp_checked .radio-parts:after{
  content: "";
  display: block;
  position: absolute;
  top: 5px;
  left: 4px;
  width: 14px;
  height: 14px;
  background: #ef6c89;
  border-radius: 50%;
}
.formSubmit {
  background-color: #ef6c89;
  color: #fff;
  border: none;
  display: block;
  font-size: 16px;
  line-height: 1.8;
  margin: 60px auto;
  padding: 15px 0;
  width: 318px;
}
#mfp_confirm_table.requirementTable th {
  width: 250px;
}
div.mfp_buttons button#mfp_button_send, div.mfp_buttons button#mfp_button_cancel {
  margin-right: inherit;
  margin-left: inherit;
  width: 400px;
}
div.mfp_buttons button#mfp_button_cancel {
  background-color: #9f9f9f;
}

@media only screen and (max-width:1100px) {
  .cp_ipselect:before {
    height: calc(100vw * 12 / 1100);
    top: calc(100vw * 7 / 1100);
    width: calc(100vw * 12 / 1100);
  }
}
@media only screen and (max-width:1000px) {
  .wd650 {
    width: calc(100vw * 650 / 1000);
  }
  .wd166 {
    width: calc(100vw * 166 / 1000);
  }
  .radio-parts:before {
    height: calc(100vw * 20 / 1000);
    top: 0;
    width: calc(100vw * 20 / 1000);
  }
  label.mfp_checked .radio-parts:after {
    height: calc(100vw * 14 / 1000);
    top: calc(100vw * 4 / 1000);
    width: calc(100vw * 14 / 1000);
  }
  .formSubmit {
    width: calc(100vw * 318 / 1000);
  }
  div.mfp_buttons button#mfp_button_send, div.mfp_buttons button#mfp_button_cancel {
    width: calc(100vw * 648 / 1000);
  }
  .cp_ipselect select {
    padding-right: calc(100vw * 50 / 1000);
  }
  #mfp_confirm_table.requirementTable th {
    width: calc(100vw * 250 / 1000);
  }
}
@media only screen and (max-width:740px) {
  .mainTitle img.entryTitle, .mainTitle img.privacyTitle {
	max-height: calc(100vw * 90 / 740);
  }
  .requirementTable th {
    border-bottom: none;
	padding-bottom: 0;
  }
  .wd650 {
    width: 100%;
  }
  .wd166 {
    width: calc(100vw * 166 / 740);
  }
  .cp_ipselect select {
    padding-right: calc(100vw * 50 / 740);
  }
  .cp_ipselect:before {
    height: calc(100vw * 12 / 740);
    top: calc(100vw * 14 / 740);
    width: calc(100vw * 12 / 740);
  }
  .radio-parts {
    padding-left: calc(100vw * 40 / 740);
  }
  .radio-parts:before {
    height: calc(100vw * 26 / 740);
    top: calc(100vw * 1 / 740);
    width: calc(100vw * 26 / 740);
  }
  label.mfp_checked .radio-parts:after {
    height: calc(100vw * 20 / 740);
    top: calc(100vw * 6 / 740);
    left: calc(100vw * 5 / 740);
    width: calc(100vw * 20 / 740);
  }
  .formSubmit {
    width: 60%;
  }
  div.mfp_buttons button#mfp_button_send, div.mfp_buttons button#mfp_button_cancel {
    width: 46%;
  }
  #mfp_confirm_table.requirementTable th {
    width: 100%;
  }
}



/* 会社概要
  ############################################################################################# */
.companyIntro {
  padding: 48px 0 109px;
}
.companySummary {
  border-collapse: collapse;
}
.companySummary th {
  font-weight: normal;
  text-align: left;
  vertical-align: top;
  width: 190px;
}
.companySummary th, .companySummary td {
  border-bottom: 2px solid #d5d3c8;
  padding: 25px 0;
}
.companySummary td > * {
  margin-top: 0;
}
.companySummary td > p:last-child {
  margin-bottom: 0;
}
.companyVisionImg {
  padding: 100px 0 145px;
  text-align: center;
}
.companyMessage, .companyAccess {
  padding-bottom: 40px;
}
.messageName {
  text-align: right;
}
.placeTitle {
  font-size: 16px;
  padding-top: 40px;
}
.companyVision .underTitle:first-of-type {
  padding-top: 0;
}

@media only screen and (max-width:1000px) {
  .companySummary th {
    width: calc(100vw * 190 / 1000);
  }
  .companySummary th, .companySummary td {
    padding: calc(100vw * 25 / 1000) 0;
  }
  .companyVisionImg img {
    width: calc(100vw * 628 / 1000);
  }
}

@media only screen and (max-width:740px) {
  .companyIntro {
    padding: calc(100vw * 48 / 740) 0 calc(100vw * 109 / 740);
  }
  .mainTitle img.companyTitle {
    max-height: calc(100vw * 90 / 740);
  }
  .companySummary th {
    width: calc(100vw * 190 / 740);
  }
  .companySummary th, .companySummary td {
    padding: calc(100vw * 25 / 740) 0;
  }
  .companyVisionImg {
    padding: calc(100vw * 100 / 740) 0 calc(100vw * 145 / 740);
  }
  .companyVisionImg img {
    width: calc(100vw * 628 / 740);
  }
}




/* 事業内容
  ############################################################################################# */
.serviceIntro {
  padding-top: 40px;
}
.serviceMain {
  background-color: #fff;
  margin-bottom: 40px;
  padding: 29px 0;
  position: relative;
  text-align: center;
  width: 100%;
}
.serviceMain .circle {
  position: absolute;
  text-align: left;
}
.serviceMain .circle > * {
  margin: 0;
}
.circle.leftTop, .circle.rightTop {
  top: 50px;
}
.circle.leftTop, .circle.leftBottom {
  left: 38px;
}
.circle.rightTop, .circle.rightBottom {
  left: 563px;
}
.circle.leftBottom, .circle.rightBottom {
  top: 450px;
}
.circleHead {
  font-size: 20px;
}
.serviceShop {
  padding-bottom: 90px;
}
.serviceShopTitle {
  margin-bottom: 25px;
}
.serviceShopLink {
  border: 2px solid #aeaca0;
  color: #888678;
  display: block;
  font-size: 22px;
  margin: 70px auto 0;
  padding: 12px 0 9px;
  text-align: center;
  width: 370px;
}

@media only screen and (max-width:1000px) {
  .serviceMain {
    padding: calc(100vw * 29 / 1000);
  }
  .serviceMainImg {
    width: calc(100vw * 507 / 1000);
  }
  .circle.leftTop, .circle.rightTop {
    top: calc(100vw * 50 / 1000);
  }
  .circle.leftTop, .circle.leftBottom {
    left: calc(100vw * 38 / 1000);
  }
  .circle.rightTop, .circle.rightBottom {
    left: calc(100vw * 563 / 1000);
  }
  .circle.leftBottom, .circle.rightBottom {
    top: calc(100vw * 450 / 1000);
  }
  .circleHead {
    font-size: calc(100vw * 20 / 1000);
  }
  .serviceShopLink {
    font-size: calc(100vw * 22 / 1000);
    padding: calc(100vw * 12 / 1000) 0 calc(100vw * 9 / 1000);
    width: calc(100vw * 370 / 1000);
  }	  
}

@media only screen and (max-width:740px) {
  .serviceMain {
    padding: calc(100vw * 100 / 740);
  }
  .serviceMainImg {
    width: calc(100vw * 400 / 740);
  }
  .serviceMain .circle > * {
    font-size: calc(100vw * 20 / 740);
  }
  .circle.leftTop, .circle.leftBottom {
    left: calc(100vw * 18 / 740);
  }
  .circle.rightTop, .circle.rightBottom {
    left: calc(100vw * 440 / 740);
  }
  .circle.leftBottom, .circle.rightBottom {
    top: calc(100vw * 480 / 740);
  }
  .serviceShopLink {
    font-size: calc(100vw * 30 / 740);
    margin-top: calc(100vw * 70 / 740);
    padding: calc(100vw * 12 / 740) 0 calc(100vw * 9 / 740);
    width: calc(100vw * 370 / 740);
  }	  
}



/* プライバシーポリシー
  ############################################################################################# */
.privacyMain {
  padding: 40px 0;
}
.privacySubtitle {
  font-size: 16px;
  margin-top: 0;
}
.privacySubtitle:not(:first-of-type) {
  margin-top: 50px;
}

@media only screen and (max-width:740px) {
  .privacySubtitle {
    font-size: 14px;
  }
}




/* お問い合わせ
  ############################################################################################# */
.contactMain {
  padding: 40px 0;
}
.thanksMain {
  text-align: center;
}



/* 404
  ############################################################################################# */
.page404 {
  text-align: center;
}



/* フッター
  ############################################################################################# */
.footer {
  background-color: #f5f5f5;
}
.footerIn {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-left: 50px;
  margin-bottom: 30px;
  padding-top: 55px;
  padding-bottom: 17px;
}
.footerTitle {
  font-weight: bold;
  margin-top: 0;
  margin-bottom: 6px;
}
.footerItem:before {
  content: "-";
  display: inline-block;
  margin-right: 5px;
}
.footerLogo {
  bottom: 0;
  position: absolute;
  right: 0;
}
.copyright {
  background-color: #dc9595;
  color: #fff;
  font-size: 12px;
  margin: 0;
  padding: 12px 0 9px;
  text-align: center;
}

@media only screen and (max-width:740px) {
  .footerIn {
    font-size: 12px;
    margin-bottom: 4%;
    margin-left: 0;
    padding-top: 10%;
    padding-bottom: 0;
    width: 100%;
  }
  .footerList, .footerList:last-child {
    width: 45%;
  }
  .footerList:first-child {
    order: 1;
  }
  .footerList:nth-child(2) {
    order: 3;
  }
  .footerList:nth-child(3) {
    order: 2;
  }
  .footerList:last-child {
    margin-top: 8%;
    order: 4;
  }
  .footerLogo {
    margin-bottom: 20px;
    position: relative;
    width: calc(100vw * 315 / 740);
  }
}



/* アニメーション
  ############################################################################################# */
.anm_mod {
  opacity: 0;
  transform: translate3d(0, 40%, 0);
  transition: all 1.2s ease;
}
.animation .anm_mod.active {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.inview-anime {
  opacity: 0;
}
.inview-anime.down {
  opacity:1;
  transition-property: opacity;
  transition-duration: 1.2s;
  transition-delay: .2s;
}
