@charset "UTF-8";
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0;
	-webkit-tap-highlight-color: transparent;
	outline: 0;
	vertical-align: baseline;
	-webkit-text-size-adjust: 100% !important;
	text-size-adjust: 100% !important;
	-moz-text-size-adjust: 100% !important;
}
select,button,input,textarea,button {
	border: 1px solid #333;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/*table,td,th {
	border: 1px solid #333;
}*/
td,th {
	line-height: 1.5;
	padding: 0.3em 0.4em;
}
th {
	font-weight: bold;
	font-size: 1.05em;
}
html {
	font-size: 100%;
	background-color: #ffffff;
	word-break: break-word;
}
body {
	min-height: 100vh;
	color: #000000;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
	font: normal normal normal 14px/1.6 "Helvetica", "Arial", sans-serif;
	background-color: #ffffff;
}
hr {
	overflow: visible;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	margin: 1em 0;
	height: 0;
	border-top: 1px solid #ccc;
}
button:disabled {
	cursor: default;
}
a,a:active,a:link,a:visited {
	text-decoration: none;
}
article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,dialog,hr,img {
	display: block;
}
audio,canvas,iframe,img,svg,video {
	display: inline-block;
	vertical-align: middle;
}
[hidden],dialog:not([open]),template {
	display: none;
}
button,input,select,textarea {
	font-family: inherit;
	border-radius: 0;
}
textarea {
	resize: vertical;
}
audio,canvas,progress,video {
	display: inline-block;
}
input,select {
	vertical-align: middle;
}
button {
	vertical-align: inherit;
	line-height: inherit;
	cursor: pointer;
}
button,select {
	text-transform: none;
}
code,kbd,pre,samp {
	font-family: monospace, sans-serif;
	font-size: 1em;
}
mark {
	background-color: #ff0;
}
small {
	font-size: 80%;
}
sub,sup {
	position: relative;
	font-size: 70%;
	line-height: 0;
}
sub {
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
ul {
	list-style: none;
}
img {
	width: 100%;
	max-width: 100%;
	height: auto;
	image-rendering: -webkit-optimize-contrast;
}
svg:not(:root) {
	overflow: hidden;
}
a{
	color: inherit;
		-moz-transition: all 0.26s ease-out;
	-o-transition: all 0.26s ease-out;
	-webkit-transition: all 0.26s ease-out;
	-ms-transition: all 0.26s ease-out;
}
a:hover{
	opacity: 0.6;
	-moz-transition: all 0.26s ease-out;
	-o-transition: all 0.26s ease-out;
	-webkit-transition: all 0.26s ease-out;
	-ms-transition: all 0.26s ease-out;
}
h1,h2,h3,h4,h5{font-weight: 500;}

/*-----------------------------------------------------------
cmn
-------------------------------------------------------------*/
.ef{
  -moz-transition: all 0.26s ease-out;
  -o-transition: all 0.26s ease-out;
  -webkit-transition: all 0.26s ease-out;
  -ms-transition: all 0.26s ease-out;
}
body {
  width: 100%;
  margin:0;
  padding:0;
  text-align:left;
  line-height:2.4em;
  font-family: 'dnp-shuei-mgothic-std','Noto Sans JP', "游ゴシック", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", "Hiragino Kaku Gothic Pro", Osaka, sans-serif;
  font-weight: 400;
  height:100%;
  color: #707070;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  letter-spacing: 1.5px;
}
@media only screen and (min-width: 900px) {
::-webkit-scrollbar {
  width: 6px;
  background-color: #f3f3f3;
  border-left: 1px solid #dddddd;
}

::-webkit-scrollbar:hover {
  background-color: #f3f3f3;
}

::-webkit-scrollbar-thumb {
  cursor: pointer;
  background-color: #26466d;
}

::-webkit-scrollbar-thumb:hover {
  background-color: #26466d;
}

::-webkit-scrollbar-button:start:decrement,
::-webkit-scrollbar-button:end:increment {
  display: none;
}
}
.is_pc { display: block !important; }
.is_sp { display: none !important; }

body {
	font-size: 0.8vw;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
body {
	font-size: 1.5vw;
	line-height: 2em;
}
}
@media only screen and (max-width: 599px) {
body {
	font-size: 3.2vw;
	letter-spacing: 3px;
}
.is_pc { display: none !important; }
.is_sp { display: block !important; }
}
.tac{text-align: center;}
/*-----------------------------------------------------------

cmn laypout

-------------------------------------------------------------*/
.header{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.headerL{
	width: 18%;
	padding-left: 4vw;
	padding-top: 2vw;
}
.h_logo{
	width: 90%;
	display: block;
	margin-bottom: 2vw;
}
.gNav{
	display: flex;
	justify-content: center;
}
.gNavList{

}
.gNavList_item{
	font-size: 1vw;
	font-weight: bold;
	margin-bottom: 1vw;
}
.gNavList_itemBox{
	margin-bottom: 1.5vw;
}
.gNavList_itemChild{
	padding-left: 1vw;
	border-left: 1px solid #707070;
	font-size: 0.8vw;
}
.headerR{
	width: 80%;
	position: relative;
}
.h_sns{
	position: absolute;
    width: 15%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    right: 10%;
    top: 2vw;
}
.h_sns svg{
	fill: #fff;
	width: 1.6vw;
}
@media only screen and (min-width: 900px) {
.mainVTop{
	height: 80vh;
  position: relative;
  overflow: hidden;
  border-radius: 0 0 0 6vw;
}
.mainVTop img{
	position: absolute;
    height: 100%;
    bottom: 0;
    left: 0;
    display: block;
    object-fit: cover;
    height: inherit;
}
.footerBnr_pc {
    width: 85%;
}
.footerBnr_sp {
	display: none;
}
.footerBnr {
    /* width: 70%; */
    margin: 1vw auto 1vw;
}
}
.mainTtl{
	margin: 1vw 0 2vw;
	font-size: 4vw;
	font-weight: bold;
	line-height: 1;
	color: #2874AB;
}
.footer{
	background: #FEE772;
	padding: 4vw 0 1vw;
}
.footerInner{
	width: 85%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.footerInnerL{
	width: 20%;
}
.f_logo{
	margin-bottom: 1vw;
}
.footerInnerL_txt{
	color: #333;
	line-height: 2em;
	margin-bottom: 2vw;
	font-size: 0.9vw;
}
.f_sns{
	display: flex;
	justify-content: space-around;
	align-items: center;
	width: 85%;
}
.f_sns li{
	width: 12%;
}
.f_sns svg{
	width: 100%;
}
svg#icon_x {
    width: 80%;
}

.footerInnerR{
	width: 70%;
}
.footerInnerRList{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.footerInnerRList_item{
	font-size: 0.9vw;
	margin-right: 2.2vw;
	color: #333;
	font-weight: bold;
	margin-bottom: 3vw;
}
.footerInnerRList_itemChild {
    padding-left: 1vw;
    border-left: 1px solid #707070;
    font-size: 0.8vw;
}
.copyRight{
	text-align: center;
	color: #333;
	font-weight: bold;
}
.fix_btnBox{
	position: fixed;
  width: 11%;
  right: 4%;
  top: 43vw;
  z-index: 100;
  display: none!important;
}
.fix_btnBoxSub{
  top: 35vw;
}
.nav_button,.nav_wrap{
	display: none;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}
.headerL{
	width: 100%;
	padding-left: 4vw;
	padding-top: 2vw;
}
.h_logo{
	width: 20%;
	display: block;
	margin-bottom: 2vw;
}
.headerR{
	width: 100%;
  position: relative;
}
.gNav{
	width: 80%;
	display: none;
}
.h_sns {
    
    position: absolute;
    width: 15%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    right: 10%;
    top: 2vw;
    display: none;
}

.nav_wrap.open {
  display: block;
}
.nav_wrap.close {
  display: none;
}
.nav_button {
  display: block;
  cursor: pointer;
  padding: 3vw;
}
.nav_button:hover{
  opacity: 1;
}
/*メニューボタン*/
.nav_button,
.nav_button span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}
.nav_button {
  z-index: 110;
  position: fixed;
  right: 2%;
  top: 1%;
}
.nav_button.active{
  z-index: 220;
  background: none;
  width: 24px;
  height: 32px;
  right: 4%;
  top: 1%;
  padding: 0;
}
.nav_button.active span{
  width: 90%;
}
.nav_button span {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  width: 60%;
  height: 2px;
  background-color: #707070;
}
.pageSub .nav_button {
  right: 3%;
  top: 1%;
}
.pageSub .nav_button span {
  background-color: #333;
  box-shadow: unset;
}
.pageSub .nav_button.active {
  background-color: #333;
  top: 2%;
  right: 6%;
}
.pageSub .nav_button.active span {
  background-color: #333;
}
.nav_button span:nth-of-type(1) {
  top: 26%;
}
.nav_button span:nth-of-type(2) {
  top: 48%;
}
.nav_button span:nth-of-type(3) {
  bottom: 26%;
}
.nav_button.active span:nth-of-type(1) {
  -webkit-transform: translateY(16px) rotate(-45deg);
  transform: translateY(16px) rotate(-45deg);
  background-color: #707070;
  outline: none;
      top: -1%;
}
.nav_button.active span:nth-of-type(2) {
  opacity: 0;
  outline: none;
}
.nav_button.active span:nth-of-type(3) {
  -webkit-transform: translateY(-16px) rotate(45deg);
  transform: translateY(-16px) rotate(45deg);
  background-color: #707070;
  outline: none;
  bottom: -5%;
}
.nav_wrap {
  position: fixed;
  right: 0;
  top: 0;
  display: none;
  z-index: 210;
  background-color: #707070;
  height: 100%;
  width: 100vw;
  padding:
  env(safe-area-inset-top, 20px)
  env(safe-area-inset-right, 20px)
  env(safe-area-inset-bottom, 20px)
  env(safe-area-inset-left, 20px);
  background-color: #FEE772;
  overflow: auto;
  padding-bottom: 6vw;
}


.nav_wrapInner{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: column;
  width: 100%;
  margin: 0 auto;
  height: fit-content;
}
.nav_wrapInner_logo{
width: 23%;
    padding-left: 4%;
    padding-top: 2vw;
    display: block;
    margin-bottom: 4vw;
}
.nav_wrapInner_logo a{
display: block;
width: 100%;
}
.navLinkBox{
  width: 85%;
  margin: 0 auto;
  margin-bottom: 8vw;
  
}
.navLink{
  width: 100%;
   display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: column;
}
.navLink + .navLink{
  width: 40%;
}
.navLinkItem{
  font-size: 2vw;
  margin-bottom: 2vw;
  color: #2E2E2E;
}
.navLinkItemCase{
	width: 100%;
	margin-top: 1vw;
}
.navLinkItemCase a {
    font-size: 1.4vw;
    padding: 1vw 2vw;
    padding-left: 4vw;
    display: block;
    border-left: 1px solid #707070;
    white-space: nowrap;
    margin-left: 1.5vw;
}
.nav_sns{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 90%;
	margin: auto;
	margin-top: 3vw;
}
.nav_sns li{
	width: 8%;
	margin-right: 2vw;
}
.nav_sns svg{
	width: 100%;
}
.mainTtlBox{
	display: flex;
	justify-content: center;
}
.mainTtl{
	margin: 4vw 0 2vw;
  font-size: 6vw;
  font-weight: bold;
  line-height: 1.2;
  color: #2874AB;
  text-align: center;
}
.footer{
	background: #FEE772;
	padding: 10vw 0 6vw;
}
.footerInner{
	width: 85%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	position: relative;
}
.footerInnerL{
	width: 100%;
}
.f_logo{
	margin-bottom: 3vw;
	width: 30%;
}
.footerInnerL_txt{
	color: #333;
	line-height: 2em;
	margin-bottom: 6vw;
	font-size: 2vw;
}
.f_sns{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 85%;
	position: absolute;
	bottom: 3vw;
	left: 0;
	right: 0;
	margin: auto;
}
.f_sns li{
	width: 7%;
	margin: 0 2vw;
}
.f_sns svg{
	width: 100%;
}
.footerInnerR{
	width: 100%;
	margin-bottom: 12vw;
}
.footerInnerRList{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.footerInnerRList_item{
	font-size: 2vw;
	margin-right: 0vw;
	color: #333;
	font-weight: bold;
	margin-bottom: 2vw;
	width: 100%;
}
.footerInnerRList_itemChild {
    padding-left: 2vw;
    border-left: 1px solid #707070;
    font-size: 2vw;
    padding-top: 2vw;
    margin-left: 1.5vw;
}
.footerBnr_pc{
	display: none;
}
.footerBnr_sp {
	width: 48%;
    margin: 2vw auto 6vw;
}
.copyRight{
	text-align: center;
	color: #333;
	font-weight: bold;
	font-size: 1.4vw;
	letter-spacing: 2px;
}
.fix_btnBoxSP{
	position: fixed;
  width: 100%;
  right: 0%;
  top: unset;
  bottom: 0;
  z-index: 100;
  display: none;
}
}
@media screen and (max-width: 599px) {  /* ============== SP LAYOUT ============== */
.header{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.headerL{
	width: 100%;
	padding-left: 4vw;
	padding-top: 2vw;
}
.h_logo{
	width: 40%;
	display: block;
	margin-bottom: 2vw;
}
.headerR{
	display: none;
}
.gNav{
	width: 80%;
	display: none;
}

.nav_wrap.open {
  display: block;
}
.nav_wrap.close {
  display: none;
}
.nav_button {
  display: block;
  cursor: pointer;
  padding: 6vw;
}
.nav_button:hover{
  opacity: 1;
}
/*メニューボタン*/
.nav_button,
.nav_button span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}
.nav_button {
  z-index: 110;
  position: fixed;
  right: 2%;
  top: 0.5%;
}
.nav_button.active{
  z-index: 220;
  background: none;
  width: 24px;
  height: 32px;
  right: 4%;
  top: 1%;
  padding: 0;
}
.nav_button.active span{
  width: 90%;
}
.nav_button span {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  width: 60%;
  height: 2px;
  background-color: #707070;
}
.pageSub .nav_button {
  right: 3%;
  top: 1%;
}
.pageSub .nav_button span {
  background-color: #333;
  box-shadow: unset;
}
.pageSub .nav_button.active {
  background-color: #333;
  top: 2%;
  right: 6%;
}
.pageSub .nav_button.active span {
  background-color: #333;
}
.nav_button span:nth-of-type(1) {
  top: 26%;
}
.nav_button span:nth-of-type(2) {
  top: 48%;
}
.nav_button span:nth-of-type(3) {
  bottom: 26%;
}
.nav_button.active span:nth-of-type(1) {
  -webkit-transform: translateY(16px) rotate(-45deg);
  transform: translateY(16px) rotate(-45deg);
  background-color: #707070;
  outline: none;
      top: -1%;
}
.nav_button.active span:nth-of-type(2) {
  opacity: 0;
  outline: none;
}
.nav_button.active span:nth-of-type(3) {
  -webkit-transform: translateY(-16px) rotate(45deg);
  transform: translateY(-16px) rotate(45deg);
  background-color: #707070;
  outline: none;
  bottom: -5%;
}
.nav_wrap {
  position: fixed;
  right: 0;
  top: 0;
  display: none;
  z-index: 210;
  background-color: #707070;
  height: 100%;
  width: 100vw;
  padding:
  env(safe-area-inset-top, 20px)
  env(safe-area-inset-right, 20px)
  env(safe-area-inset-bottom, 20px)
  env(safe-area-inset-left, 20px);
  background-color: #FEE772;
  overflow: auto;
  padding-bottom: 6vw;
}


.nav_wrapInner{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: column;
  width: 100%;
  margin: 0 auto;
  height: fit-content;
}
.nav_wrapInner_logo{
width: 41%;
padding-left: 4%;
padding-top: 3vw;
display: block;
margin-bottom: 4vw;
}
.nav_wrapInner_logo a{
display: block;
width: 100%;
}
.navLinkBox{
  width: 85%;
  margin: 0 auto;
  margin-bottom: 8vw;
  
}
.navLink{
  width: 100%;
   display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: column;
}
.navLink + .navLink{
  width: 40%;
}
.navLinkItem{
  font-size: 4vw;
  margin-bottom: 5vw;
  color: #2E2E2E;
}
.navLinkItemCase{
	width: 100%;
	margin-top: 3vw;
}
.navLinkItemCase a {
    font-size: 3.4vw;
    padding: 2vw;
    padding-left: 4vw;
    display: block;
    border-left: 1px solid #707070;
    white-space: nowrap;
    margin-left: 1.5vw;
}
.nav_sns{
	display: flex;
	justify-content: space-around;
	align-items: center;
	width: 85%;
	margin: auto;
	margin-top: 3vw;
}
.nav_sns li{
	width: 12%;
}
.nav_sns svg{
	width: 100%;
}
.mainTtlBox{
	display: flex;
	justify-content: center;
}
.mainTtl{
	margin: 4vw 0 2vw;
  font-size: 10vw;
  font-weight: bold;
  line-height: 1.2;
  color: #2874AB;
}
.footer{
	background: #FEE772;
	padding: 14vw 0 21vw;
}
.footerInner{
	width: 85%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	position: relative;
}
.footerInnerL{
	width: 100%;
}
.f_logo{
	margin-bottom: 3vw;
}
.footerInnerL_txt{
	color: #333;
	line-height: 2em;
	margin-bottom: 6vw;
	font-size: 3.6vw;
}
.f_sns{
	display: flex;
	justify-content: space-around;
	align-items: center;
	width: 85%;
	position: absolute;
	bottom: 3vw;
	left: 0;
	right: 0;
	margin: auto;
}
.f_sns li{
	width: 12%;
}
.f_sns svg{
	width: 100%;
}
.footerInnerR{
	width: 100%;
	margin-bottom: 12vw;
}
.footerInnerRList{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.footerInnerRList_item{
	font-size: 3.6vw;
	margin-right: 0vw;
	color: #333;
	font-weight: bold;
	margin-bottom: 6vw;
	width: 100%;
}
.footerInnerRList_itemChild {
    padding-left: 5vw;
    border-left: 1px solid #707070;
    font-size: 3.6vw;
    padding-top: 2vw;
    margin-left: 1.5vw;
}
.footerBnr_pc{
	display: none;
}
.footerBnr_sp {
	width: 80%;
    margin: 2vw auto 6vw;
}
.copyRight{
	text-align: center;
	color: #333;
	font-weight: bold;
	font-size: 2.8vw;
	letter-spacing: 2px;
}
.fix_btnBoxSP{
	position: fixed;
  width: 100%;
  right: 0%;
  top: unset;
  bottom: 0;
  z-index: 100;
  display: none;
}
}
/*-----------------------------------------------------------

TOP

-------------------------------------------------------------*/
.top_about{
	width: 85%;
	margin: 3vw auto 0;
	position: relative;
}
.top_aboutInner{
	width: 90%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.top_aboutInnerL{
	width: 42%;
	position: relative;
}
.cmn_ttl01{
	font-size: 2.4vw;
	font-weight: bold;
	color: #2874AB;
	margin-bottom: 1.5vw;
}
.cmn_lead01{
	font-size: 1.5vw;
	font-weight: bold;
	margin-bottom: 1vw;
	line-height: 1.6em;
}
.cmn_txt01{
	font-size: 0.8vw;
	font-weight: bold;
	margin-bottom: 1vw;
}
.cmn_btn01Wrap{
	display: flex;
	justify-content: flex-end;
}
.cmn_btn01{
	display: block;
	font-size: 0.9vw;
	font-weight: bold;
	position: relative;
	padding-right: 7vw;
}
.cmn_btn01:hover:before,
.cmn_btn01:hover:after {
  right: 5vw;
  -moz-transition: all 0.26s ease-out;
  -o-transition: all 0.26s ease-out;
  -webkit-transition: all 0.26s ease-out;
  -ms-transition: all 0.26s ease-out;
  opacity: 0.5;
}
.cmn_btn01:before,
.cmn_btn01:after {
  content: '';
  display: block;
  position: absolute;
  top: 55%;
  right: 6vw;
  height: 1px;
  -moz-transition: all 0.26s ease-out;
  -o-transition: all 0.26s ease-out;
  -webkit-transition: all 0.26s ease-out;
  -ms-transition: all 0.26s ease-out;
}
.cmn_btn01:before {
  width: 6vw;
  transform: translate(6vw, 0px);
  content: '';
  background: #707070;
}
.cmn_btn01:after {
  width: 1vw;
  transform-origin: right center;
  transform: translate(6vw, 0px) rotate(30deg);
  content: '';
  background: #707070;
}
.top_aboutInnerR{
	width: 6%;
	margin-right: 2vw;
}
.top_aboutImg{
	width: 46%;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}
.top_about_img02{
	position: relative;
	width: 15%;
	bottom: 0;
	right: 1vw;
}
.top_about_img03 {
    position: absolute;
    width: 30%;
    bottom: -4vw;
}
.top_service{
	background: #E8FFDB;
	padding: 3vw 0;
}
.top_serviceInner{
	width: 85%;
	margin: 0 auto 6vw;
	position: relative;
	padding-bottom: 10vw;
}
.top_serviceInner_list{
	width: 76%;
	margin: 0 auto 4vw;
	display: flex;
	justify-content: space-between;
}
.top_serviceInner_listItem{
	width: 26%;
}
.top_serviceInner_listItem h3{
	margin: 1vw 0 0;
	text-align: center;
	font-size: 1.2vw;
	font-weight: bold;
}
.top_serviceInner_listItem p{
	text-align: center;
	line-height: 1.8em;
	font-weight: bold;
}
.cmn_btn02Wrap{
	display: flex;
	justify-content: center;
}
.cmn_btn02{
	display: block;
	font-size: 0.9vw;
	font-weight: bold;
	position: relative;
	padding-right: 7vw;
	width: 26%;
	background: #fff;
	border: 1px solid #707070;
	box-shadow: 4px 4px 0 #FC900380 ;
	border-radius: 50px;
	text-align: center;
	padding: 1vw 0;
}
.cmn_btn02:hover:before,
.cmn_btn02:hover:after {
  right: 3vw;
  -moz-transition: all 0.26s ease-out;
  -o-transition: all 0.26s ease-out;
  -webkit-transition: all 0.26s ease-out;
  -ms-transition: all 0.26s ease-out;
  opacity: 0.5;
}
.cmn_btn02:before,
.cmn_btn02:after {
  content: '';
  display: block;
  position: absolute;
  top: 55%;
  right: 4vw;
  height: 1px;
  -moz-transition: all 0.26s ease-out;
  -o-transition: all 0.26s ease-out;
  -webkit-transition: all 0.26s ease-out;
  -ms-transition: all 0.26s ease-out;
}
.cmn_btn02:before {
  width: 6vw;
  transform: translate(6vw, 0px);
  content: '';
  background: #707070;
}
.cmn_btn02:after {
  width: 1vw;
  transform-origin: right center;
  transform: translate(6vw, 0px) rotate(30deg);
  content: '';
  background: #707070;
}
.top_service_txt{
	width: 9%;
	position: absolute;
	top: 0;
	bottom: 0;
}
.top_service_ico01{
	width: 93%;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	mix-blend-mode: multiply;
}
.top_communityInner {
    width: 85%;
    margin: -7vw auto 6vw;
    position: relative;
    padding-bottom: 10vw;
    padding: 0 8vw 10vw;
}
.top_communityInnerBox{
	display: flex;
	justify-content: space-between;
}
.top_communityInnerL{
	width: 60%;
}
.top_community_txt{
	position: absolute;
	top: 0;
	left: 0;
	font-size: 9vw;
	font-weight: bold;
	color: #C7F4BA;
	z-index: 0;
}
.cmn_ttl02 {
    text-align: center;
    padding-top: 2vw;
    position: relative;
    margin-bottom: 1vw;
}
.cmn_ttl02_jp{
	font-size: 2.4vw;
    font-weight: bold;
    color: #2874AB;
    margin-bottom: 1.5vw;
    z-index: 1;
    position: relative;
}
.cmn_ttl02_en{
	position: absolute;
	top: 0;
	left: 0;
	font-size: 9vw;
	font-weight: bold;
	color: #C7F4BA;
	z-index: 0;
	width: 100%;
	text-align: center;
}
.cmn_ttl02Commumity{
	text-align: left;
}
.cmn_ttl02Commumity .cmn_ttl02_en{
	text-align: left;
	letter-spacing: 0.05em;
}
.top_communityInnerR{
	width: 40%;
}
.cmn_txt01Community{
	margin-bottom: 3vw;
}
.cmn_btn02Community {
    width: 51%;
}
.top_case_ico0{
	width: 93%;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	mix-blend-mode: multiply;
}
.top_caseInner {
    width: 85%;
    margin: -7vw auto 3vw;
    position: relative;
    padding: 0 8vw 0vw;
}
.top_caseList{
	width: 90%;
	margin: 2vw auto 3vw;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
	z-index: 1;
}
.top_caseList_item{
	width: 30.5%;
}
.top_caseList_itemLink{
	display: block;
}
.top_caseList_itemLink_img {
    width: 100%;
    height: 13vw;
    position: relative;
    margin-bottom: 1vw;
    overflow: hidden;
    display: block;
}
.top_caseList_itemLink_img img {
    position: absolute;
    object-fit: cover;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin: auto;
}
.top_caseList_itemLink_ttl{
	font-size: 1.1vw;
	font-weight: bold;
}
.top_caseList_itemLink_txt{
	font-size: 0.8vw;
	line-height: 1.8em;
}
.cmn_btn02Case{
	width: 32%;
}
.top_news{
	width: 85%;
    margin: 8vw auto 3vw;
    padding: 0 8vw 0vw;
}
.cmn_ttl02_enBlue{
	color: #E5F4FF;
}
.top_newsList{
	width: 90%;
	margin: 2vw auto 4vw;
	position: relative;
}
.top_newsList_item{
	margin-bottom: 1vw;
	padding: 0 1vw 1vw;
	border-bottom: 1px solid #707070;
}
.top_newsList_itemLink{
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 0.9vw;
}
.top_newsList_itemLink_date{
	width: 16%;
}
.top_newsList_itemLink_ttl{
	width: 84%;
}
.top_newsBtn{
	background: #fff;
	width: 20%;
	margin: 0 auto;
}
.top_news_ico01{
	position: absolute;
	width: 24%;
	right: 0;
	top: -15vw;
}
.top_company{
	width: 75%;
    margin: 8vw auto 8vw;
}
.top_companyBox{
	width: 100%;
	margin: 0 auto 4vw;
	display: flex;
	justify-content: space-between;
}
.top_companyL{
	width: 60%;
}
.top_companyL li{
	display: flex;
	justify-content: space-between;
	padding: 1vw 2vw ;
	font-size: 1vw;
	font-weight: bold;
	color: #333;
	background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAABCAYAAAASC7TOAAAAAXNSR0IArs4c6QAAABRJREFUGFdjPH846L+h7TpGBiwAAGXGBAKFoI2+AAAAAElFTkSuQmCC) repeat-x bottom;
	background-size: 4px;
}
.top_companyL li p{
	width: 20%;
}
.top_companyL li p + p{
	width: 70%;
}
.top_companyR{
	width: 36%;
}
.top_companyR iframe{
	width: 100%;
	height: 20vw;
}
.cmn_btn02Compnay{
	width: 30%;
}
.cmn_recruit{
	background: url(../../src/img/cmn_recruit_bg.png) center center no-repeat;
	padding: 9vw 0 8vw;
	background-size: 100%;
	margin-bottom: 6vw;
}
.cmn_ttl02_enBlue02{
	color:#51B6FF ;
	opacity: 0.15;
}
.cmn_btn02WrapRecruit{
	margin-top: 3vw;
}
.cmn_btn02Recruit{
	width: 23%;
}

.cmn_contactList{
	width: 60%;
	margin: 3vw auto 4vw;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.cmn_contactList_item{
	width: 49%;
	display: flex;
	justify-content: center;
}
.cmn_contactList_itemLine{
	width: 1px;
	background: #707070;
	height: 9vw;
}
.cmn_contactList_itemBox{

}
.cmn_contactList_itemTxt{
	font-size: 1.4vw;
	width: 100%;
	margin-bottom: 1vw;
	color: #000;
	font-weight: bold;
}
.cmn_contactList_itemTel{
	display: block;
	font-size: 2.4vw;
	letter-spacing: 4px;
	color: #000;
	font-weight: bold;
	margin-bottom: 0.7vw;
}
.cmn_contactList_itemTxtNote{
	line-height: 1.6;
}
.cmn_contactBtn{
	display: block;
	font-size: 0.9vw;
	font-weight: bold;
	position: relative;
	padding-right: 7vw;
	width: 90%;
	background: #fff;
	border: 1px solid #707070;
	box-shadow: 4px 4px 0 #FC900380 ;
	border-radius: 50px;
	text-align: center;
	padding: 0.6vw 0;
}
.cmn_contactBtn:hover:before,
.cmn_contactBtn:hover:after {
  right: 3vw;
  -moz-transition: all 0.26s ease-out;
  -o-transition: all 0.26s ease-out;
  -webkit-transition: all 0.26s ease-out;
  -ms-transition: all 0.26s ease-out;
  opacity: 0.5;
}
.cmn_contactBtn:before,
.cmn_contactBtn:after {
  content: '';
  display: block;
  position: absolute;
  top: 55%;
  right: 4vw;
  height: 1px;
  -moz-transition: all 0.26s ease-out;
  -o-transition: all 0.26s ease-out;
  -webkit-transition: all 0.26s ease-out;
  -ms-transition: all 0.26s ease-out;
}
.cmn_contactBtn:before {
  width: 6vw;
  transform: translate(6vw, 0px);
  content: '';
  background: #707070;
}
.cmn_contactBtn:after {
  width: 1vw;
  transform-origin: right center;
  transform: translate(6vw, 0px) rotate(30deg);
  content: '';
  background: #707070;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.top_about {
    width: 85%;
    margin: 3vw auto 5vw;
    position: relative;
}
.top_aboutInner {
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.cmn_ttl01 {
    font-size: 3.4vw;
    font-weight: bold;
    color: #2874AB;
    margin-bottom: 1.5vw;
}
.cmn_txt01 {
    font-size: 1.5vw;
    font-weight: bold;
    margin-bottom: 1vw;
}
.cmn_btn01 {
    display: block;
    font-size: 1.5vw;
    font-weight: bold;
    position: relative;
    padding-right: 7vw;
}
.top_service {
    background: #E8FFDB;
    padding: 5vw 0;
}
.cmn_lead01 {
    font-size: 2.5vw;
    font-weight: bold;
    margin-bottom: 1vw;
    line-height: 1.6em;
}
.top_serviceInner_list {
    width: 100%;
    margin: 0 auto 4vw;
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 1;
}
.top_serviceInner_listItem h3 {
    margin: 1vw 0 1vw;
    text-align: center;
    font-size: 2.2vw;
    font-weight: bold;
}
.top_serviceInner_listItem {
    width: 30%;
}
.cmn_btn02 {
    display: block;
    font-size: 1.5vw;
    font-weight: bold;
    position: relative;
    padding-right: 7vw;
    width: 40vw!important;
    background: #fff;
    border: 1px solid #707070;
    box-shadow: 4px 4px 0 #fc900380;
    border-radius: 50px;
    text-align: center;
    padding: 1vw 0;
}
.cmn_ttl02_jp {
    font-size: 3.4vw;
    font-weight: bold;
    color: #2874AB;
    margin-bottom: 1.5vw;
    z-index: 1;
    position: relative;
}
.top_communityInner {
    width: 85%;
    margin: -7vw auto 6vw;
    position: relative;
    padding-bottom: 10vw;
    padding: 0 0vw 10vw;
}
.top_communityInnerL {
    width: 52%;
}
.top_caseInner {
    width: 90%;
    margin: -7vw auto 3vw;
    position: relative;
    padding: 0 0vw 0vw;
}
.top_caseList_itemLink_ttl {
    font-size: 2.1vw;
    font-weight: bold;
}
.top_caseList_itemLink_txt {
    font-size: 1.5vw;
    line-height: 1.8em;
}
.top_news {
    width: 90%;
    margin: 8vw auto 3vw;
    padding: 0 0vw 0vw;
}
.top_newsList_itemLink {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.5vw;
}
.top_company {
    width: 85%;
    margin: 8vw auto 8vw;
}
.top_companyL li {
    display: flex;
    justify-content: space-between;
    padding: 1vw 2vw;
    font-size: 1.5vw;
    font-weight: bold;
    color: #333;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAABCAYAAAASC7TOAAAAAXNSR0IArs4c6QAAABRJREFUGFdjPH846L+h7TpGBiwAAGXGBAKFoI2+AAAAAElFTkSuQmCC) repeat-x bottom;
    background-size: 4px;
}
.cmn_contactList {
    width: 80%;
    margin: 3vw auto 4vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.cmn_contactList_itemTxt {
    font-size: 2vw;
    width: 100%;
    margin-bottom: 1vw;
    color: #000;
    font-weight: bold;
}
.cmn_contactList_itemTel {
    display: block;
    font-size: 4vw;
    letter-spacing: 4px;
    color: #000;
    font-weight: bold;
    margin-bottom: 0.7vw;
}
.cmn_contactBtn {
    display: block;
    font-size: 1.5vw;
    font-weight: bold;
    position: relative;
    padding-right: 7vw;
    width: 90%;
    background: #fff;
    border: 1px solid #707070;
    box-shadow: 4px 4px 0 #fc900380;
    border-radius: 50px;
    text-align: center;
    padding: 0.6vw 0;
}
.top_serviceInner_listItem p br{
	display: none;
}
.cmn_txt01Community br{
	display: none!important;
}
}
@media screen and (max-width: 599px) {  /* ============== SP LAYOUT ============== */
.top_about{
	width: 100%;
	margin: 3vw auto 8vw;
	position: relative;
}
.top_aboutInner{
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: column-reverse;
}
.top_aboutInnerL{
	width: 80%;
	position: relative;
	margin: 6vw auto 0;
}
.cmn_ttl01{
	font-size: 7.6vw;
  font-weight: bold;
  color: #2874AB;
  margin-bottom: 3vw;
  letter-spacing: 4px;
  font-feature-settings: 'palt';
}
.cmn_lead01{
	font-size: 4.4vw;
	font-weight: bold;
	margin-bottom: 3vw;
	line-height: 1.6em;
}
.cmn_txt01{
	font-size: 3.6vw;
	font-weight: normal;
	margin-bottom: 4vw;
}
.cmn_btn01Wrap{
	display: flex;
	justify-content: center;
}
.cmn_btn01{
	display: block;
	font-size: 4vw;
	font-weight: bold;
	position: relative;
	padding-right: 7vw;
}
.cmn_btn01:hover:before,
.cmn_btn01:hover:after {
  right: -14vw;
  -moz-transition: all 0.26s ease-out;
  -o-transition: all 0.26s ease-out;
  -webkit-transition: all 0.26s ease-out;
  -ms-transition: all 0.26s ease-out;
  opacity: 0.5;
}
.cmn_btn01:before,
.cmn_btn01:after {
  content: '';
  display: block;
  position: absolute;
  top: 55%;
  right: -13vw;
  height: 2px;
  -moz-transition: all 0.26s ease-out;
  -o-transition: all 0.26s ease-out;
  -webkit-transition: all 0.26s ease-out;
  -ms-transition: all 0.26s ease-out;
}
.cmn_btn01:before {
  width: 22vw;
  transform: translate(6vw, 0px);
  content: '';
  background: #707070;
}
.cmn_btn01:after {

  width: 3vw;
  transform-origin: right center;
  transform: translate(6vw, 0px) rotate(30deg);
  content: '';
  background: #707070;
}
.top_aboutInnerR{
	width: 12%;
  margin-right: 0;
  right: 0;
  top: 10vw;
  position: absolute;
}
.top_aboutImg{
	width: 100%;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}
.top_about_img02{
	position: relative;
	width: 15%;
	bottom: 0;
	right: 1vw;
	display: none;
}
.top_about_img03 {
    position: absolute;
    width: 30%;
    bottom: -4vw;
    display: none;
}
.top_service{
	background: #E8FFDB;
	padding: 12vw 0;
}
.top_serviceInner .tac{
	text-align: left;
}
.top_serviceInner{
	width: 80%;
	margin: 0 auto 12vw;
	position: relative;
	padding-bottom: 10vw;
}
.top_serviceInner_list{
	width: 100%;
	margin: 0 auto 17vw!important;
	display: flex;
	justify-content: space-between;
}
.top_serviceInner_listItem{
	width: 26%;
}
.top_serviceInner_listItem h3{
	margin: 1vw 0 0;
	text-align: center;
	font-size: 4.4vw;
	font-weight: bold;
}
.top_serviceInner_listItem p{
	text-align: center;
	line-height: 1.8em;
	font-weight: normal;
	font-size: 3.6vw;
}
.top_serviceInner_list .slick-dots {
    bottom: -8%;
}
.cmn_btn02Wrap{
	display: flex;
	justify-content: center;
}
.cmn_btn02{
	display: block;
	font-size: 3.6vw;
	font-weight: bold;
	position: relative;
	padding-right: 7vw;
	width: 75vw;
	background: #fff;
	border: 1px solid #707070;
	box-shadow: 4px 4px 0 #FC900380 ;
	border-radius: 50px;
	text-align: center;
	padding: 2vw 0;
}
.cmn_btn02:hover:before,
.cmn_btn02:hover:after {
  right: -2vw;
  -moz-transition: all 0.26s ease-out;
  -o-transition: all 0.26s ease-out;
  -webkit-transition: all 0.26s ease-out;
  -ms-transition: all 0.26s ease-out;
  opacity: 0.5;
}
.cmn_btn02:before,
.cmn_btn02:after {
  content: '';
  display: block;
  position: absolute;
  top: 55%;
  right: -1vw;
  height: 2px;
  -moz-transition: all 0.26s ease-out;
  -o-transition: all 0.26s ease-out;
  -webkit-transition: all 0.26s ease-out;
  -ms-transition: all 0.26s ease-out;
}
.cmn_btn02:before {
  width: 22vw;
  transform: translate(6vw, 0px);
  content: '';
  background: #707070;
}
.cmn_btn02:after {
  width: 3vw;
  transform-origin: right center;
  transform: translate(6vw, 0px) rotate(30deg);
  content: '';
  background: #707070;
}
.top_service_txt{
	width: 17%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -10vw;
}
.top_service_ico01{
	width: 30%;
  position: absolute;
  bottom: unset;
  left: unset;
  right: 0;
  margin: auto;
  mix-blend-mode: multiply;
  top: 0;
}
.top_communityInner {
    width: 80%;
    margin: -7vw auto 12vw;
    position: relative;
    padding-bottom: 10vw;
    padding: 0 0vw 10vw;
}
.top_communityInnerBox{
	display: flex;
	justify-content: space-between;
	flex-direction: column-reverse;
}
.top_communityInnerL{
	width: 100%;
	position: relative;
}
.top_community_txt{
	position: absolute;
	top: 0;
	left: 0;
	font-size: 9vw;
	font-weight: bold;
	color: #C7F4BA;
	z-index: 0;
}
.cmn_ttl02 {
    text-align: center;
    padding-top: 1vw;
    position: relative;
    margin-bottom: 4vw;
}
.cmn_ttl02_jp{
	  font-size: 7.6vw;
    font-weight: bold;
    color: #2874AB;
    margin-bottom: 1.5vw;
    z-index: 1;
    position: relative;
}
.cmn_ttl02_en{
	position: absolute;
	top: 0;
	left: 0;
	font-size: 15vw;
	font-weight: bold;
	color: #C7F4BA;
	z-index: 0;
	width: 100%;
	text-align: center;
}
.cmn_ttl02Commumity{
	text-align: left;
}
.cmn_ttl02Commumity .cmn_ttl02_en{
	text-align: left;
	letter-spacing: 0.05em;
}
.top_communityInnerR{
	width: 100%;
	margin-bottom: 6vw;
}
.cmn_txt01Community{
	margin-bottom: 3vw;
}
.cmn_btn02Community {
    width: 75vw;
}
.top_community_txtSVG{
	width: 15%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -10vw;
}
.top_case_ico0{
	width: 100%;
  position: absolute;
  bottom: -32vw;
  left: 0;
  right: 0;
  margin: auto;
  mix-blend-mode: multiply;
}
.top_caseInner {
    width: 85%;
    margin: 7vw auto 3vw;
    position: relative;
    padding: 0 0vw 0vw;
}
.top_caseList{
	width: 100%;
	margin: 2vw auto 12vw!important;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
	z-index: 1;
}
.top_caseList_item{
	width: 30.5%;
}
.top_caseList_itemLink{
	display: block;
}
.top_caseList_itemLink_img {
    width: 100%;
    height: 50vw;
    position: relative;
    margin-bottom: 2vw;
    overflow: hidden;
    display: block;
}
.top_caseList_itemLink_img img {
    position: absolute;
    object-fit: cover;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin: auto;
}
.top_caseList_itemLink_ttl{
	font-size: 4.4vw;
	font-weight: bold;
}
.top_caseList_itemLink_txt{
	font-size: 3.6vw;
	line-height: 1.8em;
}
.top_caseList .slick-dots {
    position: absolute;
    bottom: -10%;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}
.cmn_btn02Case{
	width: 75vw;
}
.top_news{
	width: 85%;
    margin: 8vw auto 18vw;
    padding: 0 0vw 0vw;
}
.cmn_ttl02_enBlue{
	color: #E5F4FF;
}
.top_newsList{
	width: 100%;
	margin: 2vw auto 9vw;
	position: relative;
}
.top_newsList_item{
	margin-bottom: 2vw;
	padding: 0 1vw 2vw;
	border-bottom: 1px solid #707070;
}
.top_newsList_itemLink{
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 3.6vw;
	flex-wrap: wrap;
}
.top_newsList_itemLink_date{
	width: 100%;
}
.top_newsList_itemLink_ttl{
	width: 100%;
}
.top_newsBtn{
	background: #fff;
	width: 20%;
	margin: 0 auto;
}
.top_news_ico01{
	position: absolute;
	width: 24%;
	right: 0;
	top: -15vw;
}
.top_company{
	width: 85%;
    margin: 8vw auto 16vw;
}
.top_companyBox{
	width: 100%;
	margin: 0 auto 4vw;
	display: flex;
	justify-content: space-between;
	flex-direction: column-reverse;
}
.top_companyL{
	width: 100%;
	margin-bottom: 6vw;
}
.top_companyL li{
	display: flex;
	justify-content: space-between;
	padding: 4vw 2vw ;
	font-size: 3.6vw;
	font-weight: bold;
	color: #333;
	background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAACCAYAAABhYU3QAAAAAXNSR0IArs4c6QAAABdJREFUGFdjPH846L+h7TpGBgKAkViFAM/0CANuU+TVAAAAAElFTkSuQmCC) repeat-x bottom;
	background-size: 10px;
	align-items: center;
	line-height: 1.6em;
}
.top_companyL li p{
	width: 20%;
}
.top_companyL li p + p{
	width: 70%;
}
.top_companyR{
	width: 100%;
	margin-bottom: 5vw;
}
.top_companyR iframe{
	width: 100%;
	height: 50vw;
}
.cmn_btn02Compnay{
	width: 75vw;
}
.cmn_recruit{
	background: url(../../src/img/sp/cmn_recruit_bg@2x.png) center center no-repeat;
	padding: 18vw 0 18vw;
	background-size: 100%;
	margin-bottom: 12vw;
}
.cmn_ttl02_enBlue02{
	color:#51B6FF ;
	opacity: 0.15;
}
.cmn_btn02WrapRecruit{
	margin-top: 3vw;
}
.cmn_btn02Recruit{
	width: 75vw;
}

.cmn_contactList{
	width: 85%;
	margin: 3vw auto 12vw;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
.cmn_contactList_item{
	width: 100%;
	display: flex;
	justify-content: center;
}
.cmn_contactList_itemLine{
	width: 1px;
	background: #707070;
	height: 9vw;
	display: none;
}
.cmn_contactList_itemBox{

}
.cmn_contactList_itemTxt{
	font-size: 4vw;
	width: 100%;
	margin-bottom: 3vw;
	color: #000;
	font-weight: bold;
	text-align: center;
}
.cmn_contactList_itemTel{
	display: block;
	font-size: 9.4vw;
	letter-spacing: 4px;
	color: #000;
	font-weight: bold;
	margin-bottom: 3vw;
	text-align: center;
}
.cmn_contactBtn{
	display: block;
	font-size: 3.6vw;
	font-weight: bold;
	position: relative;
	padding-right: 7vw;
	width: 75vw;
	background: #fff;
	border: 1px solid #707070;
	box-shadow: 4px 4px 0 #FC900380 ;
	border-radius: 50px;
	text-align: center;
	padding: 2vw 0;
}
.cmn_contactBtn:hover:before,
.cmn_contactBtn:hover:after {
  right: -2vw;
  -moz-transition: all 0.26s ease-out;
  -o-transition: all 0.26s ease-out;
  -webkit-transition: all 0.26s ease-out;
  -ms-transition: all 0.26s ease-out;
  opacity: 0.5;
}
.cmn_contactBtn:before,
.cmn_contactBtn:after {
  content: '';
  display: block;
  position: absolute;
  top: 55%;
  right: -1vw;
  height: 2px;
  -moz-transition: all 0.26s ease-out;
  -o-transition: all 0.26s ease-out;
  -webkit-transition: all 0.26s ease-out;
  -ms-transition: all 0.26s ease-out;
}
.cmn_contactBtn:before {
  width: 22vw;
  transform: translate(6vw, 0px);
  content: '';
  background: #707070;
}
.cmn_contactBtn:after {
  width: 3vw;
  transform-origin: right center;
  transform: translate(6vw, 0px) rotate(30deg);
  content: '';
  background: #707070;
}
.cmn_contactList_itemTxtNote{
	font-size: 3.6vw;
	text-align: center;
	line-height: 1.6em;
}
.cmn_contactList_itemTxtNote span{
	font-size: 3.2vw;
}
}
/*-----------------------------------------------------------

ABOUT

-------------------------------------------------------------*/
.mainTtlSub{
	display: flex;
	align-items: flex-end;
}
.mainTtl_en{
	margin-right: 1vw;
}
.mainTtl_jp{
	font-size: 1.4vw;
	margin-bottom: 0.2vw;
}
.punkuz{
	width: 100%;
	margin: -2vw auto 3vw;
	display: flex;
	align-items: center;
	white-space: nowrap;
}
.punkuz li{
	font-size: 0.8vw;
	color: #707070;
	margin-right: 0.2vw;
	letter-spacing: 0;
}
.about_intro{
	width: 85%;
	margin: 4vw auto 8vw;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.about_introL{
	width: 45%;
	position: relative;
	z-index: 1;
	padding-left: 4vw;
	padding-top: 3vw;
}
.about_introR{
	width: 45%;
	position: relative;
	z-index: 1;
}
.about_introTtl{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
}
.about_introTtl .cmn_ttl02_en{
	text-align: left;
	font-size: 7vw;
	letter-spacing: 0.1em;
	padding-left: 1vw;
	opacity: 0.5;
}

.about_intro02{
	width: 85%;
	margin: 0vw auto 5vw;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.about_intro02L{
	width: 48%;
	position: relative;
	z-index: 1;
	padding-left: 2.5vw;
	padding-top: 3vw;
	padding-right: 7vw;
}
.about_intro02LInner{
	position: relative;
	z-index: 1;
}
.about_intro02R{
	width: 45%;
}
.about_intro02Ttl{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
}
.about_intro02Ttl .cmn_ttl02_en{
	text-align: left;
	font-size: 7vw;
	letter-spacing: 0.05em;
	padding-left: 0vw;
	opacity: 0.5;
}
.about_message{
	margin: 0vw auto 5vw;
	position: relative;
	background: #E8FFDB;
	padding: 3vw 0;
}
.about_messageInner{
	width: 85%;
	margin: 0 auto 2vw;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}
.about_messageL{
	width: 47%;
	position: relative;
	z-index: 1;
	padding-left: 5vw;
}
.about_messageLInner{
	position: relative;
	z-index: 1;
}
.about_messageR{
	width: 47%;
	margin-bottom: 1vw;
}
.about_message_txt{
	position: absolute;
	left: 0;
	top: -5vw;
	width: 7.8%;
}
.about_messageProfileBox{
	margin-left: 5vw;
}
.about_messageProfile{
	width: 85%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: url(../../src/img/about_message_bg.svg) 0 0 no-repeat;
	background-size: 100% 100%;
	padding: 2vw 4vw;
}
.about_messageProfile_l{
	 background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAAXNSR0IArs4c6QAAACVJREFUKFNjLCgo+M/AwMAwYcIERhCNDhgJKsCmC1kMq7GDTQEAkwUICYZTKvwAAAAASUVORK5CYII=) right center repeat-y;
	 padding: 1vw 0;
	 padding-right: 2.5vw;
	 margin-right: 2.5vw;
	 width: 16%;
}
.about_messageProfile_r{
	 width: 84%;
}
@media screen and (max-width: 1200px) {
	.about_messageProfile_r br{
	 display: none;
	}
}
.about_messageProfile_lTtl{
	font-size: 1.4vw;
  font-weight: bold;
  color: #2874AB;
  line-height: 1em;
  margin-bottom: 0.5vw;
}
.about_messageProfile_lTxt{
	line-height: 1;
}
.about_sdgs{
	width: 85%;
	margin: 8vw auto 6vw;
}
.about_sdgsImg{
	width: 95%;
	margin: -1vw auto 6vw;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.mainTtlSub {
    display: flex;
    align-items: baseline;
    width: 85%;
    margin: 2vw auto;
}
.mainTtl_jp {
    font-size: 2.4vw;
    margin-bottom: 0.2vw;
}
.punkuz {
    width: 85%;
    margin: -2vw auto 3vw;
    display: flex;
    align-items: center;
    white-space: nowrap;
}
.punkuz li {
    font-size: 1.5vw;
    color: #707070;
    margin-right: 0.2vw;
    letter-spacing: 0;
}
.about_introL {
    width: 50%;
    position: relative;
    z-index: 1;
    padding-left: 0;
    padding-top: 3vw;
}
.about_introL .cmn_txt01 br{
    display: none;
}
.about_messageL {
    width: 50%;
    position: relative;
    z-index: 1;
    padding-left: 0;
}
.about_message_txt {
    position: absolute;
    left: -4vw;
    top: -5vw;
    width: 7.8%;
}
.about_messageProfileBox {
    margin-left: 0;
}
.about_messageProfile {
    width: 85%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: url(../../src/img/about_message_bg.svg) 0 0 no-repeat;
    background-size: 100% 100%;
    padding: 2vw 4vw;
}
.about_messageProfile_lTtl {
    font-size: 2.4vw;
    font-weight: bold;
    color: #2874AB;
    line-height: 1em;
    margin-bottom: 0.5vw;
}
.about_messageProfile_r {
    width: 70%;
}
.about_messageProfile_l {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAAXNSR0IArs4c6QAAACVJREFUKFNjLCgo+M/AwMAwYcIERhCNDhgJKsCmC1kMq7GDTQEAkwUICYZTKvwAAAAASUVORK5CYII=) right center repeat-y;
    padding: 1vw 0;
    padding-right: 2.5vw;
    margin-right: 2.5vw;
    width: 25%;
}
.about_sdgs {
    width: 100%;
    margin: 8vw auto 6vw;
}
.about_sdgsImg {
    width: 85%;
    margin: 3vw auto 6vw;
}
}
@media screen and (max-width: 599px) {  /* ============== SP LAYOUT ============== */
.mainTtlSub{
	display: flex;
  align-items: flex-end;
  width: 85%;
  margin: 2vw auto 0vw;
  flex-wrap: wrap;
}
.mainTtl_en{
	margin-right: 0;
	width: 100%;
}
.mainTtl_jp{
	font-size: 4vw;
	margin-bottom: 0.2vw;
	width: 100%;
}
.punkuz{
	width: 85%;
	margin: 0vw auto 3vw;
	display: flex;
	align-items: center;
	white-space: nowrap;
}
.punkuz li{
	font-size: 3.2vw;
	color: #707070;
	margin-right: 0.2vw;
	letter-spacing: 0;
}
.about_intro{
	width: 100%;
	margin: 4vw auto 8vw;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	flex-direction: column-reverse;
}
.about_introL{
	width: 85%;
	position: relative;
	z-index: 1;
	padding-left: 0vw;
	padding-top: 3vw;
	margin: 0 auto;
}
.about_introR{
	width: 100%;
	position: relative;
	z-index: 1;
	margin-bottom: 3vw;
}
.about_introTtl{
	position: absolute;
	left: unset;
	right: 0;
	top: 68vw;
  width: 12%;
}
.about_introTtl .cmn_ttl02_en{
	text-align: left;
	font-size: 7vw;
	letter-spacing: 0.1em;
	padding-left: 1vw;
	opacity: 0.5;
}

.about_intro02{
	width: 85%;
	margin: 0vw auto 5vw;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	display: none;
}
.about_intro02L{
	width: 48%;
	position: relative;
	z-index: 1;
	padding-left: 2.5vw;
	padding-top: 3vw;
	padding-right: 7vw;
}
.about_intro02LInner{
	position: relative;
	z-index: 1;
}
.about_intro02R{
	width: 45%;
}
.about_intro02Ttl{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
}
.about_intro02Ttl .cmn_ttl02_en{
	text-align: left;
	font-size: 7vw;
	letter-spacing: 0.05em;
	padding-left: 0vw;
	opacity: 0.5;
}
.about_message{
	margin: 0vw auto 5vw;
	position: relative;
	background: #E8FFDB;
	padding: 8vw 0;
}
.about_messageInner{
	width: 85%;
	margin: 0 auto 2vw;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	flex-wrap: wrap;
	flex-direction: column-reverse;
}
.about_messageL{
	width: 100%;
	position: relative;
	z-index: 1;
	padding-left: 0;
	margin: 0 auto;
}
.about_messageLInner{
	position: relative;
	z-index: 1;
}
.about_messageR{
	width: 100%;
	margin-bottom: 1vw;
}
.about_message_txt{
	position: absolute;
	left: unset;
	right: -7vw;
	top: 125vw;
	width: 13.8%;
}
.about_messageProfileBox{
	margin-left: 0vw;
	margin-bottom: 6vw;
}
.about_messageProfile{
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: none;
	background-size: 100% 100%;
	padding: 2vw 0vw;
	flex-wrap: wrap;
}
.about_messageProfile_l{
	 background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAAXNSR0IArs4c6QAAACVJREFUKFNjLCgo+M/AwMAwYcIERhCNDhgJKsCmC1kMq7GDTQEAkwUICYZTKvwAAAAASUVORK5CYII=) center bottom repeat-x;
	 padding: 1vw 0;
	 padding-right: 0;
	 margin-right: 0;
	 width: 100%;
	 display: flex;
	 align-items: center;
	 padding-bottom: 6vw;
	 margin-bottom: 0vw;
	 position: relative;
}
.about_messageProfile_l:after{
	content: "";
	background: url(../../src/img/sp/about_close.svg) 0 0 no-repeat;
	background-size: contain;
	width: 4vw;
	height: 4vw;
	position: absolute;
	right: 2vw;	 
}
.about_messageProfile_l.on:after{
	content: "";
	background: url(../../src/img/sp/about_open.svg) 0 0 no-repeat;
	background-size: contain;
	width: 4vw;
	height: 4vw;
	position: absolute;
	right: 2vw;	 
}
.about_messageProfile_r{
	 width: 100%;
}
.about_messageProfile_lTtl{
	font-size: 4.4vw;
  font-weight: bold;
  color: #2874AB;
  line-height: 1em;
  margin-bottom: 0vw;
  margin-right: 2vw;
}
.about_messageProfile_lTxt{
	line-height: 1;
}
.about_sdgs{
	width: 85%;
	margin: 8vw auto 12vw;
}
.cmn_ttl02_enBlueSDG{
	top: 6vw;
}
.about_sdgs .cmn_txt01.tac{
	text-align: left;
}
.about_sdgsImg{
	width: 95%;
	margin: 8vw auto 6vw;
}
}
/*-----------------------------------------------------------

SERVICE

-------------------------------------------------------------*/
.serviceNav{
	display: flex;
	justify-content: center;
	margin-bottom: 7vw;
}
.serviceNav li a{
	position: relative;
	display: flex;
	align-content: center;
	font-size: 1vw;
	font-weight: bold;
	margin-right: 4vw;
}
.serviceNav li a:after{
	content: "▼";
	font-size: 0.7vw;
	margin-left: 1vw;
}
.service01{
	position: relative;
	width: 85%;
	margin: 0 auto 0vw;
}
.service01_ttlWrap{
	position: relative;
	z-index: 1;
}
.service01List{
	display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  padding-left: 2vw;
  margin-top: 5vw;
}
.service01List_item01{
	width: 33%;
	position: relative;
	padding-left: 2vw;
}
.service01List_item01 p{
	font-size: 1.6vw;
	font-weight: bold;
	text-align: center;
	color: #2874AB;
	letter-spacing: 0.2em;
	margin-top: 1vw;
	padding-left: 10vw;
}
.service01List_item02{
	width: 30%;
	position: relative;
	margin: 0 1vw 3vw;
}
.service01List_item03{
	width: 33%;
	position: relative;
}
.service01List_item03 p{
	font-size: 1.6vw;
	font-weight: bold;
	text-align: center;
	color: #2874AB;
	letter-spacing: 0.2em;
	margin-top: 1vw;
	padding-right: 7vw;
}
.service_img02{
	width: 70%;
}
.service_txt01{
	position: absolute;
	top: -8vw;
	left: 4vw;
	width: 50%;
}
.service_txt02 {
    position: absolute;
    top: -15vw;
    right: 2vw;
    width: 75%;
}
.service_ico01{
	position: absolute;
    width: 13%;
    top: 0;
    left: 9vw;
}
.service_ico02{
	position: absolute;
  width: 7%;
  top: -3vw;
  right: 17vw;
}
.service02{
	padding: 13vw 0 3vw;
	margin: -6vw 0 0;
	background: #E8FFDB;
}
.service_flowImg{
	width: 80%;
	margin: 2vw auto 8vw;
}
.service_strength_img01{
	width: 45%;
	margin: 2vw auto 2vw;
}
.service03{
	width: 85%;
	margin: 6vw auto 5vw;
}
.service03Inner{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 5vw;
}
.service03InnerL{
	width: 50%;
}
.service03InnerR{
	width: 44%;
	padding-top: 2vw;
}
.service03Inner02{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 2vw;
}
.service03Inner02L{
	width: 50%;
}
.service03Inner02R{
	width: 44%;
	padding-top: 2vw;
}
.serviceBtnList{
	display: flex;
	justify-content: space-around;
	width: 90%;
	margin: 0 auto;
}
.serviceBtnList li{
	width: 45%;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.serviceNav li a {
    position: relative;
    display: flex;
    align-content: center;
    font-size: 2vw;
    font-weight: bold;
    margin-right: 4vw;
}
.service01 {
    position: relative;
    width: 100%;
    margin: 0 auto 0vw;
}
.service_ico01 {
    position: absolute;
    width: 13%;
    top: -3vw;
    left: 9vw;
}
.serviceNav li a:after {
    content: "▼";
    font-size: 1.2vw;
    margin-left: 1vw;
}
.service01List_item01 p {
    font-size: 2.6vw;
    font-weight: bold;
    text-align: center;
    color: #2874AB;
    letter-spacing: 0.2em;
    margin-top: 1vw;
    padding-left: 10vw;
}
.service01List_item03 p {
    font-size: 2.6vw;
    font-weight: bold;
    text-align: center;
    color: #2874AB;
    letter-spacing: 0.2em;
    margin-top: 1vw;
    padding-right: 7vw;
}
.service_flowImg {
    width: 96%;
    margin: 2vw auto 8vw;
}
.service_strength_img01 {
    width: 65%;
    margin: 2vw auto 2vw;
}
.service03Inner02R {
    width: 45%;
    padding-top: 2vw;
}
.serviceBtnList li {
    width: 65%;
}
}
@media screen and (max-width: 599px) {  /* ============== SP LAYOUT ============== */
.serviceNav{
	display: flex;
	justify-content: center;
	margin-bottom: 12vw;
	flex-wrap: wrap;
	border-top: 1px solid #707070;
}
.serviceNav li{
	width: 100%;
	border-bottom: 1px solid #707070;
}
.serviceNav li a{
	position: relative;
	display: flex;
	align-content: center;
	font-size: 4vw;
	font-weight: bold;
	margin-right: 4vw;
	width: 85%;
	padding: 4vw 0;
	margin: 0 auto;
}
.serviceNav li a:after{
	content: "▼";
    font-size: 4vw;
    margin-left: 1vw;
    position: absolute;
    right: 0;
}
.service01{
	position: relative;
	width:100%;
	margin: 0 auto 0vw;
}
.service01 .tac{
	text-align: left;
}
.service01_ttlWrap{
	position: relative;
	z-index: 1;
	width: 85%;
	margin: 0 auto ;
}
.service01List{
	display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  padding-left: 2vw;
  margin-top: 5vw;
  display: none;
}
.service_img01Scroll{
	margin: 6vw 0 12vw;
	overflow: scroll;
	padding-bottom: 2vw;
}
.service_img01Scroll img{
	width: 280%;
	max-width: unset;
	padding-right: 8vw;
}
.service01List_item01{
	width: 33%;
	position: relative;
	padding-left: 2vw;
}
.service01List_item01 p{
	font-size: 1.6vw;
	font-weight: bold;
	text-align: center;
	color: #2874AB;
	letter-spacing: 0.2em;
	margin-top: 1vw;
	padding-left: 10vw;
}
.service01List_item02{
	width: 30%;
	position: relative;
	margin: 0 1vw 3vw;
}
.service01List_item03{
	width: 33%;
	position: relative;
}
.service01List_item03 p{
	font-size: 1.6vw;
	font-weight: bold;
	text-align: center;
	color: #2874AB;
	letter-spacing: 0.2em;
	margin-top: 1vw;
	padding-right: 7vw;
}
.service_img02{
	width: 70%;
}
.service_txt01{
	position: absolute;
	top: -8vw;
	left: 4vw;
	width: 50%;
}
.service_txt02 {
    position: absolute;
    top: -15vw;
    right: 2vw;
    width: 75%;
}
.service_ico01{
	position: absolute;
    width: 13%;
    top: 0;
    left: 9vw;
    display: none;
}
.service_ico02{
	position: absolute;
  width: 7%;
  top: -3vw;
  right: 17vw;
  display: none;
}
.service02{
	padding: 13vw 0 10vw;
	margin: 6vw 0 0;
	background: #E8FFDB;
}
.service_flowImg{
	width: 80%;
	margin: 2vw auto 8vw;
}
.service_flowList{
	width: 80%;
	margin: 0 auto 25vw!important;
}
.service_flowList .slick-dots {
    position: absolute;
    bottom: -11%;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}
.service_strength_img01{
	width: 65%;
	margin: 2vw auto 6vw;
}
.cmn_txt01ServiceStrength{
	text-align: left;
	width: 85%;
	margin: 0 auto;
}
.service03{
	width: 100%;
	margin: 0vw auto 5vw;
}
.service03Inner{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 5vw;
	flex-wrap: wrap;
}
.service03InnerL{
	width: 100%;
	margin-bottom: 6vw;
}
.service03InnerR{
	width: 85%;
	margin: 0 auto 7vw;
	padding-top: 2vw;
}
.service03Inner02{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 2vw;
	flex-wrap: wrap;
	flex-direction: column-reverse;
}
.service03Inner02L{
	width: 100%;
	margin-bottom: 6vw;
}
.service03Inner02R{
	width: 85%;
	padding-top: 2vw;
	margin: 0 auto;
}
.service03Inner02R .cmn_ttl01{
	letter-spacing: 3px;
}
.serviceBtnList{
	display: flex;
	justify-content: space-around;
	width: 90%;
	margin: 0 auto 12vw;
	flex-wrap: wrap;
}
.serviceBtnList li{
	width: 100%;
}
}
/*-----------------------------------------------------------

FLOW

-------------------------------------------------------------*/
.community_intro{
	width: 85%;
	margin: 2vw auto 7vw;
}
.community_introInner{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 5vw;
}
.community_introInnerL{
	width: 50%;
}
.community_introInnerR{
	width: 44%;
	position: relative;
}
.community_ico{
	position: absolute;
	width: 16%;
	right: 3vw;
	top: -2vw;
}
.cmn_txt01Community{
	margin-bottom: 4vw;
}
.cmn_btn02CommunitySub {
    width: 55%;
    background: #fff url(../../src/img/blank_ico.svg) 86% center no-repeat;
    background-size: 1.2vw;
}
.cmn_btn02CommunitySub:after,.cmn_btn02CommunitySub:before {
    display: none;
}
.cmn_btn02CommunitySub02 {
    width: 23%;
    background: #fff url(../../src/img/blank_ico.svg) 86% center no-repeat;
    background-size: 1.2vw;
}
.cmn_btn02CommunitySub02:after,.cmn_btn02CommunitySub02:before {
    display: none;
}
.community_flow{
	width: 85%;
	margin: 6vw auto 3vw;
}
.community_flowImg{
	width: 70%;
	margin: 2vw auto 0vw;
}
.community_slideBox{
	background: #E8FFDB;
	padding: 2vw 0 4vw;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.cmn_btn02CommunitySub {
    width: 55%;
    background: #fff url(../../src/img/blank_ico.svg) 86% center no-repeat;
    background-size: 2.2vw;
}
.community_flowImg {
    width: 100%;
    margin: 2vw auto 0vw;
}
.cmn_btn02CommunitySub02 {
    width: 23%;
    background: #fff url(../../src/img/blank_ico.svg) 86% center no-repeat;
    background-size: 2.2vw;
}
}
@media screen and (max-width: 599px) {  /* ============== SP LAYOUT ============== */
.community_intro{
	width: 100%;
	margin: 2vw auto 7vw;
}
.community_introInner{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 5vw;
	flex-wrap: wrap;
}
.community_introInnerL{
	width: 100%;
	margin-bottom: 6vw;
}
.community_introInnerR{
	width: 85%;
	position: relative;
	margin: 0 auto 8vw;
}
.community_ico{
	position: absolute;
	width: 16%;
	right: 3vw;
	top: -2vw;
	display: none;
}
.cmn_txt01Community{
	margin-bottom: 9vw;
}
.cmn_btn02CommunitySub {
    width: 75vw;
    background: #fff url(../../src/img/blank_ico.svg) 90% center no-repeat;
    background-size: 5vw;
    margin: 0 auto;
}
.cmn_btn02CommunitySub:after,.cmn_btn02CommunitySub:before {
    display: none;
}
.cmn_btn02CommunitySub02 {
    width: 75vw;
    background: #fff url(../../src/img/blank_ico.svg) 86% center no-repeat;
    background-size: 5vw;
    margin: 4vw auto;
}
.cmn_btn02CommunitySub02:after,.cmn_btn02CommunitySub02:before {
    display: none;
}
.community_flow{
	width: 85%;
	margin: 6vw auto 3vw;
}
.community_flowImg{
	width: 70%;
	margin: 2vw auto 0vw;
}
.community_slideBox{
	background: #E8FFDB;
	padding: 8vw 0 4vw;
	margin-top: -5vw;
}
.communitySlide li{
	margin: 0 1.5vw;
}
}
/*-----------------------------------------------------------

CASE

-------------------------------------------------------------*/
.blog_box{
	width: 66%;
	margin: 0 auto 4vw;
}
.blog_boxSearch{
  margin-bottom: 3vw;
}
.blog_boxSearch form{
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  padding: 1vw;
  border: 1px solid #707070;
	border-radius: 6px;
}
.searchBox_blog01{
  width:30%;
  display: flex;
  align-items: center;
  border-right: 1px solid #707070;
  padding-right: 3vw;
}
.searchBox_blog01_input{
  width: 100%;
}
.searchBox_blog01_input select {
    width: 100%;
	  background: url(../../src/img/search_arrow.svg) right center no-repeat;
	  background-size: 8% 76%;
	  padding: 0.6vw;
	  padding-left: 2vw;
	  border: none;
	  -webkit-appearance: none;
	  font-size: 0.9vw;
}
.searchBox_blog02{
  width: 55%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.searchBox_blog02_input{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width:100%;
}
.searchBox_blog02_input input{
  width: 100%;
  background: none;
  padding: 0.6vw;
  border: none;
  border-radius: 6px;
  -webkit-appearance: none;
  font-size: 0.9vw;
}
.searchBox_blog_send {
    width: 8%;
    display: block;
    position: relative;
    text-align: center;
    color: #000;
}
.searchBox_blog_send input {
    display: block;
    letter-spacing: 2px;
    -webkit-appearance: none;
    cursor: pointer;
    background: url(../../src/img/search_btn.svg) right center no-repeat;
	  background-size: 100% 76%;
    width: 100%;
    border: none;
    padding: 0.6vw;
    border-radius: 6px;
    font-size: 0.8vw;
    -moz-transition: all 0.26s ease-out;
	-o-transition: all 0.26s ease-out;
	-webkit-transition: all 0.26s ease-out;
	-ms-transition: all 0.26s ease-out;
}
.searchBox_blog_send input:hover{
    opacity: 0.5;
    -moz-transition: all 0.26s ease-out;
	-o-transition: all 0.26s ease-out;
	-webkit-transition: all 0.26s ease-out;
	-ms-transition: all 0.26s ease-out;
}
.blog_boxRec{
	width: 100%;
	position: relative;
	padding-bottom: 2vw;
	margin-bottom: 4vw;
	padding-top: 2vw;
}
.blog_boxRec:after{
	content: "";
	height: 13vw;
	width: 100%;
	background: #E8FFDB;
	position: absolute;
	bottom: 0;
}
.blog_pickUp{
	position: absolute;
    width: 18%;
    left: 8vw;
    top: -3.5vw;
}
.caseList + .blog_pickUp{
	 top: 3.5vw;
}
.blogList{
	width: 85%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
	z-index: 1;
}
.blogList_item{
	width: 24%;
	position: relative;
	margin: 0 1vw;
	color: #2E2E2E;
}
.blogList_itemLink{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.blogList_itemLink_img {
    width: 100%;
    height: 13vw;
    position: relative;
    margin-bottom: 0.8vw;
    overflow: hidden;
    display: block;
}
.blogList_itemLink_img img {
    position: absolute;
    object-fit: cover;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin: auto;
}
.blogList_itemLink_date{
	font-size: 1vw;
	margin-right: 1vw;
	font-weight: bold;
}
.blogList_itemLink_cat{
	font-size: 0.8vw;
	padding: 0.4vw 0.6vw;
	background: #fff;
	border: 1px solid #707070;
	border-radius: 20px;
	line-height: 1em;
}
.blogList_itemLink_ttl{
	font-size: 0.8vw;
	width: 100%;
	margin-top: 0vw;
	letter-spacing: 1px;
	line-height: 1.6em;
}
.blogList .slick-prev {
    left: -0.7vw;
    top: 7vw;
    width: 3vw;
    height: 3vw;
}
.blogList .slick-prev:before {
    content: '';
    background: url(../../src/img/slide_prev.svg) 0 0 no-repeat;
    background-size: cover;
    width: 3vw;
    height: 3vw;
    display: block;
    opacity: 1;
}
.blogList .slick-next {
    right: -0.7vw;
    top: 7vw;
    width: 3vw;
    height: 3vw;
}
.blogList .slick-next:before {
    content: '';
    background: url(../../src/img/slide_next.svg) 0 0 no-repeat;
    background-size: cover;
    width: 3vw;
    height: 3vw;
    display: block;
    opacity: 1;
}
.blog_boxAll{
	margin-bottom: 6vw;
}
.blogAllList{
	width: 83%;
	margin: 0 auto 2vw;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
}
.blogAllList_item{
	width: 48%;
	margin-bottom: 3vw;
}
.blogAllList_itemLink{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	background: url(../../src/img/case_bg.svg) 0 0 no-repeat;
	background-size: 100% 100%;
	padding: 1.5vw 1.5vw 2vw;
	position: relative;
	color: #2E2E2E;
}
.blogAllList_itemLink_img {
    width: 40%;
    height: 11vw;
    position: relative;
    overflow: hidden;
    display: block;
    background: #fff;
}
.blogAllList_itemLink_img img {
    position: absolute;
    object-fit: cover;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin: auto;
}
.blogAllList_itemLink_info{
	width: 55%;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	position: relative;
}
.blogAllList_itemLink_date{
	font-size: 1vw;
	margin-right: 1vw;
	font-weight: bold;
}
.blogAllList_itemLink_cat{
	font-size: 0.8vw;
	padding: 0.4vw 0.6vw;
	background: #fff;
	border: 1px solid #707070;
	border-radius: 20px;
	line-height: 1em;
}
.blogAllList_itemLink_ttl{
	font-size: 0.8vw;
	width: 100%;
	margin-top: 0.4vw;
	line-height: 1.8em;
}
.blog_more{
	position: absolute;
  right: 1.5vw;
  bottom: 2vw;
  width: 11%;
}
.wp-pagenavi{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 80%;
	margin: 0 auto 3vw;
}
.previouspostslink{
	padding: 0.6vw 6vw;
	background: #00DF59;
	border-radius: 50px;
	color: #fff;
	font-size: 0.9vw;
	order: 0;
}
.nextpostslink{
	padding: 0.6vw 6vw;
	background: #00DF59;
	border-radius: 50px;
	color: #fff;
	font-size: 0.9vw;
	order: 2;
}
.pages{
	font-size: 0.9vw;
	order: 1;
	margin: 0 3vw;
}
.caseMore{
	display: none;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.blogList {
    width: 95%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
    z-index: 1;
}
.blogList_itemLink_date {
    font-size: 2vw;
    margin-right: 1vw;
    font-weight: bold;
}
.blogList_itemLink_ttl {
    font-size: 1.5vw;
    width: 100%;
    margin-top: 0vw;
    letter-spacing: 1px;
    line-height: 1.6em;
}
.blogAllList {
    width: 93%;
    margin: 0 auto 2vw;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}
.blogAllList_itemLink_date {
    font-size: 2vw;
    margin-right: 1vw;
    font-weight: bold;
}
.blogAllList_itemLink_cat {
    font-size: 1.5vw;
    padding: 0.4vw 0.6vw;
    background: #fff;
    border: 1px solid #707070;
    border-radius: 20px;
    line-height: 1em;
}
.blogAllList_itemLink_ttl {
    font-size: 1.5vw;
    width: 100%;
    margin-top: 0.4vw;
    line-height: 1.4em;
}
.blog_more {
    position: absolute;
    right: 1.5vw;
    bottom: 2vw;
    width: 14%;
}
.pages {
    font-size: 1.5vw;
    order: 1;
    margin: 0 3vw;
}
.previouspostslink{
	padding: 0.6vw 6vw;
	background: #00DF59;
	border-radius: 50px;
	color: #fff;
	font-size: 1.5vw;
	order: 0;
}
.nextpostslink{
	padding: 0.6vw 6vw;
	background: #00DF59;
	border-radius: 50px;
	color: #fff;
	font-size: 1.5vw;
	order: 2;
}
}
@media screen and (max-width: 599px) {  /* ============== SP LAYOUT ============== */
.blog_box{
	width: 82%;
	margin: 0 auto 0vw;
}

.blog_boxRec{
	width: 100%;
	position: relative;
	padding-bottom: 8vw;
	margin-bottom: 8vw;
}
.blog_boxRec:after{
	content: "";
	height:53vw;
	width: 100%;
	background: #E8FFDB;
	position: absolute;
	bottom: 0;
}
.blog_pickUp{
	position: absolute;
    width: 91%;
    left: 8vw;
    top: 0;
    top: 4vw;
    bottom: 0;
}
.caseList + .blog_pickUp{
	 top: 43vw;
}
.blogList{
	width: 85%;
	margin: 3vw auto 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
	z-index: 1;
}
.blogList_item{
	width: 24%;
	position: relative;
	margin: 0 0.6vw;
}
.blogList_itemLink{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.blogList_itemLink_img {
    width: 100%;
    height: 53vw;
    position: relative;
    margin-bottom: 2vw;
    overflow: hidden;
    display: block;
}
.blogList_itemLink_img img {
    position: absolute;
    object-fit: cover;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin: auto;
}
.blogList_itemLink_date{
	font-size: 4vw;
	margin-right: 3vw;
	line-height: 1.4em;
}
.blogList_itemLink_cat{
	font-size: 3.2vw;
  padding: 1vw 2vw;
  background: #fff;
  border: 1px solid #707070;
  border-radius: 20px;
  line-height: 1em;
  letter-spacing: 2px;
}
.blogList_itemLink_ttl{
	font-size: 3.4vw;
	width: 100%;
	margin-top: 2vw;
}
.blogList .slick-prev {
    left: -4vw;
    top: 28vw;
    width: 9vw;
    height: 9vw;
}
.blogList .slick-prev:before {
    content: '';
    background: url(../../src/img/slide_prev.svg) 0 0 no-repeat;
    background-size: cover;
    width: 9vw;
    height: 9vw;
    display: block;
    opacity: 1;
}
.blogList .slick-next {
    right: -4vw;
    top: 28vw;
    width: 9vw;
    height: 9vw;
}
.blogList .slick-next:before {
    content: '';
    background: url(../../src/img/slide_next.svg) 0 0 no-repeat;
    background-size: cover;
    width: 9vw;
    height: 9vw;
    display: block;
    opacity: 1;
}

.blog_boxSearch{
  margin-bottom: 3vw;
}
.blog_boxSearch form{
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  padding: 0;
  border: none;
	border-radius: 0px;
	flex-wrap: wrap;
}
.searchBox_blog01{
  width:100%;
  display: flex;
  align-items: center;
  border-right: none;
  padding-right: 3vw;
  background: #fff;
  padding: 1vw;
  border: 1px solid #707070;
	border-radius: 6px;
	margin-bottom: 3vw;
}
.searchBox_blog01_input{
  width: 100%;
}
.searchBox_blog01_input select {
    width: 100%;
	  background: url(../../src/img/search_arrow.svg) 95% center no-repeat;
	  background-size: 6% 60%;
	  padding: 2vw;
	  padding-left: 2vw;
	  border: none;
	  -webkit-appearance: none;
	  font-size: 3.4vw;
}
.searchBox_blog02{
  width: 55%;
  display: flex;
  justify-content: flex-end;
  align-items: center;

  width:100%;
  display: flex;
  align-items: center;
  border-right: none;
  padding-right: 3vw;
  background: #fff;
  padding: 1vw;
  border: 1px solid #707070;
	border-radius: 6px;
}
.searchBox_blog02_input{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width:100%;
}
.searchBox_blog02_input input{
  width: 85%;
  background: none;
  padding: 1vw;
  border: none;
  border-radius: 6px;
  -webkit-appearance: none;
  font-size: 3.4vw;
}
.searchBox_blog_send {
    width: 8%;
    display: block;
    position: relative;
    text-align: center;
    color: #000;
    left: 87%;
    top: -10.5vw;
}
.searchBox_blog_send input {
    display: block;
    letter-spacing: 2px;
    -webkit-appearance: none;
    cursor: pointer;
    background: url(../../src/img/search_btn.svg) right center no-repeat;
	  background-size: 100% 76%;
    width: 100%;
    border: none;
    padding: 0.6vw;
    border-radius: 6px;
    font-size: 4vw;
    -moz-transition: all 0.26s ease-out;
	-o-transition: all 0.26s ease-out;
	-webkit-transition: all 0.26s ease-out;
	-ms-transition: all 0.26s ease-out;
}
.searchBox_blog_send input:hover{
    opacity: 0.5;
    -moz-transition: all 0.26s ease-out;
	-o-transition: all 0.26s ease-out;
	-webkit-transition: all 0.26s ease-out;
	-ms-transition: all 0.26s ease-out;
}
.blog_boxAll{
	margin-bottom: 6vw;
}
.blogAllList{
	width: 83%;
	margin: 0 auto 2vw;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
}
.blogAllList_item{
	width: 100%;
	margin-bottom: 6vw;
}
.blogAllList_itemLink{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	background: url(../../src/img/sp/case_bg.svg) 0 0 no-repeat;
	background-size: 100% 100%;
	padding: 8vw 12vw 12vw 9vw;
	position: relative;
	flex-wrap: wrap;
}
.blogAllList_itemLink_img {
    width: 100%;
    height: 40vw;
    position: relative;
    overflow: hidden;
    display: block;
    margin-bottom: 3vw;
}
.blogAllList_itemLink_img img {
    position: absolute;
    object-fit: cover;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin: auto;
}
.blogAllList_itemLink_info{
	width: 100%;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	position: relative;
	margin-bottom: 2vw;
}
.blogAllList_itemLink_date{
	font-size: 4vw;
	margin-right: 1vw;
}
.blogAllList_itemLink_cat{
	font-size: 3.2vw;
	padding: 1vw 2vw;
	background: #fff;
	border: 1px solid #707070;
	border-radius: 20px;
	line-height: 1em;
	letter-spacing: 2px;
}
.blogAllList_itemLink_ttl{
	font-size: 3.4vw;
	width: 100%;
	margin-top: 0.8vw;
}
.blog_more{
	position: absolute;
    right: 4.5vw;
    bottom: 8.5vw;
    width: 21%;
}
.pagenaviBlog{
	width: 100%;
	margin: 0 auto 2vw;
}
.wp-pagenavi{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin: 0 auto 3vw;
}
.previouspostslink{
	padding: 1vw 6vw;
	background: #00DF59;
	border-radius: 50px;
	color: #fff;
	font-size: 3.4vw;
	order: 0;
}
.nextpostslink{
	padding: 1vw 6vw;
	background: #00DF59;
	border-radius: 50px;
	color: #fff;
	font-size: 3.4vw;
	order: 2;
}
.pages{
	font-size: 3.4vw;
	order: 1;
	margin: 0 3vw;
}
.punkuzNews{
	margin-top: 0vw;
}
.case_item{
	-moz-transition: all 0.26s ease-out;
	-o-transition: all 0.26s ease-out;
	-webkit-transition: all 0.26s ease-out;
	-ms-transition: all 0.26s ease-out;
}
.case_item.is-hidden {
    opacity: 0;
    height: 0;
    margin: 0;
    -moz-transition: all 0.26s ease-out;
	-o-transition: all 0.26s ease-out;
	-webkit-transition: all 0.26s ease-out;
	-ms-transition: all 0.26s ease-out;
}
.caseMore {
    margin: -2vw 0 9vw;
    position: relative;
    z-index: 1;
    display: block;
}
.caseMore.is-btn-hidden{
  display:none;
}
.caseMore p {
    color: #707070;
    border: none;
    cursor: pointer;
    line-height: 1em;
    width: 70%;
    margin: 0 auto;
    text-align: center;
    font-size: 4vw;
}
.caseMore p:after {
    content: "▼";
    margin-left: 2vw;
}
}
/*-----------------------------------------------------------

CASE DETAIL

-------------------------------------------------------------*/
.caseDetail_box{
	width: 60%;
	margin: 0 auto 5vw;	
}
.caseDetail_boxTtl{
	color: #3B3B3B;
	font-size: 1.4vw;
	margin-bottom: 0.4vw;
}
.caseDetail_box_cat {
    font-size: 0.8vw;
    padding: 0.4vw 0.6vw;
    background: #fff;
    border: 1px solid #707070;
    border-radius: 20px;
    line-height: 1em;
    display: inline-block;
    color: #3B3B3B;
    margin-bottom: 1vw;
}
.caseDetail_boxContent{
	color: #3B3B3B;
	font-size: 0.85vw;
}
.caseDetail_slide{
	margin-bottom: 1vw;
}
.caseDetail_nav{
	width: 60%;
	margin: 0 auto 2vw;
}
.caseDetail_nav li{
	margin: 0 0.5vw;
}
.cmn_btn02Casedetail{
	width: 39%;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.caseDetail_box {
    width: 85%;
    margin: 0 auto 5vw;
}
.caseDetail_boxContent {
    color: #3B3B3B;
    font-size: 1.5vw;
}
.caseDetail_boxTtl {
    color: #3B3B3B;
    font-size: 2.4vw;
    margin-bottom: 0.4vw;
}
.caseDetail_box_cat {
    font-size: 1.5vw;
    padding: 0.4vw 0.6vw;
    background: #fff;
    border: 1px solid #707070;
    border-radius: 20px;
    line-height: 1em;
    display: inline-block;
    color: #3B3B3B;
    margin-bottom: 1vw;
}
}
@media screen and (max-width: 599px) {  /* ============== SP LAYOUT ============== */
.caseDetail_box{
	width: 85%;
	margin: 0 auto 12vw;	
}
.caseDetail_boxTtl{
	color: #3B3B3B;
	font-size: 4.4vw;
	margin-bottom: 1vw;
	font-weight: bold;
}
.caseDetail_box_cat {
    font-size: 3.2vw;
    padding: 1vw 2vw;
    background: #fff;
    border: 1px solid #707070;
    border-radius: 20px;
    line-height: 1em;
    display: inline-block;
    color: #3B3B3B;
    margin-bottom: 5vw;
}
.caseDetail_boxContent{
	color: #3B3B3B;
	font-size: 3.6vw;
	margin-bottom: 6vw;
}
.caseDetail_slide{
	margin-bottom: 1vw;
}
.caseDetail_nav{
	width: 100%;
	margin: 0 auto 5vw;
}
.caseDetail_nav li{
	margin: 0 0.5vw;
}
.cmn_btn02Casedetail{
	width: 75vw;
}
}
/*-----------------------------------------------------------

NEWS

-------------------------------------------------------------*/
.newsBox{
	width: 60%;
	margin: 0 auto 5vw;

}
.newsList{
	width: 100%;
	margin: 2vw auto 4vw;
	position: relative;
}
.newsList_item{
	margin-bottom: 1vw;
	padding: 0 1vw 1vw;
	border-bottom: 1px solid #707070;
}
.newsList_itemLink{
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 0.9vw;
}
.newsList_itemLink_date{
	width: 16%;
}
.newsList_itemLink_ttl{
	width: 84%;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.newsBox{
	width: 85%;
	margin: 0 auto 5vw;

}
.newsList_itemLink{
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 1.5vw;
}
}
@media screen and (max-width: 599px) {  /* ============== SP LAYOUT ============== */
.newsBox{
	width: 85%;
	margin: 0 auto 12vw;

}
.newsList{
	width: 100%;
	margin: 2vw auto 9vw;
	position: relative;
}
.newsList_item{
	margin-bottom: 3vw;
	padding: 0 1vw 3vw;
	border-bottom: 1px solid #707070;
}
.newsList_itemLink{
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 3.6vw;
	flex-wrap: wrap;
}
.newsList_itemLink_date{
	width: 100%;
}
.newsList_itemLink_ttl{
	width: 100%;
}
}
/*-----------------------------------------------------------

NEWS DETAIL

-------------------------------------------------------------*/
.newsDetailBox{
	width: 60%;
	margin: 0 auto 5vw;
}
.newsDetailBox_date{
	font-size: 0.8vw;
	color: #333333;
}
.newsDetailBox_ttl{
	font-size: 1.4vw;
	color: #333333;
	padding-bottom: 1vw;
	margin-bottom: 1vw;
	border-bottom: 1px solid #333;
}
.newsDetailBox_content{
	color: #333333;
	font-size: 0.85vw;
}
.newsDetailBox_content p{
	margin-bottom: 2vw;
}
.newsDetailBox_content img{
	margin-bottom: 2vw;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.newsDetailBox{
	width: 85%;
	margin: 0 auto 5vw;
}
.newsDetailBox_date{
	font-size: 1.5vw;
	color: #333333;
}
.newsDetailBox_ttl{
	font-size: 2.4vw;
	color: #333333;
	padding-bottom: 1vw;
	margin-bottom: 1vw;
	border-bottom: 1px solid #333;
}
.newsDetailBox_content{
	color: #333333;
	font-size: 1.5vw;
}
}
@media screen and (max-width: 599px) {  /* ============== SP LAYOUT ============== */
.newsDetailBox{
	width: 85%;
	margin: 0 auto 12vw;
}
.newsDetailBox_date{
	font-size: 3.4vw;
	color: #333333;
}
.newsDetailBox_ttl{
	font-size: 4.4vw;
	color: #333333;
	padding-bottom: 3vw;
	margin-bottom: 3vw;
	border-bottom: 1px solid #333;
	font-weight: bold;
}
.newsDetailBox_content{
	color: #333333;
	font-size: 3.6vw;
	margin-bottom: 6vw;
}
.newsDetailBox_content p{
	margin-bottom: 2vw;
}
.newsDetailBox_content img{
	margin-bottom: 2vw;
}
}
/*-----------------------------------------------------------

COMPNAY

-------------------------------------------------------------*/
.company_intro{
	width: 85%;
	margin: 4vw auto 10vw;
}
.company_introList{
	width: 70%;
	margin: 3vw auto;
}
.company_introList_item{
	display: flex;
	justify-content: space-between;
	align-content: center;
	padding-bottom: 1vw;
	margin-bottom: 1vw;
	border-bottom: 1px solid #707070;
	font-size: 0.9vw;
}
.company_introList_itemL{
	width: 16%;
}
.company_introList_itemR{
	width: 84%;
}
.company_access{
	width: 85%;
	margin: 4vw auto 7vw;
}
.company_accessMap{
	width: 70%;
	margin: 3vw auto;
}
.company_accessMap iframe{
	width: 100%;
	height: 25vw;
}
.company_accessWay{
	width: 70%;
	margin: 3vw auto;
	display: flex;
	justify-content: space-between;
}
.company_accessWay li{
	font-size: 0.9vw;
	padding-left: 2vw;
	border-left: 3px solid #00DF59;
}
.company_accessWayTtl{
	font-weight: bold;
}
.company_history{
	background: #E8FFDB;
	padding: 1vw 0 3vw;
}
.company_historyBox{
	background-size: cover;
	padding: 6vw 0 0;
	display: flex;
	justify-content: center;
}
.company_history_list{

}
.company_history_listItem{
  padding-left: 3vw;
  position: relative;
  padding-bottom: 3vw;
  display: flex;
  justify-content: flex-start;
}
.company_history_listItem:last-child{
  margin-bottom: 0;
}
.company_history_listItem:before{
  content: "●";
  color: #00DF59;
  font-size: 1.2vw;
  position: absolute;
  left: 0;
  z-index: 1;
}
.company_history_listItem:after{
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  background: #00DF59;
  left: 0.59vw;
  top: 1vw;
}
.company_history_listItem_txt{
	font-size: 0.9vw;
	width: 15%;
}
.company_history_listItem_txt02{
	font-size: 0.9vw;
	width: 85%;
	white-space: nowrap;
}
.company_history_listItem_last:after{
	display: none;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.company_introList {
    width: 100%;
    margin: 3vw auto;
}
.company_introList_item {
    display: flex;
    justify-content: space-between;
    align-content: center;
    padding-bottom: 1vw;
    margin-bottom: 1vw;
    border-bottom: 1px solid #707070;
    font-size: 1.5vw;
}
.company_accessMap {
    width: 100%;
    margin: 3vw auto;
}
.company_accessMap iframe {
    width: 100%;
    height: 35vw;
}
.company_accessWay {
    width: 100%;
    margin: 3vw auto;
    display: flex;
    justify-content: space-between;
}
.company_accessWay li {
    font-size: 1.5vw;
    padding-left: 2vw;
    border-left: 3px solid #00DF59;
}
.company_history_listItem_txt {
    font-size: 1.5vw;
    width: 15%;
}
.company_history_listItem_txt02 {
    font-size: 1.5vw;
    width: 85%;
    white-space: normal;
}
}
@media screen and (max-width: 599px) {  /* ============== SP LAYOUT ============== */
.company_intro{
	width: 100%;
	margin: 8vw auto 12vw;
}
.company_intro .cmn_ttl02_enBlue{
	letter-spacing: 0px;
	font-size: 13vw;
	font-feature-settings: 'palt';
}
.company_introList{
	width: 85%;
	margin: 3vw auto;
}
.company_introList_item{
	display: flex;
	justify-content: space-between;
	align-content: center;
	padding: 2vw;
	padding-bottom: 4vw;
	margin-bottom: 4vw;
	border-bottom: 1px solid #707070;
	font-size: 3.6vw;
}
.company_introList_itemL{
	width: 30%;
}
.company_introList_itemR{
	width: 70%;
}
.spnone{
	display: none;
}
.company_access{
	width: 100%;
	margin: 4vw auto 7vw;
}
.company_accessMap{
	width: 100%;
	margin: 3vw auto 8vw;
}
.company_accessMap iframe{
	width: 100%;
	height: 45vw;
}
.company_accessWay{
	width: 85%;
	margin: 3vw auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.company_accessWay li{
	font-size: 3.4vw;
	padding-left: 4vw;
	border-left: 5px solid #00DF59;
	width: 100%;
	margin-bottom: 6vw;
}
.company_accessWay li p{
	display: inline;
}
p.company_accessWayTtl{
	font-weight: bold;
	width: 100%;
	display: block!important;
}
.company_history{
	background: #E8FFDB;
	padding: 1vw 0 3vw;
}
.company_history .cmn_ttl02 {
    text-align: center;
    padding-top: 1vw;
    position: relative;
    margin-bottom: 4vw;
    margin-top: -4vw;
}
.company_historyBox{
	background-size: cover;
	padding: 2vw 0 5vw;
	display: flex;
	justify-content: center;
	width: 85%;
	margin: 0 auto;
}
.company_history_list{

}
.company_history_listItem{
  padding-left: 8vw;
  position: relative;
  padding-bottom: 3vw;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  flex-direction: column;
}
.company_history_listItem:last-child{
  margin-bottom: 0;
}
.company_history_listItem:before{
  content: "●";
  color: #00DF59;
  font-size: 5vw;
  position: absolute;
  left: 0;
  z-index: 1;
}
.company_history_listItem:after{
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  background: #00DF59;
  left: 2.46vw;
  top: 4vw;
}
.company_history_listItem_txt{
	font-size: 4vw;
	width: 100%;
	font-weight: bold;
}
.company_history_listItem_txt02{
	font-size: 3.6vw;
	width: 100%;
	white-space: normal;
}
.company_history_listItem_last:after{
	display: none;
}
}
/*-----------------------------------------------------------

CONTACT

-------------------------------------------------------------*/
.contactBox{
	margin: 2vw 0 4vw;
	color: #2E2E2E;
}
.contactBox_lead{
	text-align: center;
	font-size: 1.4vw;
	font-weight: bold;
	margin-bottom: 2vw;
}
.contactBox_txt{
	width: 48%;
	margin: -1vw auto 0;
	font-size: 0.9vw;
	line-height: 2.4em;
}
.formBox{
	width: 75%;
	margin: 0 auto 6vw;
	border-top:1px solid #707070 ;
	padding-top: 1.6vw;
	color: #2E2E2E;
}
.formBoxItem{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1.6vw;
	padding-bottom: 1.6vw;
	border-bottom:1px solid #707070 ;
	font-weight: bold;
}
.formBoxItemL {
    width: 26%;
    padding: 1vw;
    padding-left: 6vw;
    font-size: 0.9vw;
    display: flex;
    align-self: stretch;
    align-items: center;
    position: relative;
    white-space: nowrap;

}
.formBoxItemL.hissu:before {
    content: "必須";
    background: #FF1010;
    color: #fff;
    padding: 0.2vw 0.4vw;
    line-height: 1em;
    position: absolute;
    font-size: 0.8vw;
    left: 2vw;
    letter-spacing: 0px;
    border-radius: 4px;
}
.formBoxItemR{
	width: 74%;
}
.formBoxItem2col{
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.formBoxItem2col_l{
	width: 30%;
	margin-right: 1vw;
}
.formBoxItem2col_r{
	width: 30%;
	font-size: 0.9vw;
}
.formBoxItemInput input{
	width: 100%;
  padding: 1vw;
  border: none;
  -webkit-appearance: none;
  position: relative;
  background: #F2F2F2;
  font-size: 0.9vw;
  letter-spacing: 2px;
}
.formBoxItemInput select{
	width: 100%;
  padding: 1.2vw 1vw;
  border: none;
  -webkit-appearance: none;
  position: relative;
  background: #F2F2F2 url(../../src/img/select_arrow.svg) 95% center no-repeat;
  background-size: 0.6vw;
  font-size: 0.9vw;
  letter-spacing: 2px;
}
.formBoxItemInput textarea{
	width: 100%;
  padding: 1vw;
  border: none;
  -webkit-appearance: none;
  position: relative;
  background: #F2F2F2;
  font-size: 0.9vw;
  letter-spacing: 2px;
}

.formBoxItemInput02{
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
}
.formBoxItemInput02 span{
	width: 20%;
}
.formBoxItemInput02 p {
    margin-left: 1vw;
}
.formBoxItemInput02 p + p{
    position: relative;
    bottom: 1vw;
    margin-left: 2vw;
}
.formBoxItemRadio02 p{
	margin-left: 2vw;
}


.formBoxItemTel{
	display: flex;
	justify-content: space-between;
}
.formBoxItemTelL{
	display: flex;
	justify-content: space-between;
}
.formBoxItemTelR{
	display: flex;
	justify-content: space-between;
}
.formBoxItemInputTel{
	display: flex;
	align-items: center;
}
.formBoxItemInputTel span{
	width: 80%;
}
.formBoxItemInputTel p{
	margin: 0 0.5vw;
	white-space: nowrap;
}


.formBoxItem2col_add{
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.formBoxItem2col_add_l{
	width: 40%;
	margin-right: 1vw;
}
.formBoxItem2col_add_r{
	width: 37%;
}
.addFormBtn{
	background: #00DF59!important;
	border-radius: 50px;
	color: #fff;
	border: none;
	display: inline-block;
	-moz-transition: all 0.26s ease-out;
	-o-transition: all 0.26s ease-out;
	-webkit-transition: all 0.26s ease-out;
	-ms-transition: all 0.26s ease-out;
	cursor: pointer;
	font-size: 0.9vw;
}
.addFormBtn:hover{
	opacity: 0.5;
	-moz-transition: all 0.26s ease-out;
	-o-transition: all 0.26s ease-out;
	-webkit-transition: all 0.26s ease-out;
	-ms-transition: all 0.26s ease-out;
}

.formBoxItemRadio .wpcf7-form-control{
	display: flex;
	flex-wrap: wrap;
}
.formBoxItemRadio .wpcf7-form-control-wrap .wpcf7-radio .wpcf7-list-item{
  font-size: 0.9vw;
  letter-spacing: 2px;
  text-align: left;
  position: relative;
  margin: 0;
  margin-bottom: 0.6vw;
}
.formBoxItemRadio .wpcf7-form-control-wrap .wpcf7-radio .wpcf7-list-item:last-child{
  margin-bottom: 0vw;
}
.formBoxItemRadio input[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  position: absolute;
  width: 20px;
  height: 20px;
  border: 1px solid #707070;
  background: #fff;
  left: 0%;
  top: 10%;
  box-shadow: 0px 0px 0px #ECFFAA;
  padding: 0;
}
.formBoxItemRadio input[type=radio]:checked {
    border: 1px solid #707070;
    background: #78FFAE;
}
.formBoxItemRadio .wpcf7-radio .wpcf7-list-item{
  display: block;
  padding: 0;
  padding-left: 2.5vw;
  letter-spacing: 0;
  text-align: left;
  width: 100%;
}
.form_boxCheckTxt{
	text-align: center;
	margin: 3vw 0 1vw;
	font-weight: bold;
}
.form_boxCheckTxt01{
	text-align: center;
	font-size: 0.9vw;
	margin-bottom: 1vw;
}
.form_boxCheckTxt01 a{
	text-decoration: underline!important;
}
.form_boxCheck {
    margin: 1vw 0 2vw;
    display: flex;
    justify-content: center;
    font-weight: bold;
}
.form_boxCheck label{
	display: flex;
	align-items: center;
	font-size: 0.9vw;
	justify-content: center;
}
.form_boxCheck input {
    margin-right: 1vw;
    -webkit-appearance: none;
    height: 1.4vw!important;
    width: 1.4vw!important;
    border: 1px solid #aaa;
    background: #fff;
    border-radius: 2px;
    padding: 0;
    line-height: 1em;
    font-size: 1vw;
}
.form_boxCheck input[type=checkbox]:checked:after {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #000;
    font-size: 1.2vw;
    position: relative;
    left: 0.1vw;
    top: 0.1vw;
}

.sendBtn {
  position: relative;
  width: 31%;
  margin: 0 auto;
}
.sendBtn .button {
    -webkit-appearance: none;
    cursor: pointer;
    width: 100%;
    font-size: 0.9vw;
		font-weight: bold;
		position: relative;
		padding-right: 7vw;
		background: #fff;
		border: 1px solid #707070;
		box-shadow: 4px 4px 0 #FC900380 ;
		border-radius: 50px;
		text-align: center;
		padding: 1vw 0;
}
.sendBtn:before,
.sendBtn:after {
  content: '';
  display: block;
  position: absolute;
  top: 55%;
  right: 4vw;
  height: 1px;
  -moz-transition: all 0.26s ease-out;
  -o-transition: all 0.26s ease-out;
  -webkit-transition: all 0.26s ease-out;
  -ms-transition: all 0.26s ease-out;
  z-index: 1;
}
.sendBtn:hover:before,
.sendBtn:hover:after {
  right: 3vw;
  -moz-transition: all 0.26s ease-out;
  -o-transition: all 0.26s ease-out;
  -webkit-transition: all 0.26s ease-out;
  -ms-transition: all 0.26s ease-out;
  opacity: 0.5;
}
.sendBtn:before {
  width: 6vw;
  transform: translate(6vw, 0px);
  content: '';
  background: #707070;
}
.sendBtn:after {
  width: 1vw;
  transform-origin: right center;
  transform: translate(6vw, 0px) rotate(30deg);
  content: '';
  background: #707070;
}
.sendBtn:hover:after {
    opacity: 0.6;
}
.button:hover{
  opacity: 0.6;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.contactBox_lead {
    text-align: center;
    font-size: 2.4vw;
    font-weight: bold;
    margin-bottom: 2vw;
}
.contactBox_txt {
    width: 76%;
    margin: -1vw auto 0;
    font-size: 1.5vw;
    line-height: 2.4em;
}
.formBox {
    width: 95%;
    margin: 0 auto 6vw;
    border-top: 1px solid #707070;
    padding-top: 1.6vw;
    color: #2E2E2E;
}
.formBoxItemL {
    width: 26%;
    padding: 1vw;
    padding-left: 6vw;
    font-size: 1.5vw;
    display: flex;
    align-self: stretch;
    align-items: center;
    position: relative;
    white-space: nowrap;
}
.formBoxItemL.hissu:before {
    content: "必須";
    background: #FF1010;
    color: #fff;
    padding: 0.5vw 0.4vw;
    line-height: 1em;
    position: absolute;
    font-size: 1.2vw;
    left: 2vw;
    letter-spacing: 0px;
    border-radius: 4px;
}
.formBoxItemRadio .wpcf7-form-control-wrap .wpcf7-radio .wpcf7-list-item {
    font-size: 1.5vw;
    letter-spacing: 2px;
    text-align: left;
    position: relative;
    margin: 0;
    margin-bottom: 0.6vw;
}
.formBoxItemRadio .wpcf7-radio .wpcf7-list-item {
    display: block;
    padding: 0;
    padding-left: 3.5vw;
    letter-spacing: 0;
    text-align: left;
    width: 100%;
}
.formBoxItemInput input {
    width: 100%;
    padding: 1vw;
    border: none;
    -webkit-appearance: none;
    position: relative;
    background: #F2F2F2;
    font-size: 1.5vw;
    letter-spacing: 2px;
}
.formBoxItemInput select {
    width: 100%;
    padding: 1.2vw 1vw;
    border: none;
    -webkit-appearance: none;
    position: relative;
    background: #F2F2F2 url(../../src/img/select_arrow.svg) 95% center no-repeat;
    background-size: 1vw;
    font-size: 1.5vw;
    letter-spacing: 2px;
}
.form_boxCheckTxt01 {
    text-align: center;
    font-size: 1.3vw;
    margin-bottom: 1vw;
}
.form_boxCheck label {
    display: flex;
    align-items: center;
    font-size: 1.5vw;
    justify-content: center;
}
.sendBtn .button {
    -webkit-appearance: none;
    cursor: pointer;
    width: 100%;
    font-size: 1.5vw;
    font-weight: bold;
    position: relative;
    padding-right: 7vw;
    background: #fff;
    border: 1px solid #707070;
    box-shadow: 4px 4px 0 #fc900380;
    border-radius: 50px;
    text-align: center;
    padding: 1vw 0;
}
}
@media screen and (max-width: 599px) {  /* ============== SP LAYOUT ============== */

.contactBox{
	margin: 8vw 0 4vw;
}

.contactBox_lead {
    text-align: center;
    font-size: 5vw;
    margin-bottom: 4vw;
    line-height: 1.6em;
    margin-top: -1vw;
}
.contactBox_txt{
	width: 83%;
	margin: 1vw auto 6vw;
	font-size: 3.2vw;
	line-height: 2em;
	font-weight: 400;
}


.formBox{
	width: 83%;
	margin: 0 auto 12vw;
	border-top:1px solid #707070 ;
	padding-top: 4vw;
}
.formBoxItem{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 4vw;
	padding-bottom: 4vw;
	border-bottom:1px solid #707070 ;
	flex-wrap: wrap;
}
.formBoxItemL {
    width: 100%;
    padding: 1vw;
    padding-left: 0;
    font-size: 3.6vw;
    display: flex;
    align-self: stretch;
    align-items: center;
    position: relative;
    white-space: nowrap;
    margin-bottom: 3vw;
}
.formBoxItemL.hissu{
	padding-left: 12vw;
}
.formBoxItemL.hissu:before {
    content: "必須";
    background: #FF1010;
    color: #fff;
    padding: 0.6vw 2vw 0.8vw;
    line-height: 1em;
    position: absolute;
    font-size: 3vw;
    left: 0vw;
    letter-spacing: 0px;
    border-radius: 4px;
}
.formBoxItemR{
	width: 100%;
}
.formBoxItem2col{
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.formBoxItem2col_l{
	width: 30%;
	margin-right: 1vw;
}
.formBoxItem2col_r{
	width: 30%;
	font-size: 3.6vw;
}
.formBoxItemInput input{
	width: 100%;
  padding: 3vw;
  border: none;
  -webkit-appearance: none;
  position: relative;
  background: #F2F2F2;
  font-size: 3.6vw;
  letter-spacing: 2px;
}
.formBoxItemInput select{
	width: 100%;
  padding: 3.2vw 3vw;
  border: none;
  -webkit-appearance: none;
  position: relative;
  background: #F2F2F2 url(../../src/img/select_arrow.svg) 95% center no-repeat;
  background-size: 3vw;
  font-size: 3.6vw;
  letter-spacing: 2px;
}
.formBoxItemInput textarea{
	width: 100%;
  padding: 3vw;
  border: none;
  -webkit-appearance: none;
  position: relative;
  background: #F2F2F2;
  font-size: 3.6vw;
  letter-spacing: 2px;
}


.formBoxItemRadio02 p{
	margin-left: 2vw;
}

.formBoxItemInputTel{
	display: flex;
	align-items: center;
	width: 50%!important;
}
.formBoxItemInputTel span{
	width: 80%;
}
.formBoxItemInputTel p{
	margin: 0 0.5vw;
	white-space: nowrap;
}

.formBoxItem2col_add{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
.formBoxItem2col_add p{
	font-size: 4vw;
	font-weight: 400;
}
.formBoxItem2col_add_l{
	width: 86%;
	margin-right: 1vw;
	margin-bottom: 3vw;

}
.formBoxItem2col_add_r{
	width: 100%;
}
.addFormBtn{
	background: #00DF59!important;
	border-radius: 50px;
	color: #fff;
	border: none;
	display: inline-block;
	-moz-transition: all 0.26s ease-out;
	-o-transition: all 0.26s ease-out;
	-webkit-transition: all 0.26s ease-out;
	-ms-transition: all 0.26s ease-out;
	cursor: pointer;
	font-size: 0.9vw;
}
.addFormBtn:hover{
	opacity: 0.5;
	-moz-transition: all 0.26s ease-out;
	-o-transition: all 0.26s ease-out;
	-webkit-transition: all 0.26s ease-out;
	-ms-transition: all 0.26s ease-out;
}
.form_boxCheck {
    margin: 1vw 0 6vw;
}
.form_boxCheck label{
	display: flex;
	align-items: center;
	font-size: 3.6vw;
	justify-content: center;
}
.form_boxCheck input {
    margin-right: 1vw;
    -webkit-appearance: none;
    height: 4.4vw!important;
    width: 4.4vw!important;
    border: 1px solid #aaa;
    background: #fff;
    border-radius: 2px;
    padding: 0;
    line-height: 1em;
    font-size: 1vw;
}
.form_boxCheck input[type=checkbox]:checked:after {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #000;
    font-size: 4vw;
    position: relative;
    left: 0.1vw;
    top: 1.4vw;
}
.formBoxItemRadio .wpcf7-form-control{
	display: flex;
	flex-wrap: wrap;
}
.formBoxItemRadio .wpcf7-form-control-wrap .wpcf7-radio .wpcf7-list-item{
  font-size: 3.6vw;
  letter-spacing: 2px;
  text-align: left;
  position: relative;
  margin: 0 0 2vw;
}
.formBoxItemRadio .wpcf7-form-control-wrap .wpcf7-radio .wpcf7-list-item:last-child{
  margin-top: 0.6vw;
}
.formBoxItemRadio input[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  position: absolute;
  width: 20px;
  height: 20px;
  border: 1px solid #707070;
  background: #fff;
  left: 0%;
  top: 10%;
  box-shadow: 0px 0px 0px #ECFFAA;
  padding: 0;
}
.formBoxItemRadio input[type=radio]:checked {
    border: 1px solid #707070;
    background: #78FFAE;
}
.formBoxItemRadio .wpcf7-radio .wpcf7-list-item{
  display: block;
  padding: 0;
  padding-left: 9.5vw;
  letter-spacing: 0;
  text-align: left;
  width: 100%;
}
.form_boxCheckTxt{
	text-align: center;
	margin: 3vw 0 1vw;
}
.form_boxCheckTxt01{
	text-align: center;
	font-size: 3.6vw;
	margin-bottom: 3vw;
}
.form_boxCheckTxt01 + .form_boxCheckTxt01{
	text-align: center;
	font-size: 3.2vw;
	margin-bottom: 3vw;
	font-weight: 400;
}
.form_boxCheckTxt01 a{
	text-decoration: underline!important;
}
.sendBtn {
  position: relative;
  width: 75vw;
  margin: 0 auto;
}
.sendBtn .button {
    -webkit-appearance: none;
    cursor: pointer;
    width: 100%;
    font-size: 3.6vw;
		font-weight: bold;
		position: relative;
		padding-right: 7vw;
		background: #fff;
		border: 1px solid #707070;
		box-shadow: 4px 4px 0 #FC900380 ;
		border-radius: 50px;
		text-align: center;
		padding: 2vw 0;
}
.sendBtn:before,
.sendBtn:after {
  content: '';
  display: block;
  position: absolute;
  top: 55%;
  right: -1vw;
  height: 2px;
  -moz-transition: all 0.26s ease-out;
  -o-transition: all 0.26s ease-out;
  -webkit-transition: all 0.26s ease-out;
  -ms-transition: all 0.26s ease-out;
}
.sendBtn:hover:before,
.sendBtn:hover:after {
  right: -2vw;
  -moz-transition: all 0.26s ease-out;
  -o-transition: all 0.26s ease-out;
  -webkit-transition: all 0.26s ease-out;
  -ms-transition: all 0.26s ease-out;
  opacity: 0.5;
}
.sendBtn:before {
  width: 22vw;
  transform: translate(6vw, 0px);
  content: '';
  background: #707070;
}
.sendBtn:after {
  width: 3vw;
    transform-origin: right center;
    transform: translate(6vw, 0px) rotate(30deg);
    content: '';
    background: #707070;
}
.sendBtn:hover:after {
    opacity: 0.6;
}
.button:hover{
  opacity: 0.6;
}



.sendBtn:hover:after {
    opacity: 0.6;
}
.button:hover{
  opacity: 0.6;
}
}
/*-----------------------------------------------------------

THANKS

-------------------------------------------------------------*/
.thanksBox{
	margin: 2vw 0 5vw;
}
.thanksBox_lead{
	font-size: 1.8vw;
	font-weight: bold;
	text-align: center;
	margin-bottom: 1vw;
	color: #000000;
}
.thanksBox_txt{
	color: #000000;
	text-align: center;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */

}
@media screen and (max-width: 599px) {  /* ============== SP LAYOUT ============== */
.thanksBox{
	width: 85%;
	margin: 6vw auto 12vw;
}
.thanksBox_lead{
	font-size: 5vw;
    margin-bottom: 4vw;
    line-height: 1.6em;
    margin-top: 0vw;

}
.thanksBox_txt{
	text-align: center;
    
    width: 100%;
    margin: 1vw auto 3vw;
    font-size: 3.4vw;
    margin-bottom: 8vw;
    line-height: 2em;
    font-weight: 400;
    text-align: left!important;
}
}
/*-----------------------------------------------------------

ENTRY

-------------------------------------------------------------*/
.formBoxItemInputSelect50 select{
	width: 40%;
}
.formBoxItemL02{
	width: 15%;
}
.formBoxItemR02{
	width: 30%;
}

.formBoxItemRMIX{
	width: 50%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.formBoxItemL03{
	width: 50%;
}
.formBoxItemR03{
	width: 48%;
}
.formBoxItemR03 .wpcf7-form-control-wrap{
	display: flex;
	
}
.formBoxItemR03 .wpcf7-form-control {
    display: flex;
    flex-wrap: wrap;
    margin-right: 3vw;
}
.formBoxItemL04{
	width: 25%;
}
.formBoxItemRMIX_R{
	width: 70%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.formBoxItemR04{
	width: 30%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.formBoxItemR04 span{
	display: block;
	width: 80%;
}
.formBoxItemTel02{
	justify-content: flex-start;
}
.formBoxItemR05{
	width: 30%;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.formBoxItemInputSelect50 select {
    width: 60%;
}
.formBoxItemInput textarea {
    width: 100%;
    padding: 1vw;
    border: none;
    -webkit-appearance: none;
    position: relative;
    background: #F2F2F2;
    font-size: 1.5vw;
    letter-spacing: 2px;
}
}
@media screen and (max-width: 599px) {  /* ============== SP LAYOUT ============== */
.formBoxItemInputSelect50 select{
	width: 100%;
}
.formBoxItemL02{
	width: 100%;
}
.formBoxItemR02{
	width: 100%;
}
.formBoxItemR02 + .formBoxItemL02{
	margin-top: 4vw;
	padding-top: 4vw;
	border-top: 1px solid #707070;
}

.formBoxItemRMIX{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
.formBoxItemL03{
	width: 100%;
}
.formBoxItemR03{
	width: 100%;
}
.formBoxItemL03 + .formBoxItemR03{
	margin-bottom: 4vw;
	padding-bottom: 4vw;
	border-bottom: 1px solid #707070;
}
.formBoxItemR03 .wpcf7-form-control-wrap{
	display: flex;
	
}
.formBoxItemR03 .wpcf7-form-control {
    display: flex;
    flex-wrap: wrap;
    margin-right: 10vw;
}
.formBoxItemL04{
	width: 100%;
}
.formBoxItemRMIX_R{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
}
.formBoxItemR04{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 3vw;
}
.formBoxItemR04 + .formBoxItemR04{
	width: 48%;
	margin-right: 3vw;
}
.formBoxItemR04 + .formBoxItemR04  + .formBoxItemR04{
	margin-right: 0vw;
}
.formBoxItemR04 + .formBoxItemR04 span{
	margin-right: 3vw;
	width: 79%;
}
.formBoxItemR04 span{
	display: block;
	width: 90%;
}
.formBoxItemTel02{
	justify-content: flex-start;
}
.formBoxItemR05{
	width: 100%;
}
}
/*-----------------------------------------------------------

RECRUIT

-------------------------------------------------------------*/
.recruitBox{
	width: 60%;
	margin: 2vw auto 5vw;
}
.recruitBoxTtl{
	text-align: center;
	font-size: 1.2vw;
	font-weight: bold;
	color: #2E2E2E;
}
.recruitBox_name{
	color: #2E2E2E;
	font-weight: bold;
	font-size: 1vw;
	padding: 1vw 0;
	border-bottom: 1px solid #707070;
}
.recruitBox_list{
	margin-bottom: 2vw;
}
.recruitBox_listItem{
	display: flex;
	justify-content: space-between;
	padding: 1vw 0;
	border-bottom: 1px solid #707070;
}
.recruitBox_listItem:last-child{
	border-bottom: none;
}
.recruitBox_listItemL{
	width: 30%;
}
.recruitBox_listItemR{
	width: 70%;
}
.cmn_btn02RecruitDetail{
	width: 39%;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.recruitBoxTtl {
    text-align: center;
    font-size: 2.2vw;
    font-weight: bold;
    color: #2E2E2E;
}
.recruitBox {
    width: 85%;
    margin: 2vw auto 5vw;
}
.recruitBox_name {
    color: #2E2E2E;
    font-weight: bold;
    font-size: 2vw;
    padding: 1vw 0;
    border-bottom: 1px solid #707070;
}
}
@media screen and (max-width: 599px) {  /* ============== SP LAYOUT ============== */
.recruitBox{
	width: 85%;
	margin: 2vw auto 5vw;
}
.recruitBoxTtl{
	text-align: center;
	font-size: 4.4vw;
	font-weight: bold;
	color: #2E2E2E;
}
.recruitBox_name{
	color: #2E2E2E;
	font-weight: bold;
	font-size: 3.8vw;
	padding: 3vw 0;
	border-bottom: 1px solid #707070;
}
.recruitBox_list{
	margin-bottom: 2vw;
}
.recruitBox_listItem{
	display: flex;
	justify-content: space-between;
	padding: 4vw 0;
	border-bottom: 1px solid #707070;
	flex-wrap: wrap;
}
.recruitBox_listItem:last-child{
	border-bottom: none;
}
.recruitBox_listItemL{
	width: 100%;
	font-weight: bold;
}
.recruitBox_listItemR{
	width: 100%;
}
.cmn_btn02RecruitDetail{
	width: 75vw;
	margin-bottom: 12vw;
}
}
/*-----------------------------------------------------------


POLICY

-------------------------------------------------------------*/
.policy_box{
	width: 60%;
	margin: 0vw auto 6vw;
}
.policy_boxTop{
	margin-bottom: 2vw;
	color: #000000;
}
.policy_boxTop p{
	font-size: 0.8vw;
	text-align: right;
	font-weight: 400;
	line-height: 1.6em;
	color: #000000;
}
.policy_boxIntro{
	font-size: 0.9vw;
	font-weight: 400;
	margin-bottom: 2vw;
	letter-spacing: 3px;
	color: #000000;
}
.policy_boxBody{
	margin-bottom: 8vw;
	color: #000000;
}
.policy_boxBody h2{
	font-size: 1vw;
	margin-bottom: 0.6em;
	font-weight: 700;
}
.policy_boxBody p{
	font-size: 0.8vw;
	font-weight: 400;
	line-height: 2em;
	margin-bottom: 1vw;
	letter-spacing: 1px;
}
.cmn_btn02Policy{
	width: 39%;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.policy_box {
    width: 85%;
    margin: 0vw auto 6vw;
}
.policy_boxTop p {
    font-size: 1.5vw;
    text-align: right;
    font-weight: 400;
    line-height: 1.6em;
    color: #000000;
}
.policy_boxIntro{
	font-size: 1.5vw;
	font-weight: 400;
	margin-bottom: 2vw;
	letter-spacing: 3px;
	color: #000000;
}
.policy_boxBody h2{
	font-size: 1.8vw;
	margin-bottom: 0.6em;
	font-weight: 700;
}
.policy_boxBody p{
	font-size: 1.5vw;
	font-weight: 400;
	line-height: 2em;
	margin-bottom: 1vw;
	letter-spacing: 1px;
}
}
@media screen and (max-width: 599px) {  /* ============== SP LAYOUT ============== */
.policy_box{
	width: 85%;
	margin: 0vw auto 12vw;
}
.mainTtl_enPolicy{
	letter-spacing: 0px;
}
.policy_boxTop{
	margin-bottom: 2vw;
	color: #000000;
}
.policy_boxTop p{
	font-size: 3.4vw;
	text-align: right;
	font-weight: 400;
	line-height: 1.6em;
	color: #000000;
}
.policy_boxIntro{
	font-size: 3.6vw;
	font-weight: 400;
	margin-bottom: 6vw;
	letter-spacing: 3px;
	color: #000000;
}
.policy_boxBody{
	margin-bottom: 8vw;
	color: #000000;
}
.policy_boxBody h2{
	font-size: 4vw;
	margin-bottom: 0;
	font-weight: 700;
}
.policy_boxBody p{
	font-size: 3.6vw;
	font-weight: 400;
	line-height: 2em;
	margin-bottom: 6vw;
	letter-spacing: 1px;
}
.cmn_btn02Policy{
	width: 75vw;
}
}
/*-----------------------------------------------------------

404

-------------------------------------------------------------*/
@media screen and (max-width: 599px) {  /* ============== SP LAYOUT ============== */
.thanksBox_lead404{
	letter-spacing: 2px;
}
}
/*-----------------------------------------------------------

SITEMAP

-------------------------------------------------------------*/
.sitemapBox{
	width: 66%;
	margin: 0vw auto 6vw;
	color: #1A1A1A;
}
.sitemapBoxList{
	width: 100%;
	display: flex;
	justify-content: space-between;
	margin-bottom: 3vw;
}
.sitemapBoxList li{
	font-size: 1vw;
	font-weight: bold;
}
.sitemapBoxList_btm{
	width: 100%;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin-bottom: 5vw;
}
.sitemapBoxList_btm li{
	padding-right: 4vw;
	font-size: 1vw;
	font-weight: bold;
}
.caseSitemap{
	display: flex;
	flex-direction: column;
	margin-right: -3vw;
}
.caseSitemap p{
	margin-bottom: 0.4vw;
	display: block;
}
.caseSitemap p a{
	padding-left: 0;
	border-left: none;
	font-size: 1vw;
	font-weight: bold;
}
.caseSitemap a{
	font-size: 0.9vw;
	padding-left: 1vw;
	display: block;
	border-left: 1px solid #707070;
	white-space: nowrap;
	font-weight: 400;
}
.sitemapBoxBtn{
	margin-bottom: 5vw;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.sitemapBox{
	width: 83%;
	margin: 0vw auto 6vw;

}
.sitemapBoxList{
	width: 100%;
	display: flex;
	justify-content: space-between;
	margin-bottom: 3vw;
	flex-wrap: wrap;
}
.sitemapBoxList li{
	font-size: 1.6vw;
	margin-bottom: 3vw;
}
.sitemapBoxList_btm{
	width: 100%;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin-bottom: 5vw;
}
.sitemapBoxList_btm li{
	padding-right: 5vw;
	font-size: 1.6vw;
	margin-bottom: 3vw;
}
.caseSitemap{
	display: flex;
	flex-direction: column;
	margin-right: -3vw;
}
.caseSitemap span{
	display: inline-block;
	margin-bottom: 0.4vw;
}
.caseSitemap p a{
	padding-left: 0;
	border-left: none;
	font-size: 1.6vw;
	font-weight: bold;
}
.caseSitemap a{
	font-size: 1.5vw;
	padding-left: 1vw;
	display: block;
	border-left: 1px solid #707070;
	white-space: nowrap;
}
}
@media screen and (max-width: 599px) {  /* ============== SP LAYOUT ============== */
.sitemapBox{
	width: 83%;
	margin: 10vw auto 10vw;
	color: #1A1A1A;
}
.sitemapBoxList{
	width: 100%;
	display: flex;
	justify-content: space-between;
	margin-bottom: 0vw;
	flex-wrap: wrap;
}
.sitemapBoxList li{
	font-size: 4.5vw;
	width: 100%;
	margin-bottom: 8vw;
	font-weight: bold;
}
.sitemapBoxList_btm{
	width: 100%;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin-bottom: 5vw;
	flex-wrap: wrap;
}
.sitemapBoxList_btm li{
	padding-right: 4vw;
	font-size: 4.5vw;
	width: 100%;
	margin-bottom: 8vw;
	font-weight: bold;
}
.caseSitemap{
	display: flex;
	flex-direction: column;
	margin-right: 3vw;
	width: 100%;
}
.caseSitemap p{
	display: block;
	margin-bottom: 3vw;
	font-size: 4.5vw;
}
.caseSitemap p a{
	padding-left: 0;
	border-left: none;
	font-size: 4.5vw;
	font-weight: bold;
}
.caseSitemap a{
	font-size: 3.4vw;
	padding: 2vw;
	padding-left: 4vw;
	display: block;
	border-left: 1px solid #707070;
	white-space: nowrap;
	font-weight: 400;
}
}
/*-----------------------------------------------------------

EFFECT

-------------------------------------------------------------*/
.fadeUp {
animation-name:fadeUpAnime;
animation-duration:0.2s;
animation-fill-mode:forwards;
opacity: 0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform: translateY(10px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}
.fadeUpFlow {
animation-name:fadeUpFlowAnime;
animation-duration:0.6s;
animation-fill-mode:forwards;
opacity: 0;
}
.flowBoxList_item{
	opacity: 0;
}

@keyframes fadeUpFlowAnime{
  from {
    opacity: 0;
	transform: translateY(30px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}

.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime{
  from {
    opacity: 0;
	transform: translateX(-100px);
  }

  to {
    opacity: 1;
	transform: translateX(0);
  }
}

.scaleUp{
animation-name:scaleUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes scaleUpAnime{
  from {
    opacity: 0;
		transform: scale(0);
  }

  to {
    opacity: 1;
	transform: scale(1);
  }
}
