@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;
}
picture,img {
	width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  /*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;}

input,select,textarea{
  font-family: 'Noto Sans JP', "游ゴシック", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", "Hiragino Kaku Gothic Pro", Osaka, sans-serif;
}
/*-----------------------------------------------------------
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;
}
html {
  width: 100%;
  font-size: calc(100vw / 1366 * 10);
}

@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
html {
  width: 100%;
  font-size: calc(100vw / 899 * 10);
}
a{
  color: inherit;
    -moz-transition: all 0s ease-out;
  -o-transition: all 0s ease-out;
  -webkit-transition: all 0s ease-out;
  -ms-transition: all 0s ease-out;
}
a:hover{
  opacity: 0.6;
  -moz-transition: all 0s ease-out;
  -o-transition: all 0s ease-out;
  -webkit-transition: all 0s ease-out;
  -ms-transition: all 0s ease-out;
}
}
@media only screen and (max-width: 599px) {
html {
  width: 100%;
  font-size: calc(100vw / 428 * 10);
}
a{
  color: inherit;
    -moz-transition: all 0s ease-out;
  -o-transition: all 0s ease-out;
  -webkit-transition: all 0s ease-out;
  -ms-transition: all 0s ease-out;
}
a:hover{
  opacity: 0.6;
  -moz-transition: all 0s ease-out;
  -o-transition: all 0s ease-out;
  -webkit-transition: all 0s ease-out;
  -ms-transition: all 0s ease-out;
}
}
body {
  position: relative;
  width: 100%;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  font-family: 'Noto Sans JP', "游ゴシック", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", "Hiragino Kaku Gothic Pro", Osaka, sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  font-style: normal;
  line-height: 2;
  letter-spacing: 0;
  background-color: #fff;
  color: #212121;
}

@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: #212121;
}

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

::-webkit-scrollbar-button:start:decrement,
::-webkit-scrollbar-button:end:increment {
  display: none;
}
a[href^="tel:"] {
    pointer-events: none;
}
}
.is_pc { display: block !important; }
.is_sp { display: none !important; }
.is_tb { display: none !important; }
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.is_tb { display: block !important; }
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.is_pc { display: none !important; }
.is_sp { display: block !important; }
.is_tb { display: none !important; }
body {
  font-size: 1.6rem;
}
}

.f_en{
  font-family: 'Oswald', sans-serif;
}
/*-----------------------------------------------------------

component

-------------------------------------------------------------*/

/*-----------------------------------------------------------

cmn laypout

-------------------------------------------------------------*/
.header{
  
}
.headerInner{
  padding: 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  position: fixed;
  z-index: 1000;
}
.h_logo{
  width: 8rem;
  display: block;
}
.navTglOpen{
  width: 6.5rem;
  display: block;
}

.navBox {
  visibility: hidden;
  z-index: 9999;
  position: fixed;
  top: 0;
  right: -60rem;
  width: auto;
  height: 100%;
  background: #fff;
  opacity: 0;
  transition: 1s ease;
  padding: 2rem;
  padding-bottom: 8rem;
}

.navBox.active {
  visibility: visible;
  opacity: 1;
  overflow: auto;
  color: #000;
  right: 0rem;
  background: #000;
  box-shadow: 3px -4px 6px #000000;
  transition: 0.5s ease;
  width: 51%;
  -ms-overflow-style: none; 
  scrollbar-width: none;
}
.navBox.active::-webkit-scrollbar {
  display:none;
}
.navBoxHeader{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 8rem;
}
.navBoxHeader_item01{
  width: 4rem;
}
.navBoxHeader_item01 a{
  display: block;
  position: relative;
}
.navBoxHeader_item01 a span{
  width: 2rem;
  height: 2rem;
  position: absolute;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  top: -1rem;
  right: -2rem;
  font-size: 1.2rem;
}
.navBoxHeader_item02{
  width: 4rem;
  margin-left: 4rem;
}
.navBoxEcMenu{
  width: 80%;
  margin: 0 auto 3rem;
  display: flex;
  justify-content: space-between;
}
.navBoxEcMenu_item01{
  width: 48%;
}
.navBoxEcMenu_item01 a{
  width: 100%;
  display: block;
  padding: 1rem 0;
  border-radius: 50px;
  border: 1px solid #fff;
  background: #fff;
  color: #000;
  text-align: center;
  line-height: 1;
  transition: ease .2s;
  position: relative;
  overflow: hidden;
}
.navBoxEcMenu_item01 a:hover{
  opacity: 1;
}
.navBoxEcMenu_item01 a span {
  position: relative;
  z-index: 3;
  transition: ease .5s;
}
.navBoxEcMenu_item01 a:hover span{
  color:#fff;
  transition: ease .5s;
}
.navBoxEcMenu_item01 a:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background:#000;
  width: 100%;
  height: 120%;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}
.navBoxEcMenu_item01 a:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}
.navBoxEcMenu_item02{
  width: 48%;
}
.navBoxEcMenu_item02 a{
  width: 100%;
  display: block;
  padding: 1rem 0;
  border-radius: 50px;
  border: 1px solid #fff;
  background: #000;
  color: #fff;
  text-align: center;
  line-height: 1;
  transition: ease .2s;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.navBoxEcMenu_item02 a:hover{
  opacity: 1;
}
.navBoxEcMenu_item02 a span {
  position: relative;
  z-index: 3;
  transition: ease .5s;
}
.navBoxEcMenu_item02 a:hover span{
  color:#000;
  transition: ease .5s;
}
.navBoxEcMenu_item02 a:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background:#fff;
  width: 100%;
  height: 120%;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}
.navBoxEcMenu_item02 a:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}
.navBoxBtm{
  width: 80%;
  margin: 0 auto 3rem;
  display: flex;
  justify-content: space-between;
}
.navBoxBtmList{
  width: 48%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.navBoxBtmList_item{
  margin-bottom: 2rem;
}
.navBoxBtmList_itemLink{
  display: inline-block;
  padding-bottom: 0.4rem;
}
.navBoxBtmList_item a{
  display: inline-block;
  border-bottom: 1px solid #ffffff00;
}
.navBoxBtmList_item a:hover{
  border-bottom: 1px solid #ffffff;
}
.navBoxBtmList_itemLink .nav_en{
  color: #7F7F7F;
  font-size: 1.4rem;
  display: block;
  line-height: 1;
  margin-bottom: 0.6rem;
}
.navBoxBtmList_itemLink .nav_jp{
  color: #fff;
  display: block;
  line-height: 1;
}
.navBoxBtmList_item ul{
  position: relative;
  padding-left: 0.5rem;
  padding-top: 2rem;
}
.navBoxBtmList_item ul:before {
  content: "";
  background: #fff;
  width: 1px;
  height: 94%;
  position: absolute;
  top: 0;
  left: 0.5rem;
}
.navBoxBtmList_item ul li{
  position: relative;
  padding-left: 3rem;
  margin-bottom: 2rem;
}
.navBoxBtmList_item ul li:last-child{
  margin-bottom: 0;
}
.navBoxBtmList_item ul li:before {
  content: "";
  width: 2rem;
  background: #fff;
  height: 1px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.navBoxBtmList_item ul li a{
  color: #fff;
  line-height: 1.6;
}

/* sub header */
.headerSub .headerInner{
  background: none;
}



.footer{
  background: #F5F5F5;
}
.footerTop{
  display: flex;
  justify-content: space-between;
}
.footerTop_item{
  width: 50%;
  padding: 6rem 0;
}
.footerTop_item01{
  background: url(../../src/img/ft_contact_bg.png) center center no-repeat;
  background-size: cover;
}
.footerTop_item02{
  background: url(../../src/img/ft_tel_bg.png) center center no-repeat;
  background-size: cover;
}
.footerTop_itemIco01{
  width: 4rem;
  margin: 0 auto 1rem;
}
.footerTop_itemIco02{
  width: 4rem;
  margin: 0 auto 1rem;
}
.footerTop_itemTtl{
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 1rem;
}
.footerTopBtn{
  display: flex;
  justify-content: center;
}
.ftTelBox {
  display: flex;
  justify-content: center;
}
.ftTelBtn {
  width: 24rem;
  display: block;
  padding: 0.5rem 0;
  border-radius: 50px;
  color: #fff;
  text-align: center;
  line-height: 1;
  border: 2px solid #fff;
  font-size: 2.5rem;
  font-weight: bold;
}
.footerBtm{

}
.footerBtmInner{
  width: 70%;
  margin: 0 auto;
  padding: 4rem 0 1rem;
  display: flex;
  justify-content: space-between;

}
.footerBtmInnerL{
  width: 28%;
}
.footerBtmInnerL_logo{
  display: block;
  width: 10rem;
  margin-bottom: 2rem;
  line-height: 1;
}
.footerBtmInnerL_company{
  margin-bottom: 1rem;
  line-height: 1;
}
.footerBtmInnerL_list{

}
.footerBtmInnerL_list li{
  line-height: 1.6;
}
.ft_co_link{
  display: inline-block;
  border-bottom: 1px solid #212121;
}
.ft_co_link img{
  width: 1.2rem;
  margin-left: 0.5rem;
  padding-bottom: 0.5rem;
}
.footerBtmInnerR{
  width: 60%;
  display: flex;
  justify-content: space-between;
  font-size: 1.4rem;
}
.footerBtmInnerRList{

}
.footerBtmInnerRList li{
  margin-bottom: 1.5rem;
}
.footerBtmInnerRList li a{
  display: inline-block;
  border-bottom: 1px solid #21212100;
}
.footerBtmInnerRList li a:hover{
  border-bottom: 1px solid #212121;
}
.footerBtmInnerRList li ul{
  /*border-left: 1px solid #212121;*/
  position: relative;
}
.footerBtmInnerRList li ul:before {
  content: "";
  background: #cbcbcb;
  width: 1px;
  height: 93%;
  position: absolute;
  top: 0;
  left: 0;
}
.footerBtmInnerRList li ul li{
  position: relative;
  padding-left: 3rem;
}
.footerBtmInnerRList li ul li:last-child{
  margin-bottom: 0;
}
.footerBtmInnerRList li ul li:before {
  content: "";
  width: 2rem;
  background: #cbcbcb;
  height: 1px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.copyRight{
  text-align: center;
  font-size: 1.2rem;
  padding-bottom: 1rem;
}
.fixBtn{
  width: 18rem;
  height: 18rem;
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 200;
}
.fixBtnImg {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  display: block;
  overflow: hidden;
  cursor: pointer;
}
.fixBtnImg:hover{
  opacity: 1;
}
.fixBtnImg img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  display: block;
  -webkit-transition: .4s ease-in-out;
  transition: .4s ease-in-out;
}
.fixBtnImg:hover img:nth-of-type(2) {
  opacity: 0;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.navBox.active {
  visibility: visible;
  opacity: 1;
  overflow: auto;
  color: #000;
  right: 0rem;
  background: #000;
  box-shadow: 3px -4px 6px #000000;
  transition: 0.5s ease;
  width: 68%;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.footerBtmInner {
  width: 90%;
  margin: 0 auto;
  padding: 4rem 0 1rem;
  display: flex;
  justify-content: space-between;
}
.footerBtmInnerR{
  width: 70%;
  display: flex;
  justify-content: space-between;
  font-size: 1.4rem;
}
.footerBtmInnerL_list {
  font-size: 1.4rem;
}
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.header{
  
}
.header .h_logo{
  opacity: 0;
  transition: 0s ease;
}
.header.transform .h_logo{
  opacity: 1;
  transition: 0.3s ease;
}

.headerInner{
  padding: 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  position: fixed;
  z-index: 300;
  height: 7rem;
}
.h_logo{
  width: 5rem;
  display: block;
}
.navTglOpen{
  width: 5rem;
  display: block;
  position: relative;
  top: 1rem;
}

.navBox {
  visibility: hidden;
  z-index: 9999;
  position: fixed;
  top: 0;
  right: -60rem;
  width: auto;
  height: 100%;
  background: #fff;
  opacity: 0;
  transition: 1s ease;
  padding: 3rem;
  padding-bottom: 1rem;
}

.navBox.active {
  visibility: visible;
  opacity: 1;
  overflow: auto;
  color: #000;
  right: 0rem;
  background: #000;
  box-shadow: 3px -4px 6px #000000;
  transition: 0.5s ease;
  width: 75%;
  -ms-overflow-style: none; 
  scrollbar-width: none;
}
.navBox.active::-webkit-scrollbar {
  display:none;
}
.navBoxHeader{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 8rem;
}
.navBoxHeader_item01{
  width: 4rem;
}
.navBoxHeader_item01 a{
  display: block;
  position: relative;
}
.navBoxHeader_item01 a span{
  width: 2rem;
  height: 2rem;
  position: absolute;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  top: -1rem;
  right: -2rem;
  font-size: 1.2rem;
}
.navBoxHeader_item02{
  width: 4rem;
  margin-left: 4rem;
}
.navBoxEcMenu{
  width: 100%;
  margin: 0 auto 3rem;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
.navBoxEcMenu_item01{
  width: 100%;
  margin-bottom: 2rem;
}
.navBoxEcMenu_item01 a{
  width: 100%;
  display: block;
  padding: 1rem 0;
  border-radius: 50px;
  border: 1px solid #fff;
  background: #000;
  color: #fff;
  text-align: center;
  line-height: 1;
  transition: ease .2s;
  position: relative;
  overflow: hidden;
}
.navBoxEcMenu_item01 a:hover{
  opacity: 1;
}
.navBoxEcMenu_item01 a span {
  position: relative;
  z-index: 3;
  transition: ease .5s;
}
.navBoxEcMenu_item01 a:hover span{
  color:#fff;
  transition: ease .5s;
}
.navBoxEcMenu_item01 a:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background:#000;
  width: 100%;
  height: 120%;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}
.navBoxEcMenu_item01 a:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}
.navBoxEcMenu_item02{
  width: 100%;
  margin-bottom: 2rem;
}
.navBoxEcMenu_item02 a{
  width: 100%;
  display: block;
  padding: 1rem 0;
  border-radius: 50px;
  border: 1px solid #fff;
  background: #000;
  color: #fff;
  text-align: center;
  line-height: 1;
  transition: ease .2s;
  position: relative;
  overflow: hidden;
}
.navBoxEcMenu_item02 a:hover{
  opacity: 1;
}
.navBoxEcMenu_item02 a span {
  position: relative;
  z-index: 3;
  transition: ease .5s;
}
.navBoxEcMenu_item02 a:hover span{
  color:#000;
  transition: ease .5s;
}
.navBoxEcMenu_item02 a:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background:#fff;
  width: 100%;
  height: 120%;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}
.navBoxEcMenu_item02 a:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}
.navBoxBtm{
  width: 100%;
  margin: 0 auto 3rem;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
.navBoxBtmList{
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.navBoxBtmList_item{
  margin-bottom: 2rem;
}
.navBoxBtmList_itemLink{
  display: inline-block;
  padding-bottom: 0.4rem;
}
.navBoxBtmList_item a{
  display: inline-block;
  border-bottom: 1px solid #ffffff00;
}
.navBoxBtmList_item a:hover{
  border-bottom: 1px solid #ffffff;
}
.navBoxBtmList_itemLink .nav_en{
  color: #4B4B4B;
  font-size: 1.4rem;
  display: block;
  line-height: 1;
  margin-bottom: 0.6rem;
}
.navBoxBtmList_itemLink .nav_jp{
  color: #fff;
  display: block;
  line-height: 1;
}
.navBoxBtmList_item ul{
  position: relative;
  padding-left: 0.5rem;
  padding-top: 2rem;
}
.navBoxBtmList_item ul:before {
  content: "";
  background: #fff;
  width: 1px;
  height: 94%;
  position: absolute;
  top: 0;
  left: 0.5rem;
}
.navBoxBtmList_item ul li{
  position: relative;
  padding-left: 3rem;
  margin-bottom: 2rem;
}
.navBoxBtmList_item ul li:last-child{
  margin-bottom: 0;
}
.navBoxBtmList_item ul li:before {
  content: "";
  width: 2rem;
  background: #fff;
  height: 1px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.navBoxBtmList_item ul li a{
  color: #fff;
  line-height: 1.6;
}

/* sub header */
.headerSub .headerInner{
  background: none;
  padding: 1rem 2rem;
}
.headerSub .h_logo{
  opacity: 1;
  transition: 0s ease;
}


.footer{
  background: #F5F5F5;
  position: relative;
  z-index: 210;
}
.footerTop{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.footerTop_item{
  width: 100%;
  padding: 2rem 0;
}
.footerTop_item01{
  background: url(../../src/img/sp/ft_contact_bg@2x.png) center center no-repeat;
  background-size: cover;
  padding-bottom: 3rem;
}
.footerTop_item02{
  background: url(../../src/img/sp/ft_tel_bg@2x.png) center center no-repeat;
  background-size: cover;
}
.footerTop_itemIco01{
  width: 3.5rem;
  margin: 0 auto 0.5rem;
}
.footerTop_itemIco02{
  width: 3.5rem;
  margin: 0 auto 0.5rem;
}
.footerTop_itemTtl{
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 1rem;
}
.footerTopBtn{
  display: flex;
  justify-content: center;
}
.ftTelBox {
  display: flex;
  justify-content: center;
}
.ftTelBtn {
  width: 24rem;
  display: block;
  padding: 0.5rem 0;
  border-radius: 50px;
  color: #fff;
  text-align: center;
  line-height: 1;
  border: 2px solid #fff;
  font-size: 2.5rem;
  font-weight: bold;
}
.footerBtm{

}
.footerBtmInner{
  width: 85%;
  margin: 0 auto;
  padding: 6rem 0 0rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.footerBtmInnerL{
  width: 100%;
  margin-bottom: 0rem;
}
.footerBtmInnerL_logo{
  display: block;
  width: 7rem;
  margin-bottom: 2rem;
  line-height: 1;
}
.footerBtmInnerL_company{
  margin-bottom: 1rem;
  line-height: 1;
}
.footerBtmInnerL_list{

}
.footerBtmInnerL_list li{
  line-height: 1.6;
}
.ft_co_link{
  display: inline-block;
  border-bottom: 1px solid #212121;
}
.ft_co_link img{
  width: 1.2rem;
  margin-left: 0.5rem;
  padding-bottom: 0.5rem;
}
.footerBtmInnerR{
  width: 60%;
  display: flex;
  justify-content: space-between;
  font-size: 1.4rem;
  display: none;
}
/*.footerBtmInnerRList{

}
.footerBtmInnerRList li{
  margin-bottom: 1.5rem;
}
.footerBtmInnerRList li a{
  display: inline-block;
  border-bottom: 1px solid #21212100;
}
.footerBtmInnerRList li a:hover{
  border-bottom: 1px solid #212121;
}
.footerBtmInnerRList li ul{
  position: relative;
}
.footerBtmInnerRList li ul:before {
  content: "";
  background: #212121;
  width: 1px;
  height: 93%;
  position: absolute;
  top: 0;
  left: 0;
}
.footerBtmInnerRList li ul li{
  position: relative;
  padding-left: 3rem;
}
.footerBtmInnerRList li ul li:last-child{
  margin-bottom: 0;
}
.footerBtmInnerRList li ul li:before {
  content: "";
  width: 2rem;
  background: #212121;
  height: 1px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}*/
.footerSpBtmNav{
  display: flex;
  justify-content: center;
  flex-direction: column;
  width: 85%;
  margin: 0.5rem auto 2rem;
}
.footerSpBtmNav li{
  font-size: 1.6rem;
  margin: 0 0rem 0.5rem;
  
}
.footerSpBtmNav li a{
  border-bottom: 1px solid #212121;
}
.copyRight{
  text-align: center;
  font-size: 1.2rem;
  padding-bottom: 1rem;
}
.fixBtn{
  width: 12rem;
  height: 12rem;
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 200;
}
.fixBtnImg {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  display: block;
  overflow: hidden;
  cursor: pointer;
}
.fixBtnImg:hover{
  opacity: 1;
}
.fixBtnImg img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  display: block;
  -webkit-transition: .4s ease-in-out;
  transition: .4s ease-in-out;
}
.fixBtnImg:hover img:nth-of-type(2) {
  opacity: 0;
}
}
/*-----------------------------------------------------------

LOADING

-------------------------------------------------------------*/
.body_fixed {
    position: fixed;
    width: 100%;
    height: 100%;
}
.top_loading {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background:#fff;
  text-align:center;
  color:#fff;
}
.top_loading_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.top_loading_logo svg {
  width:18rem;
}
.loadingUp{
animation-name: loadingUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity: 0;
}

@keyframes loadingUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.body_fixed {
    position: fixed;
    width: 100%;
    height: 100%;
}
.top_loading {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background:#fff;
  text-align:center;
  color:#fff;
}
.top_loading_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.top_loading_logo svg {
  width:18rem;
}
.loadingUp{
animation-name: loadingUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity: 0;
}

@keyframes loadingUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

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

TOP

-------------------------------------------------------------*/
.mainV{
  background: #fff;
  position: relative;
  z-index: 2000;
  overflow: hidden;
}
.mainVInner{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.mainVInner:before{
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10rem 30rem 0 0;
  border-color: #212121 transparent transparent transparent;
  position: absolute;
  left: 0;
  top: 0;
  filter: drop-shadow(0 6px 6px #00000040);
}
.mainVInnerL{
  width: 40%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.mainVInnerL_logo{
  width: 19rem;
  margin-bottom: 3rem;
}
.mainVInnerL_ttl{
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
}
.mainVInnerR {
  width: 60%;
  height: 100vh;
  position: relative;
  overflow: hidden;
  display: block;
  background: #F5F5F5;
}
.mainVInnerR img {
  position: absolute;
  object-fit: cover;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  margin: auto;
  animation-name:mvShow;
  animation-duration:1s;
  animation-delay: 1s;
  animation-fill-mode:forwards;
  opacity: 0;
}
@keyframes mvShow{
  from {
    opacity:0;
    transform:scale(0.95);
  }
  to {
    opacity:1;
    transform:scale(1);
  }
}
.mvShowMask::before{
  animation-name:mvShowMaskAnime;
  animation-duration:1.5s;
  animation-delay: 0.3s;
  animation-fill-mode:forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #212121;
  z-index: 1;
  transform-origin:left;
  transform:scaleX(0);
}
@keyframes mvShowMaskAnime{
  0% {
    transform-origin:left;
    transform:scaleX(0);
  }
  50% {
    transform-origin:left;
    transform:scaleX(1);
  }
  50.001% {
    transform-origin:right;
  }
  100% {
    transform-origin:right;
    transform:scaleX(0);
  }
}


.mainVNav{
  width: 100%;
  position: absolute;
  bottom: 0;
  background: #F5F5F5;
  padding: 1.5rem;
  z-index: 2;
}
.mainVNav_list{
  display: flex;
  justify-content: center;
  align-items: center;
}
.mainVNav_list li{
  margin: 0 1.5rem;
}
.mainVNav_list li a{
  display: block;
  border-bottom: 1px solid #21212100;
  font-size: 1.4rem;
}
.mainVNav_list li a:hover{
  display: block;
  border-bottom: 1px solid #212121;
}
.topAbout{
  margin-bottom: 10rem;
}
.topAboutTtlBox{
  width: 100%;
  position: relative;
}
.topAboutTtl{
  position: absolute;
  display: flex;
  flex-direction: column;
  color: #fff;
  line-height: 1;
  left: 6rem;
  top: 3rem;
  transform: rotate(350deg);
  transform-origin: 50% 50% 0;
}
.topAboutTtl01{
  font-size: 5rem;
}
.topAboutTtl02{
  font-size: 8.5rem;
}
.topAboutInner{
  width: 70%;
  margin: -12rem auto 0;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.topAboutInnerL{
  width: 42%;
  padding-bottom: 3rem;
}
.cmnSubTTl01{
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 1.5rem;
}
.topAboutInnerL_txt{
  margin-bottom: 5rem;
}
.topAboutInnerBtn{
  display: flex;
  justify-content: flex-end;
}
.cmnBtn01{
  width: 24rem;
  display: block;
  padding: 1rem 0;
  border-radius: 50px;
  border: 1px solid #212121;
  background: #212121;
  color: #fff;
  text-align: center;
  line-height: 1;
  position: relative;
  overflow: hidden;
  z-index: 2;
}
.cmnBtn01:hover{
  opacity: 1;
}
.cmnBtn01 span {
  position: relative;
  z-index: 3;
  transition: ease .5s;
}
.cmnBtn01:hover span{
  color:#212121;
  transition: ease .5s;
}
.cmnBtn01:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background:#fff;
  width: 100%;
  height: 120%;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}
.cmnBtn01:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}
.topAboutInnerR{
  width: 45%;
}
.topService{
  background: #F2F2F2;
  padding-bottom: 7rem;
  margin-bottom: 8rem;
}
.topServiceTtlBox{
  background: url(../../src/img/top_service_ttl.png) center center no-repeat;
  background-size: cover;
  padding: 4rem 0;
}
.topServiceTtlBoxInner{
  width: 70%;
  margin: 0 auto;
  display: flex;
  justify-content: flex-end;
}

.cmnTtl01{
  display: flex;
  flex-direction: column;
  line-height: 1;
}
.cmnTtl01_en{
  font-size: 8.5rem;
  margin-bottom: 2rem;
}
.cmnTtl01_jp{
  font-size: 2rem;
  font-weight: 700;
}
.topServiceTtl{
  width: 45%;
  color: #fff;

}
.topServiceInner{
  width: 70%;
  margin: -16rem auto 0;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.topServiceInnerL{
  width: 55%;
  position: relative;
  left: -4rem;
}
.topServiceSlide{
  position: relative;
}
.topServiceSlide li{
  position: relative;
}
.topServiceSlideWrap{
  position: relative;
  height: 60rem;
}
.topServiceSlide01{
  width: 50%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 3;
}
.topServiceSlide02{
  width: 60%;
  position: absolute;
  bottom: 0;
  right: 0;
  margin: auto;
  z-index: 2;
}
.topServiceSlide03{
  width: 60%;
  position: absolute;
  top: 12rem;
  left: 0;
  margin: auto;
  z-index: 1;
}



.topServiceInnerR{
  width: 45%;
}
.topServiceInnerR_txt{
  margin-bottom: 5rem;
}
.topServiceInnerRBtn{
  display: flex;
  justify-content: flex-end;
}
.topAchieve{
  position: relative;
  margin-bottom: 0;
  padding-bottom: 6rem;
}
.topAchieveTtl{
  align-items: center;
  margin-bottom: 8rem;
}
.topAchieveTtl .cmnTtl01_en{
  color: #CCCCCC;
}
.topAchieveInner{
  width: 70%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.topAchieveInnerList{
  display: flex;
  justify-content: space-between;
  margin-bottom: 8rem;
}
.topAchieveInnerList_item{
  width: 30%;
  margin: 0 2rem;
}
.topAchieveInnerList_itemLink{
  position: relative;
  display: block;
}
.topAchieveInnerList_itemLinkCat{
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  z-index: 1;
  white-space: nowrap;
}
.topAchieveInnerList_itemLinkCat li{
  background: #212121;
  color: #fff;
  line-height: 1;
  padding: 0.6rem;
  font-size: 1.2rem;
  margin-right: 1px;
}
.topAchieveInnerList_itemLinkImg {
    width: 100%;
    height: 19.8rem;
    position: relative;
    overflow: hidden;
    display: block;
    margin-bottom: 1rem;
}
.topAchieveInnerList_itemLinkImg img {
    position: absolute;
    object-fit: cover;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin: auto;
}
.topAchieveInnerList_itemLinkInfo{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.topAchieveInnerList_itemLinkInfo_date{
  width: 5rem;
  height: 5rem;
  background: #212121;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  line-height: 1;
}
.topAchieveInnerList_itemLinkInfo_dateYM{
  font-size: 1rem;
  font-weight: bold;
}
.topAchieveInnerList_itemLinkInfo_dateD{
  font-size: 3rem;
  font-weight: bold;
}
.topAchieveInnerList_itemLinkInfo_ttl{
  width: 75%;
  font-weight: 700;
  line-height: 1.5;
}
.topAchieveInnerList .slick-prev {
  left: -6rem;
  width: 4rem;
  height: 4rem;
}
.topAchieveInnerList .slick-prev:before {
  content: '';
  background: url(../../src/img/slick_prev_off.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  width: 4rem;
  height: 4rem;
  display: block;
}
.topAchieveInnerList .slick-prev:hover:before{
  background: url(../../src/img/slick_prev_on.svg) 0 0 no-repeat;
  background-size: 100% 100%;
}
.topAchieveInnerList .slick-next {
  right: -6rem;
  width: 4rem;
  height: 4rem;
}
.topAchieveInnerList .slick-next:before {
  content: '';
  background: url(../../src/img/slick_next_off.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  width: 4rem;
  height: 4rem;
  display: block;
}
.topAchieveInnerList .slick-next:hover:before{
  background: url(../../src/img/slick_next_on.svg) 0 0 no-repeat;
  background-size: 100% 100%;
}
.topAchieveInnerBtn{
  display: flex;
  justify-content: center;
}
.top_achieve_bg{
  position: absolute;
  left: 0;
  bottom: 0;
}
.topPost{
  width: 80%;
  margin: 0 auto 20rem;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
}
.topNews{
  width: 55%;
  padding-top: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.topNewsTtl{
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 2rem;
}
.topNewsList{
  margin-bottom: 5rem;
  /*min-height: 30rem;*/
}
.topNewsList_item{
  border-bottom: 1px solid #707070;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
}
.topNewsList_itemLink{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.topNewsList_itemLink_date{
  width: 20%;
}
.topNewsList_itemLink_ttl{
  width: 80%;
  font-weight: 700;
}
.topPostBtn{
  display: flex;
  justify-content: center;
}
.topColumn{
  width: 35%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.topColumnInner{
  background: #F5F5F5;
  padding: 2rem 2rem 4rem;
  margin-bottom: 5rem;
}
.topColumnTtl{
  margin-bottom: 3rem;
}
.topColumnTtl .cmnTtl01_en{
  font-size: 6rem;
  color: #CCCCCC;
  margin-bottom: 1rem;
}
.topColumnTtl .cmnTtl01_jp{
  font-size: 1.6rem;
}
.topColumnList{

}
.topColumnList_item{

}
.topColumnList_itemLink{
  position: relative;
  display: block;
}
.topColumnList_itemLinkCat{
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  z-index: 1;
  white-space: nowrap;
}
.topColumnList_itemLinkCat li{
  background: #212121;
  color: #fff;
  line-height: 1;
  padding: 0.6rem;
  font-size: 1.2rem;
  margin-right: 1px;
}
.topColumnList_itemLinkImg {
    width: 100%;
    height: 21.8rem;
    position: relative;
    overflow: hidden;
    display: block;
    margin-bottom: 1rem;
}
.topColumnList_itemLinkImg img {
    position: absolute;
    object-fit: cover;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin: auto;
}
.topColumnList_itemLinkDate{

}
.topColumnList_itemLinkTtl{
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}
.topColumnList .slick-dots{
    position: absolute;
    bottom: -7rem;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}
.topColumnList .slick-dots li {
  position: relative;
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 0.5rem;
  padding: 0;
  cursor: pointer;
}
.topColumnList .slick-dots li button:before {
  font-family: unset!important;
  font-size: 10px;
  line-height: 10px;
  position: absolute;
  top: 0;
  left: 0;
  width: 11px;
  height: 11px;
  content: '•';
  text-align: center;
  color: #9B9B9B;
  background: #9B9B9B;
  border-radius: 50%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  border: none;
}
.topColumnList .slick-dots li.slick-active button:before{
    color:#212121;
    border-radius: 50%;
    background:#212121;
}
.topColumnList .slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 10px;
  height: 10px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}
.topColumnList .slick-prev {
  left: -4.5rem;
  width: 4rem;
  height: 4rem;
  top: 12rem;
}
.topColumnList .slick-prev:before {
  content: '';
  background: url(../../src/img/slick_prev_off.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  width: 4rem;
  height: 4rem;
  display: block;
}
.topColumnList .slick-prev:hover:before{
  background: url(../../src/img/slick_prev_on.svg) 0 0 no-repeat;
  background-size: 100% 100%;
}
.topColumnList .slick-next {
  right: -4.5rem;
  width: 4rem;
  height: 4rem;
  top: 12rem;
}
.topColumnList .slick-next:before {
  content: '';
  background: url(../../src/img/slick_next_off.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  width: 4rem;
  height: 4rem;
  display: block;
}
.topColumnList .slick-next:hover:before{
  background: url(../../src/img/slick_next_on.svg) 0 0 no-repeat;
  background-size: 100% 100%;
}
.topProduct{
  background: url(../../src/img/top_product_bg.png) center center no-repeat;
  background-size: cover;
  padding: 4rem;
}
.topProductInner{
  border: 2px solid #fff;
  padding: 4rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.topProductInnerL{
  width: 49%;
}
.topProductInnerLTtl{
  color: #fff;
  margin-bottom: 2rem;
}
.topProductInnerL_txt{
  color: #fff;
  margin-bottom: 2rem;
}
.topProductInnerR{
  width: 44%;
}
.cmnBtn02{
  width: 24rem;
  display: block;
  padding: 1rem 0;
  border-radius: 50px;
  background: #fff;
  color: #212121;
  text-align: center;
  line-height: 1;
  transition: ease .2s;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.cmnBtn02:hover{
  opacity: 1;
}
.cmnBtn02 span {
  position: relative;
  z-index: 3;
  transition: ease .5s;
}
.cmnBtn02:hover span{
  color:#fff;
  transition: ease .5s;
}
.cmnBtn02:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background:#212121;
  width: 101%;
  height: 120%;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}
.cmnBtn02:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}
.topFaq{
  background: #F2F2F2;
  padding: 6rem 0;
}
.topFaqInner{
  width: 80%;
  margin: 0 auto;
}
.topFaqInnerTtl{
  align-items: center;
  margin-bottom: 5rem;
}
.topFaqInnerTtl .cmnTtl01_en{
  font-size: 6rem;
  color: #ccc;
}
.cmnTtl01_jp{
  font-size: 1.6rem;
}
.topFaqList{
  margin-bottom: 4rem;
  display: flex;
  justify-content: space-between;
}
.topFaqList_item{
  width: 28%;
  opacity: 0;
}
.topFaqList_item h3{
  font-weight: 700;
  position: relative;
  line-height: 1.6;
  padding: 1.5rem;
  padding-top: 3rem;
  font-size: 1.6rem;
  margin-bottom: 2rem;
}
.topFaqList_item h3:before{
  content: "Q";
  font-family: 'Oswald', sans-serif;
  position: absolute;
  color: #E3E3E3;
  font-size: 8.5rem;
  top: 0;
  left: 0;
  line-height: 1;
  font-weight: 400;
}
.topFaqList_item h3 span{
  position: relative;
}
.topFaqList_item div{
  position: relative;
  line-height: 1.6;
  padding: 4rem 1.5rem;
  font-size: 1.6rem;
  margin-bottom: 2rem;
  background: #fff;
  min-height: 26rem;
}
.topFaqList_item div:before{
  content: "A";
  font-family: 'Oswald', sans-serif;
  position: absolute;
  color: #E3E3E3;
  font-size: 8.5rem;
  top: 0;
  left: 0.6rem;
  line-height: 1;
  font-weight: 400;
}
.topFaqList_item div span{
  position: relative;
}
.mainVSP{
  display: none;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.mainV {
  background: #fff;
  position: relative;
  z-index: 2000;
  height: 60vh!important;
}
.mainVInnerR {
  width: 60%;
  height: 60vh;
  position: relative;
  overflow: hidden;
  display: block;
  background: #F5F5F5;
}
.mainVNav_list li a {
  display: block;
  border-bottom: 1px solid #21212100;
  font-size: 1.2rem;
}
.topAboutTtl {
  position: absolute;
  display: flex;
  flex-direction: column;
  color: #fff;
  line-height: 1;
  left: 6rem;
  top: 3rem;
  transform: rotate(343deg);
  transform-origin: 50% 50% 0;
}
.topAboutTtlBox img{
  height: 26rem;
}
.topAboutInner {
  width: 85%;
  margin: 0rem auto 0;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.topAboutInnerR {
  width: 51%;
}
.topServiceInner {
  width: 85%;
  margin: -10rem auto 0;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.topServiceSlideWrap {
  position: relative;
  height: 54rem;
}
.topAchieveInner {
  width: 82%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.topAchieveInnerList_itemLinkInfo_ttl {
  width: 68%;
  font-weight: 700;
  line-height: 1.5;
}
.topPost {
  width: 85%;
  margin: 0 auto 20rem;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
}
.topNews {
  width: 48%;
  /*min-height: 30rem;*/
}
.topColumn {
  width: 45%;
}
.topFaqInner {
  width: 85%;
  margin: 0 auto;
}
.topFaqList {
  margin-bottom: 4rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.topFaqList_item {
  width: 100%;
  opacity: 0;
}
.topFaqList_item div {
  position: relative;
  line-height: 1.6;
  padding: 4rem 1.5rem;
  font-size: 1.6rem;
  margin-bottom: 2rem;
  background: #fff;
  min-height: unset;
}
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.mainContent{
  overflow: hidden;
}
.mainV{
  background: #fff;
  position: relative;
  z-index: 200;
  display: none!important;
}
/*.mainVInner{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.mainVInner:before{
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10rem 30rem 0 0;
  border-color: #212121 transparent transparent transparent;
  position: absolute;
  left: 0;
  top: 0;
  filter: drop-shadow(0 6px 6px #00000040);
}
.mainVInnerL{
  width: 40%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.mainVInnerL_logo{
  width: 19rem;
  margin-bottom: 3rem;
}
.mainVInnerL_ttl{
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
}
.mainVInnerR {
  width: 60%;
  height: 100vh;
  position: relative;
  overflow: hidden;
  display: block;
  background: #F5F5F5;
}
.mainVInnerR img {
  position: absolute;
  object-fit: cover;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  margin: auto;
  animation-name:mvShow;
  animation-duration:1s;
  animation-delay: 1s;
  animation-fill-mode:forwards;
  opacity: 0;
}
@keyframes mvShow{
  from {
    opacity:0;
    transform:scale(0.95);
  }
  to {
    opacity:1;
    transform:scale(1);
  }
}
.mvShowMask::before{
  animation-name:mvShowMaskAnime;
  animation-duration:1.5s;
  animation-delay: 0.3s;
  animation-fill-mode:forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #212121;
  z-index: 1;
  transform-origin:left;
  transform:scaleX(0);
}
@keyframes mvShowMaskAnime{
  0% {
    transform-origin:left;
    transform:scaleX(0);
  }
  50% {
    transform-origin:left;
    transform:scaleX(1);
  }
  50.001% {
    transform-origin:right;
  }
  100% {
    transform-origin:right;
    transform:scaleX(0);
  }
}*/


.mainVNav{
  width: 100%;
  position: absolute;
  bottom: 0;
  background: #F5F5F5;
  padding: 1.5rem;
  z-index: 2;
  display: none;
}
/*.mainVNav_list{
  display: flex;
  justify-content: center;
  align-items: center;
}
.mainVNav_list li{
  margin: 0 1.5rem;
}
.mainVNav_list li a{
  display: block;
  border-bottom: 1px solid #21212100;
  font-size: 1.4rem;
}
.mainVNav_list li a:hover{
  display: block;
  border-bottom: 1px solid #212121;
}*/

.mainVSP{
  position: relative;
  display: block;

}
.mainVSP:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 18rem 100vw 0 0;
  border-color: #fff transparent transparent transparent;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
}
.mainVSPTop{
  display: flex;
  justify-content: space-between;
  position: absolute;
  width: 100%;
  width: 30%;
  padding: 2rem;
  z-index: 3;
}
.mainVSPTop_txt{
  position: absolute;
  z-index: 1;
  right: 0;
  top: 30%;
  font-weight: 700;
  text-align: right;
}
.mainVSPTopImg{
  width: 100%;
  height: 100vh;
  position: relative;
  overflow: hidden;
  display: block;
  background: #F5F5F5;
}
.mainVSPTopImg img {
  position: absolute;
  object-fit: cover;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  margin: auto;
  animation-name:mvShow;
  animation-duration:1s;
  animation-delay: 1s;
  animation-fill-mode:forwards;
  opacity: 0;
}
@keyframes mvShow{
  from {
    opacity:0;
    transform:scale(0.95);
  }
  to {
    opacity:1;
    transform:scale(1);
  }
}
.mvShowMask::before{
  animation-name:mvShowMaskAnime;
  animation-duration:1.5s;
  animation-delay: 0s;
  animation-fill-mode:forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #212121;
  z-index: 1;
  transform-origin:left;
  transform:scaleX(1);
}
@keyframes mvShowMaskAnime{
  0% {
    transform-origin:left;
    transform:scaleX(1);
  }
  50% {
    transform-origin:right;
    transform:scaleX(1);

  }
  50.001% {
    transform-origin:right;
  }
  100% {
    transform-origin:right;
    transform:scaleX(0);
  }
}


.mainVSPTop_txtShow{
  display: inline-block;
  position: relative;
}
.mainVSPTop_txtShow::before{
  animation-name:mainVSPTop_txtShowAfter;
  animation-duration:1s;
  animation-delay: 1s;
  animation-fill-mode:forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 0;
}
@keyframes mainVSPTop_txtShowAfter{
  0% {
    transform-origin:right;
    transform:scaleX(0);
    opacity: 1;
  }
  100% {
    transform-origin:right;
    transform:scaleX(1);
    opacity: 1;
  }
}

.mainVSPTop_txtShow span{
  position: relative;
  display: inline-block;
  z-index: 1;
  padding: 0 1rem;
  padding-right: 4rem;
}
.mainVSPTop_txtShow span::after{
  animation-name:mainVSPTop_txtShow;
  animation-duration:1s;
  animation-delay: 1s;
  animation-fill-mode:forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 0;
  left: 0;
  z-index: 0;
}
@keyframes mainVSPTop_txtShow{
  0% {
    transform-origin:left;
    transform:scaleX(0);
    opacity: 1;
  }
  50% {
    transform-origin:left;
    transform:scaleX(1);
    opacity: 1;
  }
  50.001% {
    transform-origin:right;
    opacity: 1;
  }
  100% {
    transform-origin:right;
    transform:scaleX(0);
    opacity: 1;
  }
}

.mainVSPTop_txtShow02{
  display: inline-block;
  position: relative;
  padding-left: 2rem;
  margin-top: 1rem;
}
.mainVSPTop_txtShow02::before{
  animation-name:mainVSPTop_txtShow02After;
  animation-duration:1s;
  animation-delay: 1s;
  animation-fill-mode:forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 0;
}
@keyframes mainVSPTop_txtShow02After{
  0% {
    transform-origin:right;
    transform:scaleX(0);
    opacity: 1;
  }
  100% {
    transform-origin:right;
    transform:scaleX(1);
    opacity: 1;
  }
}

.mainVSPTop_txtShow02 span{
  position: relative;
  display: inline-block;
  z-index: 1;
  padding: 0 1rem;
}
.mainVSPTop_txtShow02 span::after{
  animation-name:mainVSPTop_txtShow02;
  animation-duration:1s;
  animation-delay: 1s;
  animation-fill-mode:forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 0;
  left: 0;
  z-index: 0;
}
@keyframes mainVSPTop_txtShow02{
  0% {
    transform-origin:left;
    transform:scaleX(0);
    opacity: 1;
  }
  50% {
    transform-origin:left;
    transform:scaleX(1);
    opacity: 1;
  }
  50.001% {
    transform-origin:right;
    opacity: 1;
  }
  100% {
    transform-origin:right;
    transform:scaleX(0);
    opacity: 1;
  }
}
.topAbout{
  margin-bottom: 4rem;
}
.topAboutTtlBox{
  width: 100%;
  position: relative;
}
.topAboutTtl{
  position: absolute;
  display: flex;
  flex-direction: column;
  color: #fff;
  line-height: 1;
  left: 3rem;
  top: 1rem;
  transform: rotate(344deg);
  transform-origin: 50% 50% 0;
}
.topAboutTtl01{
  font-size: 2.5rem;
}
.topAboutTtl02{
  font-size: 4rem;
}
.topAboutInner{
  width: 80%;
  margin: -8rem auto 0;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-direction: column-reverse;
}
.topAboutInnerL{
  width: 100%;
  padding-bottom: 3rem;
}
.cmnSubTTl01{
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 1.5rem;
}
.topAboutInnerL_txt{
  margin-bottom: 5rem;
}
.topAboutInnerBtn{
  display: flex;
  justify-content: center;
}
.cmnBtn01{
  width: 24rem;
  display: block;
  padding: 1rem 0;
  border-radius: 50px;
  border: 1px solid #212121;
  background: #212121;
  color: #fff;
  text-align: center;
  line-height: 1;
  transition: ease .2s;
  position: relative;
  overflow: hidden;
}
.cmnBtn01:hover{
  opacity: 1;
}
.cmnBtn01 span {
  position: relative;
  z-index: 3;
  transition: ease .5s;
}
.cmnBtn01:hover span{
  color:#212121;
  transition: ease .5s;
}
.cmnBtn01:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background:#fff;
  width: 100%;
  height: 120%;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}
.cmnBtn01:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}
.topAboutInnerR{
  width: 100%;
  margin-bottom: 3rem;
}
.topService{
  background: #F2F2F2;
  padding-bottom: 7rem;
  margin-bottom: 8rem;
}
.topServiceTtlBox{
  background: url(../../src/img/sp/top_service_ttl@2x.png) center center no-repeat;
  background-size: cover;
  padding: 4rem 0 20rem;
}
.topServiceTtlBoxInner{
  width: 80%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}

.cmnTtl01{
  display: flex;
  flex-direction: column;
  line-height: 1;
}
.cmnTtl01_en{
  font-size: 4rem;
  margin-bottom: 1rem;
}
.cmnTtl01_jp{
  font-size: 1.6rem;
  font-weight: 700;
}
.topServiceTtl{
  width: 45%;
  color: #fff;
  align-items: center;
}
.topServiceInner{
  width: 80%;
  margin: -16rem auto 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
}
.topServiceInnerL{
  width: 100%;
  position: relative;
  left: 0rem;
  margin-bottom: 3rem;
}
.topServiceSlide{
  position: relative;
}
.topServiceSlide li{
  position: relative;
}
.topServiceSlideWrap{
  position: relative;
  height: 42rem;
}
.topServiceSlide01{
  width: 55%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 3;
}
.topServiceSlide02{
  width: 65%;
  position: absolute;
  bottom: 0;
  right: 0;
  margin: auto;
  z-index: 2;
}
.topServiceSlide03{
  width: 65%;
  position: absolute;
  top: 8rem;
  left: 0;
  margin: auto;
  z-index: 1;
}



.topServiceInnerR{
  width: 100%;
}
.topServiceInnerR_ttl{
  text-align: center;
}
.topServiceInnerR_txt{
  margin-bottom: 5rem;
  text-align: center;
}
.topServiceInnerRBtn{
  display: flex;
  justify-content: center;
}
.topAchieve{
  position: relative;
  margin-bottom: 0;
  padding-bottom: 6rem;
}
.topAchieveTtl{
  align-items: center;
  margin-bottom: 8rem;
}
.topAchieveTtl .cmnTtl01_en{
  color: #CCCCCC;
}
.topAchieveInner{
  width: 80%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.topAchieveInnerList{
  display: flex;
  justify-content: space-between;
  margin-bottom: 8rem;
}
.topAchieveInnerList_item{
  width: 30%;
  margin: 0 2rem;
}
.topAchieveInnerList_itemLink{
  position: relative;
}
.topAchieveInnerList_itemLinkCat{
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  z-index: 1;
}
.topAchieveInnerList_itemLinkCat li{
  background: #212121;
  color: #fff;
  line-height: 1;
  padding: 0.6rem;
  font-size: 1.2rem;
  margin-right: 1px;
}
.topAchieveInnerList_itemLinkImg {
    width: 100%;
    height: 21.8rem;
    position: relative;
    overflow: hidden;
    display: block;
    margin-bottom: 1rem;
}
.topAchieveInnerList_itemLinkImg img {
    position: absolute;
    object-fit: cover;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin: auto;
}
.topAchieveInnerList_itemLinkInfo{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.topAchieveInnerList_itemLinkInfo_date{
  width: 5rem;
  height: 5rem;
  background: #212121;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  line-height: 1;
}
.topAchieveInnerList_itemLinkInfo_dateYM{
  font-size: 1rem;
  font-weight: bold;
}
.topAchieveInnerList_itemLinkInfo_dateD{
  font-size: 3rem;
  font-weight: bold;
}
.topAchieveInnerList_itemLinkInfo_ttl{
  width: 75%;
  font-weight: 700;
  line-height: 1.5;
}

.topAchieveInnerList .slick-dots{
    position: absolute;
    bottom: -5rem;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}
.topAchieveInnerList .slick-dots li {
  position: relative;
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 0.5rem;
  padding: 0;
  cursor: pointer;
}
.topAchieveInnerList .slick-dots li button:before {
  font-family: unset!important;
  font-size: 10px;
  line-height: 8px;
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 8px;
  content: '•';
  text-align: center;
  color: #9B9B9B;
  background: #9B9B9B;
  border-radius: 50%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  border: none;
}
.topAchieveInnerList .slick-dots li.slick-active button:before{
    color:#212121;
    border-radius: 50%;
    background:#212121;
}
.topAchieveInnerList .slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 8px;
  height: 8px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.topAchieveInnerList .slick-prev {
  left: -2.5rem;
  width: 3rem;
  height: 3rem;
}
.topAchieveInnerList .slick-prev:before {
  content: '';
  background: url(../../src/img/slick_prev_off.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  width: 3rem;
  height: 3rem;
  display: block;
}
.topAchieveInnerList .slick-prev:hover:before{
  background: url(../../src/img/slick_prev_on.svg) 0 0 no-repeat;
  background-size: 100% 100%;
}
.topAchieveInnerList .slick-next {
  right: -2.5rem;
  width: 3rem;
  height: 3rem;
}
.topAchieveInnerList .slick-next:before {
  content: '';
  background: url(../../src/img/slick_next_off.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  width: 3rem;
  height: 3rem;
  display: block;
}
.topAchieveInnerList .slick-next:hover:before{
  background: url(../../src/img/slick_next_on.svg) 0 0 no-repeat;
  background-size: 100% 100%;
}
.topAchieveInnerBtn{
  display: flex;
  justify-content: center;
}
.top_achieve_bg{
  position: absolute;
  left: 0;
  bottom: unset;
  top: 5rem;
}
.topPost{
  width: 80%;
  margin: 0 auto 6rem;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
}
.topNews{
  width: 100%;
  margin-bottom: 10rem;
}
.topNewsTtl{
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 2rem;
}
.topNewsList{
  margin-bottom: 5rem;
  min-height: unset;
}
.topNewsList_item{
  border-bottom: 1px solid #707070;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
}
.topNewsList_itemLink{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.topNewsList_itemLink_date{
  width: 30%;
  font-weight: 500;
}
.topNewsList_itemLink_ttl{
  width: 70%;
  font-weight: 700;
}
.topPostBtn{
  display: flex;
  justify-content: center;
}
.topColumn{
  width: 100%;
}
.topColumnInner{
  background: #F5F5F5;
  padding: 2rem 2rem 2rem;
  margin-bottom: 5rem;
}
.topColumnTtl{
  margin-bottom: 3rem;
  align-items: center;
}
.topColumnTtl .cmnTtl01_en{
  font-size: 4rem;
  color: #CCCCCC;
  margin-bottom: 1rem;
}
.topColumnTtl .cmnTtl01_jp{
  font-size: 1.6rem;
}
.topColumnList{
  padding-bottom: 4rem;
}
.topColumnList_item{

}
.topColumnList_itemLink{
  position: relative;
}
.topColumnList_itemLinkCat{
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  z-index: 1;
}
.topColumnList_itemLinkCat li{
  background: #212121;
  color: #fff;
  line-height: 1;
  padding: 0.6rem;
  font-size: 1.2rem;
  margin-right: 1px;
}
.topColumnList_itemLinkImg {
    width: 100%;
    height: 18.8rem;
    position: relative;
    overflow: hidden;
    display: block;
    margin-bottom: 1rem;
}
.topColumnList_itemLinkImg img {
    position: absolute;
    object-fit: cover;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin: auto;
}
.topColumnList_itemLinkDate{

}
.topColumnList_itemLinkTtl{
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
}
.topColumnList .slick-dots{
    position: absolute;
    bottom: 0rem;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}
.topColumnList .slick-dots li {
  position: relative;
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 0.5rem;
  padding: 0;
  cursor: pointer;
}
.topColumnList .slick-dots li button:before {
  font-family: unset!important;
  font-size: 10px;
  line-height: 8px;
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 8px;
  content: '•';
  text-align: center;
  color: #9B9B9B;
  background: #9B9B9B;
  border-radius: 50%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  border: none;
}
.topColumnList .slick-dots li.slick-active button:before{
    color:#212121;
    border-radius: 50%;
    background:#212121;
}
.topColumnList .slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 8px;
  height: 8px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}
.topColumnList .slick-prev {
  left: -3.5rem;
  width: 3rem;
  height: 3rem;
  top: 12rem;
}
.topColumnList .slick-prev:before {
  content: '';
  background: url(../../src/img/slick_prev_off.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  width: 3rem;
  height: 3rem;
  display: block;
}
.topColumnList .slick-prev:hover:before{
  background: url(../../src/img/slick_prev_on.svg) 0 0 no-repeat;
  background-size: 100% 100%;
}
.topColumnList .slick-next {
  right: -3.5rem;
  width: 3rem;
  height: 3rem;
  top: 12rem;
}
.topColumnList .slick-next:before {
  content: '';
  background: url(../../src/img/slick_next_off.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  width: 3rem;
  height: 3rem;
  display: block;
}
.topColumnList .slick-next:hover:before{
  background: url(../../src/img/slick_next_on.svg) 0 0 no-repeat;
  background-size: 100% 100%;
}
.topProduct{
  background: url(../../src/img/top_product_bg.png) center center no-repeat;
  background-size: cover;
  padding: 2rem;
}
.topProductInner{
  border: 2px solid #fff;
  padding: 2rem;
  padding-bottom: 4rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.topProductInnerL{
  width: 100%;
}
.topProductInnerLTtl{
  color: #fff;
  margin-bottom: 3rem;
  align-items: center;
}
.topProductInnerLTtl .cmnTtl01_en{
  font-size: 4rem;
}
.topProductInnerL_txt{
  color: #fff;
  margin-bottom: 3rem;
}
.topProductInnerR{
  width: 100%;
  margin-bottom: 1rem;
}
.topProductBtn{
  display: flex;
  justify-content: center;
} 
.cmnBtn02{
  width: 24rem;
  display: block;
  padding: 1rem 0;
  border-radius: 50px;
  background: #fff;
  color: #212121;
  text-align: center;
  line-height: 1;
  transition: ease .2s;
  position: relative;
  overflow: hidden;
}
.cmnBtn02:hover{
  opacity: 1;
}
.cmnBtn02 span {
  position: relative;
  z-index: 3;
  transition: ease .5s;
}
.cmnBtn02:hover span{
  color:#fff;
  transition: ease .5s;
}
.cmnBtn02:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background:#212121;
  width: 101%;
  height: 120%;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}
.cmnBtn02:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}
.topFaq{
  background: #F2F2F2;
  padding: 6rem 0 8rem;
}
.topFaqInner{
  width: 85%;
  margin: 0 auto;
}
.topFaqInnerTtl{
  align-items: center;
  margin-bottom: 3rem;
}
.topFaqInnerTtl .cmnTtl01_en{
  font-size: 4rem;
  color: #ccc;
}
.cmnTtl01_jp{
  font-size: 1.6rem;
}
.topFaqList{
  margin-bottom: 8rem;
  display: flex;
  justify-content: space-between;
  background: #D2D2D2;
  padding: 2.5rem;
  padding-top: 1rem;
}
.topFaqList_item{
  width: 28%;
  opacity: 1;
}
.topFaqList_item h3{
  font-weight: 700;
  position: relative;
  line-height: 1.6;
  padding: 1.5rem;
  padding-top: 3rem;
  font-size: 1.6rem;
  margin-bottom: 2rem;
}
.topFaqList_item h3:before{
  content: "Q";
  font-family: 'Oswald', sans-serif;
  position: absolute;
  color: #E3E3E3;
  font-size: 8.5rem;
  top: 0;
  left: 0;
  line-height: 1;
  font-weight: 400;
}
.topFaqList_item h3 span{
  position: relative;
}
.topFaqList_item div{
  position: relative;
  line-height: 1.6;
  padding: 3rem 1.5rem;
  font-size: 1.6rem;
  margin-bottom: 0rem;
  background: #fff;
}
.topFaqList_item div:before{
  content: "A";
  font-family: 'Oswald', sans-serif;
  position: absolute;
  color: #E3E3E3;
  font-size: 8.5rem;
  top: 0;
  left: 0.6rem;
  line-height: 1;
  font-weight: 400;
}
.topFaqList_item div span{
  position: relative;
}

.topFaqList .slick-dots{
    position: absolute;
    bottom: -4rem;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
    left: 0;
}
.topFaqList .slick-dots li {
  position: relative;
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 0.5rem;
  padding: 0;
  cursor: pointer;
}
.topFaqList .slick-dots li button:before {
  font-family: unset!important;
  font-size: 10px;
  line-height: 8px;
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 8px;
  content: '•';
  text-align: center;
  color: #9B9B9B;
  background: #9B9B9B;
  border-radius: 50%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  border: none;
}
.topFaqList .slick-dots li.slick-active button:before{
    color:#212121;
    border-radius: 50%;
    background:#212121;
}
.topFaqList .slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 8px;
  height: 8px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}
.topFaqList .slick-prev {
  left: -2rem;
  width: 3rem;
  height: 3rem;
  top: 55%;
}
.topFaqList .slick-prev:before {
  content: '';
  background: url(../../src/img/slick_prev_off.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  width: 3rem;
  height: 3rem;
  display: block;
}
.topFaqList .slick-prev:hover:before{
  background: url(../../src/img/slick_prev_on.svg) 0 0 no-repeat;
  background-size: 100% 100%;
}
.topFaqList .slick-next {
  right: -2rem;
  width: 3rem;
  height: 3rem;
  top: 55%;
}
.topFaqList .slick-next:before {
  content: '';
  background: url(../../src/img/slick_next_off.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  width: 3rem;
  height: 3rem;
  display: block;
}
.topFaqList .slick-next:hover:before{
  background: url(../../src/img/slick_next_on.svg) 0 0 no-repeat;
  background-size: 100% 100%;
}
}
/*-----------------------------------------------------------

ABOUT

-------------------------------------------------------------*/
.mainContentSub{
  padding-top: 15rem;
}
.subMain_ttlBox {
  position: absolute;
  width: 100%;
  margin: 0 auto;
  margin-top: -15.5rem;
  z-index: 100;
  left: 0;
  right: 0;
  background: #F2F2F2;
  padding: 2rem 0;
}
.subMain_ttl{
  position: relative;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
}
.subMain_ttl_en{
  font-size: 5rem;
  border-bottom: 2px solid #212121;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
}
.subMain_ttl_jp{
  font-size: 2rem;
}
.punkuz{
  width: 80%;
  margin: 0 auto 2rem;
  display: flex;
  align-items: center;
  white-space: nowrap;
  position: relative;
  z-index: 1;
}
.punkuz li{
  margin-right: 1rem;
  letter-spacing: 0;
  font-size: 1.2rem;
}
.punkuz li br{
  display: none;
}
.aboutIntro{
  position: relative;
  display: flex;
  justify-content: space-between;
  padding-top: 8rem;
  margin-top: -7rem;
  padding-left: 12%;
  margin-bottom: 8rem;
}
.aboutIntroL{
  width: 40%;
  position: relative;
  z-index: 1;
  padding-top: 8rem;
}
.aboutIntroL_ttl{
  display: flex;
  flex-direction: column;
  margin-bottom: 2rem;
  line-height: 1;
}
.aboutIntroL_ttl_en{
  font-size: 5rem;
  margin-bottom: 1.5rem;
  color: #CCCCCC;
}
.aboutIntroL_ttl_jp{
  font-size: 1.6rem;
}
.aboutIntroL_txt01{
  font-size: 3rem;
  margin-bottom: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
}
.aboutIntroR{
  width: 55%;
  position: relative;
  z-index: 1;
}
.aboutIntroR img {
  animation-name:mvShow;
  animation-duration:1s;
  animation-delay: 1s;
  animation-fill-mode:forwards;
  opacity: 0;
}
@keyframes mvShow{
  from {
    opacity:0;
    transform:scale(0.95);
  }
  to {
    opacity:1;
    transform:scale(1);
  }
}
.about_intro_bg{
  position: absolute;
  left: 0;
  top: 0;
  width: 60%;
}
.aboutLogo{
  margin-bottom: 15rem;
}
.aboutLogoInner{
  width: 50%;
  margin: 0 auto;
  background: #F2F2F2;
  padding: 4rem 0;
  position: relative;
  z-index: 1;
}
.aboutLogoInner_ttl{
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 3rem;
  line-height: 1;
}
.aboutLogoInner_ttl_en{
  font-size: 5rem;
  margin-bottom: 1.5rem;
  color: #CCCCCC;
}
.aboutLogoInner_ttl_jp{
  font-size: 1.6rem;
}
.aboutLogoInnerLogo{
  width: 30%;
  margin: 0 auto 6rem;
}
.aboutLogoInnerTxt01{
  font-size: 3rem;
  margin-bottom: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.aboutLogoInnerTxt02{

}
.aboutLogoInnerTxt02 p{
  text-align: center;
}
.aboutLogoInnerTxt02 p + p{
  margin-top: 2rem;
}
.about_slide{
  margin-top: -14rem;
}
.about_slide li{
  margin: 0 1rem;
}
.aboutThought{
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: url(../../src/img/about_thought_bg.png) right center no-repeat;
  background-size: 75% 100%;
  padding: 3rem 0;
  margin-bottom: 8rem;
}
.aboutThoughtL{
  width: 52%;
}
.aboutThoughtR{
  width: 45%;
  padding-right: 12%;
}
.aboutThoughtR_ttl{
  display: flex;
  flex-direction: column;
  margin-bottom: 2rem;
  line-height: 1;
}
.aboutThoughtR_ttl_en{
  font-size: 5rem;
  margin-bottom: 1.4rem;
  color: #CCCCCC;
}
.aboutThoughtR_ttl_jp{
  font-size: 1.6rem;
}
.aboutThoughtRTxt01{
  font-size: 3rem;
  margin-bottom: 1rem;
  font-weight: 700;
  line-height: 1.6;
}
.aboutCompany{
  width: 70%;
  margin: 0 auto 8rem;
}
.aboutCompany_ttl{
  display: flex;
  flex-direction: column;
  margin-bottom: 2rem;
  line-height: 1;
  align-items: center;
}
.aboutCompany_ttl_en{
  font-size: 5rem;
  margin-bottom: 1.4rem;
  color: #CCCCCC;
}
.aboutCompany_ttl_jp{
  font-size: 1.6rem;
}
.aboutCompanyList{

}
.aboutCompanyList_item{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 0;
  border-bottom: 1px solid #707070;
}
.aboutCompanyList_itemL{
  width: 20%;
}
.aboutCompanyList_itemR{
  width: 80%;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.punkuz{
  width: 85%;
  margin: 0 auto 2rem;
  display: flex;
  align-items: center;
  white-space: nowrap;
  position: relative;
  z-index: 1;
}
.aboutIntro {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-top: 8rem;
  margin-top: -7rem;
  padding-left: 5%;
  margin-bottom: 8rem;
}
.aboutLogoInner {
  width: 80%;
  margin: 0 auto;
  background: #F2F2F2;
  padding: 4rem 0;
  position: relative;
  z-index: 1;
}
.aboutThoughtR {
  width: 45%;
  padding-right: 5%;
}
.aboutThoughtRTxt01 br{
  display: none;
}
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.mainContentSub{
  padding-top: 7rem;
}
.subMain_ttlBox {
  position: relative;
  width: 100%;
  margin: 0 auto;
  margin-top: 0rem;
  z-index: 100;
  left: 0;
  right: 0;
  background: #F2F2F2;
  padding: 2rem 0;
  margin-bottom: 1rem;
}
.subMain_ttl{
  position: relative;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
}
.subMain_ttl_en{
  font-size: 5rem;
  border-bottom: 2px solid #212121;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
}
.subMain_ttl_jp{
  font-size: 2rem;
}
.punkuz{
  width: 90%;
  margin: 0 auto 2rem;
  display: flex;
  align-items: center;
  white-space: nowrap;
  position: relative;
  z-index: 1;
  flex-wrap: wrap;
}
.punkuz li{
  margin-right: 1rem;
  letter-spacing: 0;
  font-size: 1.2rem;
}
.punkuz li br{
  display: none;
}
.aboutIntro{
  position: relative;
  display: flex;
  justify-content: space-between;
  padding-top: 10rem;
  margin-top: -7rem;
  padding-left: 0;
  margin-bottom: 8rem;
  flex-direction: column-reverse;
}
.aboutIntroL{
  width: 80%;
  position: relative;
  z-index: 1;
  padding-top: 3rem;
  margin: 0 auto;
}
.aboutIntroL_ttl{
  display: flex;
  flex-direction: column;
  margin-bottom: 2.5rem;
  line-height: 1;
}
.aboutIntroL_ttl_en{
  font-size: 4rem;
  margin-bottom: 1.5rem;
  color: #CCCCCC;
}
.aboutIntroL_ttl_jp{
  font-size: 1.6rem;
}
.aboutIntroL_txt01{
  font-size: 2.2rem;
  margin-bottom: 1rem;
  font-weight: 700;
  line-height: 1.6;
}
.aboutIntroR{
  width: 100%;
  position: relative;
  z-index: 1;
  
}
.aboutIntroR{
  padding-left: 10%;
}
.about_intro_bg{
  position: absolute;
  left: 0;
  top: 0;
  width: 80%;
}
.aboutLogo{
  margin-bottom: 10rem;
}
.aboutLogoInner{
  width: 100%;
  margin: 0 auto;
  background: #F2F2F2;
  padding: 4rem 0 18rem;
  position: relative;
  z-index: 1;
}
.aboutLogoInner_ttl{
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 3rem;
  line-height: 1;
}
.aboutLogoInner_ttl_en{
  font-size: 4rem;
  margin-bottom: 1.5rem;
  color: #CCCCCC;
}
.aboutLogoInner_ttl_jp{
  font-size: 1.6rem;
}
.aboutLogoInnerLogo{
  width: 30%;
  margin: 0 auto 6rem;
}
.aboutLogoInnerTxt01{
  font-size: 2.2rem;
  margin-bottom: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.aboutLogoInnerTxt02{

}
.aboutLogoInnerTxt02 p{
  text-align: center;
}
.aboutLogoInnerTxt02 p + p{
  margin-top: 2rem;
}
.about_slide{
  margin-top: -13rem;
  position: relative;
  z-index: 1;
}
.about_slide li{
  margin: 0 1rem;
}
.aboutThought{
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: url(../../src/img/sp/about_thought_bg@2x.png) bottom center no-repeat;
  background-size: 100% 100%;
  padding: 4rem 0;
  margin-bottom: 8rem;
}
.aboutThoughtL{
  width: 100%;
  margin-bottom: 3rem;
}
.aboutThoughtR{
  width: 80%;
  margin: 0 auto;
  padding-right: 0;
}
.aboutThoughtR_ttl{
  display: flex;
  flex-direction: column;
  margin-bottom: 3rem;
  line-height: 1;
  align-items: center;
}
.aboutThoughtR_ttl_en{
  font-size: 5rem;
  margin-bottom: 1.4rem;
  color: #CCCCCC;
}
.aboutThoughtR_ttl_jp{
  font-size: 1.6rem;
}
.aboutThoughtRTxt01{
  font-size: 2.2rem;
  margin-bottom: 1rem;
  font-weight: 700;
  line-height: 1.6;
}
.aboutCompany{
  width: 80%;
  margin: 0 auto 6rem;
}
.aboutCompany_ttl{
  display: flex;
  flex-direction: column;
  margin-bottom: 2rem;
  line-height: 1;
  align-items: flex-start;
}
.aboutCompany_ttl_en{
  font-size: 4rem;
  margin-bottom: 1.4rem;
  color: #CCCCCC;
}
.aboutCompany_ttl_jp{
  font-size: 1.6rem;
}
.aboutCompanyList{

}
.aboutCompanyList_item{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 2rem 0;
  border-bottom: 1px solid #707070;
}
.aboutCompanyList_itemL{
  width: 30%;
}
.aboutCompanyList_itemR{
  width: 70%;
}
}
/*-----------------------------------------------------------

SERVICE

-------------------------------------------------------------*/
.mainContentSubService{
  background: url(../../src/img/service_bg.png) 0 0 repeat-y;
  background-size: 100%;
  padding-bottom: 1rem;
}
.serviceIntro{
  width: 85%;
  margin: 0 auto 8rem;
}
.serviceIntroTtl{
  text-align: center;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 3rem;
}
.serviceIntroBtnList{
  display: flex;
  justify-content: space-between;
}
.serviceIntroBtnList li{
  width: 19%;
}
.serviceIntroBtnList li a{
  display: flex;
  justify-content: center;
  background: #212121;
  padding: 2rem 0;
  color: #fff;
  line-height: 1;
  position: relative;
}
.serviceIntroBtnList li a:after{
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.2rem 0.8rem 0 0.8rem;
  border-color: #212121 transparent transparent transparent;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: -2rem;
}
.serviceSec01{
  width: 100%;
  padding-left: 7%;
  margin-bottom: 6rem;
}
.serviceSec01Inner{
  display: flex;
  justify-content: space-between;
  width: 100%;
  background: #F2F2F2;
  padding: 6rem 4rem;
  padding-right: 10%;
}
.serviceSec01InnerL{
  width: 48%;
}
.serviceSec01InnerR{
  width: 48%;
}
.serviceTtlBox{
  border-bottom: 1px solid #707070;
  margin-bottom: 1rem;
}
.cmnsub_ttl01{
  display: flex;
  flex-direction: column;
  margin-bottom: 1rem;
  line-height: 1;
}
.cmnsub_ttl01_en{
  font-size: 6rem;
  margin-bottom: 1rem;
  color: #CCCCCC;
}
.cmnsub_ttl01_jp{
  font-size: 2rem;
  font-weight: 700;
}
.serviceSec01InnerR_subTtl{
  font-size: 2rem;
  font-weight: 700;
}
.serviceSec01InnerR_txt{
  margin-bottom: 2rem;
}
.serviceBtnBox{
  display: flex;
  justify-content: flex-end;
}
.serviceSec02{
  width: 100%;
  padding-left: unset;
  padding-right: 7%;
  margin-bottom: 6rem;
}
.serviceSec02 .serviceSec01Inner{
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  width: 100%;
  background: #F2F2F2;
  padding: 6rem 4rem;
  padding-right: 4rem;
  padding-left: 10%;
}
.cmnBtn01ServiceWide{
  width: 31rem;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.serviceIntro {
  width: 95%;
  margin: 0 auto 8rem;
}
.serviceIntro li a{
  font-size: 1.2rem;
}
.serviceSec01 {
  width: 100%;
  padding-left: 3%;
  margin-bottom: 6rem;
}
.serviceSec01Inner {
  display: flex;
  justify-content: space-between;
  width: 100%;
  background: #F2F2F2;
  padding: 6rem 4rem;
  padding-right: 5%;
}
.serviceSec02 {
  width: 100%;
  padding-left: unset;
  padding-right: 3%;
  margin-bottom: 6rem;
}
.serviceSec02 .serviceSec01Inner {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  width: 100%;
  background: #F2F2F2;
  padding: 6rem 4rem;
  padding-right: 4rem;
  padding-left: 5%;
}
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.mainContentSubService{
  background: url(../../src/img/sp/service_bg@2x.png) 0 0 repeat-y;
  background-size: 100%;
  padding-bottom: 1rem;
}
.serviceIntro{
  width: 80%;
  margin: 0 auto 4rem;
}
.serviceIntroTtl{
  text-align: center;
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 3rem;
}
.serviceIntroBtnList{
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
.serviceIntroBtnList li{
  width: 100%;
  margin-bottom: 2rem;
}
.serviceIntroBtnList li a{
  display: flex;
  justify-content: center;
  background: #212121;
  padding: 2rem 0;
  color: #fff;
  line-height: 1;
  position: relative;
  font-weight: 700;
}
.serviceIntroBtnList li a:after{
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.8rem 0.6rem 0 0.6rem;
  border-color: #fff transparent transparent transparent;
  position: absolute;
  left: unset;
  right: 2rem;
  margin: auto;
  bottom: 0;
  top: 0;
}
.serviceSec01{
  width: 100%;
  padding-left: 0;
  margin-bottom: 6rem;
}
.serviceSec01Inner{
  display: flex;
  justify-content: space-between;
  width: 100%;
  background: #F2F2F2;
  padding: 4rem 7%;
  padding-right: 7%;
}
.serviceSec01InnerL{
  width: 100%;
  margin-bottom: 2rem;
}
.serviceSec01InnerR{
  width: 100%;
}
.serviceTtlBox{
  border-bottom: 1px solid #707070;
  margin-bottom: 1rem;
}
.cmnsub_ttl01{
  display: flex;
  flex-direction: column;
  margin-bottom: 1rem;
  line-height: 1;
}
.cmnsub_ttl01_en{
  font-size: 4rem;
  margin-bottom: 1rem;
  color: #CCCCCC;
}
.cmnsub_ttl01_jp{
  font-size: 2rem;
  font-weight: 700;
}
.serviceSec01InnerR_subTtl{
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 1rem;
}
.serviceSec01InnerR_txt{
  margin-bottom: 4rem;
}
.serviceBtnBox{
  display: flex;
  justify-content: center;
}
.serviceSec02{
  width: 100%;
  padding-left: unset;
  padding-right: 0;
  margin-bottom: 6rem;
}
.serviceSec02 .serviceSec01Inner{
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  width: 100%;
  background: #F2F2F2;
  padding: 4rem 7%;
  padding-right: 7%;
  padding-left: 7%;
}
}
/*-----------------------------------------------------------

SERVICE REFORM

-------------------------------------------------------------*/
.serviceTtlBg{
  background: url(../../src/img/service_ttl_bg.png) 0 0 no-repeat;
  background-size: cover;
  padding: 3rem 0;
  margin-top: -2.5rem;
}
.serviceTtlBg .punkuz{
  color: #fff;
}
.serviceSubTtl{
  width: 80%;
  margin: 0 auto;
}
.serviceSubTtl span{
  color: #fff;
}
.serviceSubTtl .cmnsub_ttl01_en{
  font-size: 8rem;
}
.serviceSubTtl .cmnsub_ttl01_jp{
  font-size: 2.5rem;
}
.reformIntro{
  width: 80%;
  margin: -10rem auto 0rem;
  display: flex;
  justify-content: space-between;
}
.reformIntroL{
  padding-top: 14rem;
  width: 38%;
}
.reformIntroL_ttl{
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 2rem;
}
.reformIntroR{
  width: 55%;
}
.reformIntroRImgWrap{
  position: relative;
  height: 62rem;
}
.reformIntroRImg01{
  width: 50%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 3;
}
.reformIntroRImg02{
  width: 60%;
  position: absolute;
  bottom: 0;
  right: 0;
  margin: auto;
  z-index: 2;
}
.reformIntroRImg03{
  width: 60%;
  position: absolute;
  top: 10rem;
  left: 0;
  margin: auto;
  z-index: 1;
}
.reformPart{
  width: 80%;
  margin: 0 auto 7rem;
}
.reformPartTtlBox{
  margin-bottom: 6rem;
}
.reformPartList{
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}
.reformPartList_item{
  width: 45%;
  margin-bottom: 6rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.reformPartList_itemTtl{
  border-bottom: 1px solid #707070;
  display: flex;
  align-items: flex-end;
  position: relative;
  margin-bottom: 2rem;
  height: 6rem;
}
.reformPartList_itemTtlIco01{
  width: 4.3rem;
}
.reformPartList_itemTtlIco01{
  width: 6.3rem;
}
.reformPartList_itemTtlIco01{
  width: 5rem;
}
.reformPartList_itemTtlIco01{
  width: 5.6rem;
}
.reformPartList_itemTtl_jp{
  position: absolute;
  left: 8rem;
  font-size: 2.5rem;
  font-weight: 700;
}
.reformPartList_itemTxt{
  margin-bottom: 2rem;
  letter-spacing: 0.09em;
}
.reformPartList_itemCat{
  background: #F2F2F2;
  padding: 1rem;
  display: flex; 
}
.reformPartList_itemCat li{
  background: #fff;
  border-radius: 40px;
  padding: 1rem 2rem;
  line-height: 1;
  margin-right: 1rem;
  font-size: 1.2rem;
}
.reformStrength{
  background: url(../../src/img/reform_bg.png) 0 0 no-repeat;
  background-size: cover;
  padding: 8rem 0;
  margin-bottom: 7rem;
}
.reformStrengthInner{
  width: 80%;
  margin: 0 auto;
}
.reformStrengthTtlBox{
  margin-bottom: 6rem;
}
.refromStrengthTtl{
  align-items: center;
}
.refromStrengthTtl span{
  color: #fff;
}
.reformStrengthList{
  display: flex;
  justify-content: space-between;
}
.reformStrengthListItem{
  background: url(../../src/img/reform_str_bg.png) 0 0 no-repeat;
  background-size: cover;
  padding: 2rem;
  padding-left: 2.4rem;
  width: 30%;
  position: relative;
}
.reformStrengthListItem_num{
  position: absolute;
  color: #fff;
  font-size: 5rem;
  top: 0;
  left: 2rem;
  line-height: 1;
}
.reformStrengthListItem_ttl{
  text-align: center;
  color: #fff;
  font-size: 2rem;
  margin-bottom: 1rem;
  line-height: 1.6;
}
.reformStrengthListItem_txt{
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
.reformFlow{
  width: 80%;
  margin: 0 auto 8rem;
}
.reformFlowTtlBox{
  margin-bottom: 3rem;
}
.reformFlowImg{
  width: 80%;
  margin: 0 auto;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.reformIntro {
  width: 85%;
  margin: -10rem auto 0rem;
  display: flex;
  justify-content: space-between;
}
.reformIntroL {
  padding-top: 14rem;
  width: 41%;
}
.reformIntroRImgWrap {
  position: relative;
  height: 52rem;
}
.reformPart {
  width: 85%;
  margin: 0 auto 7rem;
}
.reformPartList_item {
  width: 48%;
  margin-bottom: 6rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.reformPartList_itemCat li {
  background: #fff;
  border-radius: 40px;
  padding: 1rem 1rem;
  line-height: 1;
  margin-right: 1rem;
  font-size: 1.2rem;
}
.reformStrengthList {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.reformStrengthListItem {
  background: url(../../src/img/reform_str_bg.png) 0 0 no-repeat;
  background-size: cover;
  padding: 2rem;
  padding-left: 2.4rem;
  width: 47%;
  position: relative;
  margin: 1rem;
}
.reformFlowImg {
  width: 100%;
  margin: 0 auto;
}
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.serviceTtlBg{
  background: url(../../src/img/sp/service_ttl_bg@2x.png) 0 0 no-repeat;
  background-size: cover;
  padding: 3rem 0 20rem;
  margin-top: -2.5rem;
}
.serviceTtlBg .punkuz{
  color: #fff;
}
.serviceSubTtl{
  width: 80%;
  margin: 0 auto;
  align-items: center;
  padding-top: 1rem;
}
.serviceSubTtl span{
  color: #fff;
}
.serviceSubTtl .cmnsub_ttl01_en{
  font-size: 4rem;
}
.serviceSubTtl .cmnsub_ttl01_jp{
  font-size: 2rem;
}
.reformIntro{
  width: 80%;
  margin: -18rem auto 10rem;
  display: flex;
  justify-content: space-between;
  flex-direction: column-reverse;
}
.reformIntroL{
  padding-top: 4rem;
  width: 100%;
}
.reformIntroL_ttl{
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 2rem;
}
.reformIntroR{
  width: 100%;
}
.reformIntroRImgWrap{
  position: relative;
  height: 42rem;
}
.reformIntroRImg01{
  width: 55%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 3;
}
.reformIntroRImg02{
  width: 65%;
  position: absolute;
  bottom: 0;
  right: 0;
  margin: auto;
  z-index: 2;
}
.reformIntroRImg03{
  width: 65%;
  position: absolute;
  top: 8rem;
  left: 0;
  margin: auto;
  z-index: 1;
}
.reformPart{
  width: 80%;
  margin: 0 auto 4rem;
}
.reformPartTtlBox{
  margin-bottom: 6rem;
}
.reformPartList{
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}
.reformPartList_item{
  width: 100%;
  margin-bottom: 6rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.reformPartList_itemTtl{
  border-bottom: 1px solid #707070;
  display: flex;
  align-items: flex-end;
  position: relative;
  margin-bottom: 2rem;
}
.reformPartList_itemTtlIco01{
  width: 4.3rem;
}
.reformPartList_itemTtlIco01{
  width: 6.3rem;
}
.reformPartList_itemTtlIco01{
  width: 5rem;
}
.reformPartList_itemTtlIco01{
  width: 5.6rem;
}
.reformPartList_itemTtl_jp{
  position: relative;
  left: 0;
  font-size: 2.5rem;
  font-weight: 700;
  margin-left: 2rem;
}
.reformPartList_itemTxt{
  margin-bottom: 2rem;
  letter-spacing: 0.09em;
}
.reformPartList_itemCat{
  background: #F2F2F2;
  padding: 1rem;
  display: flex; 
}
.reformPartList_itemCat li{
  background: #fff;
  border-radius: 40px;
  padding: 0.6rem 1rem;
  line-height: 1;
  margin-right: 1rem;
  font-size: 1.2rem;
}
.reformStrength{
  background: url(../../src/img/sp/reform_bg@2x.png) 0 0 no-repeat;
  background-size: cover;
  padding: 4rem 0 8rem;
  margin-bottom: 7rem;
}
.reformStrengthInner{
  width: 80%;
  margin: 0 auto;
}
.reformStrengthTtlBox{
  margin-bottom: 6rem;
}
.refromStrengthTtl{
  align-items: center;
}
.refromStrengthTtl span{
  color: #fff;
}
.reformStrengthList{
  display: flex;
  justify-content: space-between;
}
.reformStrengthListItem{
  background: url(../../src/img/reform_str_bg.png) 0 0 no-repeat;
  background-size: cover;
  padding: 2rem;
  width: 30%;
  position: relative;
}
.reformStrengthListItem_num{
  position: absolute;
  color: #fff;
  font-size: 5rem;
  top: 0;
  left: 2rem;
  line-height: 1;
}
.reformStrengthListItem_ttl{
  text-align: center;
  color: #fff;
  font-size: 2rem;
  margin-bottom: 1rem;
  line-height: 1.6;
  font-weight: 700;
}
.reformStrengthListItem_txt{
  color: #fff;
  letter-spacing: 0.12em;
  line-height: 1.8;
}


.reformStrengthList .slick-dots{
    position: absolute;
    bottom: -4rem;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
    left: 0;
}
.reformStrengthList .slick-dots li {
  position: relative;
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 0.5rem;
  padding: 0;
  cursor: pointer;
}
.reformStrengthList .slick-dots li button:before {
  font-family: unset!important;
  font-size: 10px;
  line-height: 8px;
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 8px;
  content: '•';
  text-align: center;
  color: #fff;
  background: #fff;
  border-radius: 50%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  border: none;
}
.reformStrengthList .slick-dots li.slick-active button:before{
    color:#212121;
    border-radius: 50%;
    background:#212121;
}
.reformStrengthList .slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 8px;
  height: 8px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}
.reformStrengthList .slick-prev {
  left: -3.5rem;
  width: 3rem;
  height: 3rem;
  top: 55%;
}
.reformStrengthList .slick-prev:before {
  content: '';
  background: url(../../src/img/slick_prev_off_wh.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  width: 3rem;
  height: 3rem;
  display: block;
}
.reformStrengthList .slick-prev:hover:before{
  background: url(../../src/img/slick_prev_on.svg) 0 0 no-repeat;
  background-size: 100% 100%;
}
.reformStrengthList .slick-next {
  right: -3.5rem;
  width: 3rem;
  height: 3rem;
  top: 55%;
}
.reformStrengthList .slick-next:before {
  content: '';
  background: url(../../src/img/slick_next_off_wh.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  width: 3rem;
  height: 3rem;
  display: block;
}
.reformStrengthList .slick-next:hover:before{
  background: url(../../src/img/slick_next_on.svg) 0 0 no-repeat;
  background-size: 100% 100%;
}

.reformFlow{
  width: 80%;
  margin: 0 auto 8rem;
}
.reformFlowTtlBox{
  margin-bottom: 3rem;
}
.reformFlowTtl{
  align-items: center;
}
.reformFlowImg{
  width: 100%;
  margin: 0 auto;
}
}
/*-----------------------------------------------------------

SERVICE WATER

-------------------------------------------------------------*/
.waterHowto{
  width: 80%;
  margin: 0 auto 7rem;
}
.waterHowtoTtlBox{
  margin-bottom: 6rem;
}
.waterHowtoList{
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}
.waterHowtoList_item{
  width: 17%;
  margin-bottom: 2rem;
  background: #F2F2F2;
  padding: 0.5rem 1rem 1rem;
}
.waterHowtoList_item div{
  width: 70%;
  margin: 0 auto;
}
.waterHowtoList_item h3{
  text-align: center;
  border-bottom: 1px solid #212121;
  margin-bottom: 0.6rem;
  padding-bottom: 1rem;
  line-height: 1;
}
.waterHowtoList_item p{
  font-size: 1.2rem;
}
.waterGuarantee{
  width: 80%;
  margin: 0 auto 8rem;
}
.waterGuaranteeTtlBox{
  margin-bottom: 4rem;
}
.waterGuaranteeList{

}
.waterGuaranteeList_item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.4rem 0;
  border-bottom: 1px solid #707070;
}
.waterGuaranteeList_itemNum{
  width: 7%;
  color: #E3E3E3;
  font-size: 5rem;
  line-height: 1;
}
.waterGuaranteeList_itemTxt{
  width: 93%;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}
.waterApl{
  width: 80%;
  margin: 0 auto 8rem;
  position: relative;
  padding: 5.3rem 0;
}
.waterAplInner{
  padding: 4rem;
  background: #868686;
}
.waterAplInnerTtl .cmnsub_ttl01_en{
  color: #9B9B9B;
}
.waterAplInnerSubttl{
  color: #fff;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.6;
}
.waterAplInnerTxt{
  color: #fff;
  width: 63%;
  letter-spacing: 0.1em;
}
.water_apl_img{
  position: absolute;
  right: 10%;
  top: 0;
  width: 20.5%;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.waterIntro .reformIntroRImgWrap {
  position: relative;
  height: 52rem;
  margin-top: 7rem;
}
.waterHowto {
  width: 85%;
  margin: 4rem auto 7rem;
}
.waterHowtoList_item {
  width: 32%;
  margin-bottom: 2rem;
  background: #F2F2F2;
  padding: 0.5rem 1rem 1rem;
}
.water_apl_img {
  position: absolute;
  right: 6%;
  top: 0;
  width: 29.5%;
}
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.waterHowto{
  width: 80%;
  margin: 0 auto 7rem;
}
.waterHowtoTtlBox{
  margin-bottom: 6rem;
}
.waterHowtoList{
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}
.waterHowtoList_item{
  width: 48%;
  margin-bottom: 1.5rem;
  background: #F2F2F2;
  padding: 1rem 1rem 1rem;
}
.waterHowtoList_item div{
  width: 60%;
  margin: 0 auto;
}
.waterHowtoList_item h3{
  text-align: center;
  border-bottom: 1px solid #212121;
  margin-bottom: 0.6rem;
  padding-bottom: 1rem;
  line-height: 1;
  font-size: 1.3rem;
}
.waterHowtoList_item p{
  font-size: 1.2rem;
  line-height: 1.6;
}
.reformStrengthListWater .reformStrengthListItem_txt{
  letter-spacing: 0.1em;
}
.waterGuarantee{
  width: 80%;
  margin: 0 auto 8rem;
}
.waterGuaranteeTtlBox{
  margin-bottom: 2rem;
}
.waterGuaranteeList{

}
.waterGuaranteeList_item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2rem 0;
  border-bottom: 1px solid #707070;
}
.waterGuaranteeList_itemNum{
  width: 18%;
  color: #E3E3E3;
  font-size: 4.5rem;
  line-height: 1;
}
.waterGuaranteeList_itemTxt{
  width: 82%;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
}
.waterApl{
  width: 80%;
  margin: 0 auto 8rem;
  position: relative;
  padding: 4rem 2rem;
  background: #868686;
}
.waterAplInner{
  padding: 0rem 0rem;
  background: #868686;
}
.waterAplInnerTtl .cmnsub_ttl01_en{
  color: #9B9B9B;
}
.waterAplInnerSubttl{
  color: #fff;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.6;
}
.waterAplInnerTxt{
  color: #fff;
  width: 100%;
  letter-spacing: 0em;
  margin-bottom: 3rem;
  line-height: 1.8;
}
.water_apl_img{
  position: relative;
  right: 0;
  top: 0;
  width: 70%;
  margin: 0 auto;
}
}
/*-----------------------------------------------------------

SERVICE ENERGY

-------------------------------------------------------------*/
.reformIntroLEnergy{
  padding-top: 20rem;
  width: 39%;
}
.reformIntroL_ttlEnergy{
  white-space: nowrap;
}
.energySec{
  width: 70%;
  margin: 0 auto 8rem;
  position: relative;
}
.energySec01{
  padding-top: 10rem;
}
.energySecTtlBox{
  margin-bottom: 3rem;
}
.energySecTtl{
  align-items: center;
}
.energySecIntro{
  width: 92%;
  margin: 0 auto 4rem;
}
.energySecBtm{

}
.energySecBtmTtl{
  text-align: center;
  margin-bottom: 3rem;
}
.energySecBtmTtl_txt{
  margin-bottom: 1rem;
  font-weight: 700;
  font-size: 2rem;
}
.energySecBtmList{
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
.energySecBtmList_item{
  width: 31%;
  background: #F5F5F5;
  padding: 1rem;
  padding-top: 3rem;
}
.energySecBtmList_item div{
  width: 50%;
  margin: 0 auto 3rem;
}
.energySecBtmList_item h4{
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 1rem;
  line-height: 1.4;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 5rem;
}
.energySecBtmList_item p{
  letter-spacing: 0.1em;
}
.energy_ttl_ico01{
  width: 30%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.energySec02{
  padding-top: 10rem;
}
.energy_ttl_ico02{
  width: 15%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.energyMerit{
  background: url(../../src/img/energy_merit_bg.png) 0 0 no-repeat;
  background-size: cover;
  padding: 8rem 0;
  margin-bottom: 7rem;
}
.energyMeritInner{
  width: 80%;
  margin: 0 auto;
}
.energyMeritTtlBox{
  margin-bottom: 6rem;
}
.refromStrengthTtl{
  align-items: center;
}
.refromStrengthTtl span{
  color: #fff;
}
.energyMeritList{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.energyMeritListItem{
  background: url(../../src/img/energy_item_bg.png) 0 0 no-repeat;
  background-size: cover;
  padding: 0rem 4rem 2rem;
  width: 48%;
  position: relative;
  margin-bottom: 5rem;
}
.energyMeritListItem_num{
  color: #fff;
  font-size: 5rem;
  line-height: 1;
  margin-bottom: 1rem;
}
.energyMeritListItem_ttl{
  color: #fff;
  font-size: 2rem;
  margin-bottom: 1rem;
  line-height: 1.6;
  font-weight: 700;
}
.energyMeritListItem_txt{
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
.energyMeritListItem:nth-child(1){
  order: 0;
}
.energyMeritListItem:nth-child(2){
  order: 2;
}
.energyMeritListItem:nth-child(3){
  order: 4;
}
.energyMeritListItem:nth-child(4){
  order: 1;
}
.energyMeritListItem:nth-child(5){
  order: 3;
}
.energyMeritListItem:nth-child(6){
  order: 5;
}
.energyFlow{
  width: 80%;
  margin: 0 auto 8rem;
}
.energyFlowTtlBox{
  margin-bottom: 4rem;
}
.energyFlowTtl{
  align-items: center;
}
.energyFlowImg{
  width: 60%;
  margin: 0 auto;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.reformIntroLEnergy {
  padding-top: 14rem;
  width: 39%;
}
.reformIntroL_ttlEnergy {
  white-space: normal;
}
.energyIntro .reformIntroRImgWrap {
  position: relative;
  height: 52rem;
  margin-top: 4rem;
}
.energySec {
  width: 85%;
  margin: 0 auto 8rem;
  position: relative;
}
.energyMeritInner {
  width: 90%;
  margin: 0 auto;
}
.energyFlowImg {
  width: 100%;
  margin: 0 auto;
}
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.reformIntroLEnergy{
  padding-top: 4rem;
  width: 100%;
}
.reformIntroL_ttlEnergy{
  white-space: nowrap;
}
.energySec{
  width: 100%;
  margin: -9rem auto 18rem;
  position: relative;
}
.energySec01{
  padding-top: 10rem;
}
.energySecTtlBox{
  margin-bottom: 3rem;
}
.energySecTtl{
  align-items: center;
}
.energySecIntro{
  width: 80%;
  margin: 0 auto 4rem;
}
.energySecBtm{

}
.energySecBtmTtl{
  text-align: center;
  margin-bottom: 3rem;
  width: 80%;
  margin: 0 auto 3rem;
}
.energySecBtmTtl_txt{
  margin-bottom: 0rem;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1;
}
.energySecBtmList{
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
.energySecBtmList_item{
  width: 31%;
  background: #F5F5F5;
  padding: 1rem;
  padding-top: 3rem;
  margin: 0 2rem;
}
.energySecBtmList_item div{
  width: 60%;
  margin: 0 auto 1rem;
}
.energySecBtmList_item h4{
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 1rem;
  line-height: 1.4;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 5rem;
}
.energySecBtmList_item p{
  letter-spacing: 0em;
}
.energy_ttl_ico01{
  width: 65%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.energySec02{
  padding-top: 10rem;
}
.energy_ttl_ico02{
  width: 25%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.energySec01 .energySecBtmList_item{
  height: 46rem!important;
}
.energySec02 .energySecBtmList_item{
  height: 46rem!important;
}

.energySecBtmList .slick-dots{
    position: absolute;
    bottom: -4rem;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
    left: 0;
}
.energySecBtmList .slick-dots li {
  position: relative;
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 0.5rem;
  padding: 0;
  cursor: pointer;
}
.energySecBtmList .slick-dots li button:before {
  font-family: unset!important;
  font-size: 10px;
  line-height: 8px;
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 8px;
  content: '•';
  text-align: center;
  color: #CCCCCC;
  background: #CCCCCC;
  border-radius: 50%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  border: none;
}
.energySecBtmList .slick-dots li.slick-active button:before{
    color:#212121;
    border-radius: 50%;
    background:#212121;
}
.energySecBtmList .slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 8px;
  height: 8px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.energyMerit{
  background: url(../../src/img/energy_merit_bg.png) 0 0 no-repeat;
  background-size: cover;
  padding: 4rem 0 8rem;
  margin-bottom: 7rem;
}
.energyMeritInner{
  width: 80%;
  margin: 0 auto;
}
.energyMeritTtlBox{
  margin-bottom: 6rem;
}
.refromStrengthTtl{
  align-items: center;
}
.refromStrengthTtl span{
  color: #fff;
}
.energyMeritList{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.energyMeritListItem{
  background: url(../../src/img/sp/energy_item_bg@2x.png) 0 0 no-repeat;
  background-size: cover;
  padding: 3rem 2rem 2rem;
  width: 48%;
  position: relative;
  margin-bottom: 2rem;
  height: 28rem!important;
}
.energyMeritListItem_num{
  color: #fff;
  font-size: 5rem;
  line-height: 1;
  margin-bottom: 1rem;
  position: absolute;
  left: 2rem;
  top: 0;
}
.energyMeritListItem_ttl{
  color: #fff;
  font-size: 2rem;
  margin-bottom: 1rem;
  line-height: 1.6;
  font-weight: 700;
  text-align: center;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.energyMeritListItem_txt{
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
.energyMeritListItem:nth-child(1){
  order: 0;
}
.energyMeritListItem:nth-child(2){
  order: 2;
}
.energyMeritListItem:nth-child(3){
  order: 4;
}
.energyMeritListItem:nth-child(4){
  order: 1;
}
.energyMeritListItem:nth-child(5){
  order: 3;
}
.energyMeritListItem:nth-child(6){
  order: 5;
}

.energyMeritList .slick-dots{
    position: absolute;
    bottom: -4rem;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
    left: 0;
}
.energyMeritList .slick-dots li {
  position: relative;
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 0.5rem;
  padding: 0;
  cursor: pointer;
}
.energyMeritList .slick-dots li button:before {
  font-family: unset!important;
  font-size: 8px;
  line-height: 8px;
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 8px;
  content: '•';
  text-align: center;
  color: #fff;
  background: #fff;
  border-radius: 50%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  border: none;
}
.energyMeritList .slick-dots li.slick-active button:before{
    color:#212121;
    border-radius: 50%;
    background:#212121;
}
.energyMeritList .slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 8px;
  height: 8px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}
.energyMeritList .slick-prev {
  left: -3.5rem;
  width: 3rem;
  height: 3rem;
  top: 55%;
}
.energyMeritList .slick-prev:before {
  content: '';
  background: url(../../src/img/slick_prev_off_wh.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  width: 3rem;
  height: 3rem;
  display: block;
}
.energyMeritList .slick-prev:hover:before{
  background: url(../../src/img/slick_prev_on.svg) 0 0 no-repeat;
  background-size: 100% 100%;
}
.energyMeritList .slick-next {
  right: -3.5rem;
  width: 3rem;
  height: 3rem;
  top: 55%;
}
.energyMeritList .slick-next:before {
  content: '';
  background: url(../../src/img/slick_next_off_wh.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  width: 3rem;
  height: 3rem;
  display: block;
}
.energyMeritList .slick-next:hover:before{
  background: url(../../src/img/slick_next_on.svg) 0 0 no-repeat;
  background-size: 100% 100%;
}

.energyFlow{
  width: 80%;
  margin: 0 auto 8rem;
}
.energyFlowTtlBox{
  margin-bottom: 4rem;
}
.energyFlowTtl{
  align-items: center;
}
.energyFlowTtl .cmnsub_ttl01_jp{
  font-size: 1.6rem;
}
.energyFlowImg{
  width: 100%;
  margin: 0 auto;
}
}
/*-----------------------------------------------------------

SERVICE HOUSING

-------------------------------------------------------------*/
.housingSec{
  width: 80%;
  margin: 0 auto 8rem;
  position: relative;
}
.housingSec01{
  padding-top: 10rem;
}
.housingSecTtlBox{
  margin-bottom: 5rem;
}
.housingSecTtl{

}
.housingSecProductList{
  margin-bottom: 5rem;
  display: flex;
  justify-content: space-between;
}
.housingSecProductList_item{
  width: 49%;
  background: #F2F2F2;
  padding: 2rem 3rem 3rem;
}
.housingSecProductList_item h3{
  font-size: 2.5rem;
  font-weight: 700;
  border-bottom: 2px solid #212121;
  margin-bottom: 2rem;
}
.housingSecProductList_item p{
  margin-bottom: 2rem;
}
.housingSecBtm{

}
.housingSecBtmTtl{
  text-align: center;
  margin-bottom: 3rem;
}
.housingSecBtmTtl_txt{
  margin-bottom: 1rem;
  font-weight: 700;
  font-size: 2rem;
}
.housingSecBtmList{
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: 85%;
  margin: 0 auto;
}
.housingSecBtmList_item{
  width: 31%;
  background: #F5F5F5;
  padding: 1rem;
  padding-top: 3rem;
}
.housingSecBtmList_item div{
  width: 50%;
  margin: 0 auto 3rem;
}
.housingSecBtmList_item h4{
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 1rem;
  line-height: 1.4;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 5rem;
}
.housingSecBtmList_item p{
  letter-spacing: 0.1em;
}
.housingMerit{
  background: url(../../src/img/housing_merit_bg.png) 0 0 no-repeat;
  background-size: cover;
  padding: 8rem 0;
  margin-bottom: 7rem;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.houseingIntro .reformIntroL_ttlEnergy {
  white-space: normal;
  letter-spacing: -0.1em;
}
.houseingIntro .reformIntroRImgWrap {
  position: relative;
  height: 52rem;
  margin-top: 6rem;
}
.housingSec {
  width: 85%;
  margin: 0 auto 8rem;
  position: relative;
}
.housingSecBtmList {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  margin: 0 auto;
}
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.housingSec{
  width: 100%;
  margin: 0 auto 8rem;
  position: relative;
}
.housingSec01{
  padding-top: 10rem;
}
.housingSecTtlBox{
  margin-bottom: 5rem;
  width: 80%;
  margin: 0 auto 5rem;
}
.housingSecTtl{
  align-items: center;
}
.housingSecProductListTab{
  width: 80%;
  margin: 0 auto 3rem;
  display: flex;
}
.housingSecProductListTab li{
  width: 50%;
  background: #CCCCCC;
  border: 1px solid #707070;
  text-align: center;
  padding: 1.6rem 0;
  font-weight: 700;
  line-height: 1;
}
.housingSecProductListTab li:last-child{
  border-left: none;
}
.housingSecProductListTab li.selected{
  background: #212121;
  border: 1px solid #707070;
  color: #fff;
}
.housingSecProductListTab li.selected:last-child{
  border-left: none;
}
.housingSecProductList{
  margin-bottom: 5rem;
  display: flex;
  justify-content: space-between;
}
.housingSecProductList_item{
  width: 100%;
  background: #F2F2F2;
  padding: 2rem 4rem 5rem;
}
.housingSecProductList_item h3{
  font-size: 2.5rem;
  font-weight: 700;
  border-bottom: 2px solid #212121;
  margin-bottom: 2rem;
}
.housingSecProductList_item p{
  margin-bottom: 2rem;
}
.housingSecBtm{

}
.housingSecBtmTtl{
  text-align: center;
  margin-bottom: 3rem;
  width: 80%;
  margin: 0 auto 3rem;
}
.housingSecBtmTtl_txt{
  margin-bottom: 0rem;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1;
}
.housingSecBtmList{
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  margin: 0 auto;
}
.housingSecBtmList_item{
  width: 31%;
  background: #F5F5F5;
  padding: 1rem;
  padding-top: 3rem;
  margin: 0 2rem;
}
.housingSecBtmList_item div{
  width: 60%;
  margin: 0 auto 1rem;
}
.housingSecBtmList_item h4{
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 1rem;
  line-height: 1.4;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 5rem;
}
.housingSecBtmList_item p{
  letter-spacing: 0.09em;
}
.housingSecBtmList .housingSecBtmList_item{
  height: 48rem!important;
}
.housingSecBtmList .slick-dots{
    position: absolute;
    bottom: -4rem;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
    left: 0;
}
.housingSecBtmList .slick-dots li {
  position: relative;
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 0.5rem;
  padding: 0;
  cursor: pointer;
}
.housingSecBtmList .slick-dots li button:before {
  font-family: unset!important;
  font-size: 10px;
  line-height: 8px;
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 8px;
  content: '•';
  text-align: center;
  color: #CCCCCC;
  background: #CCCCCC;
  border-radius: 50%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  border: none;
}
.housingSecBtmList .slick-dots li.slick-active button:before{
    color:#212121;
    border-radius: 50%;
    background:#212121;
}
.housingSecBtmList .slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 8px;
  height: 8px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}


.housingMerit{
  background: url(../../src/img/housing_merit_bg.png) 0 0 no-repeat;
  background-size: cover;
  padding: 4rem 0 8rem;
  margin-bottom: 7rem;
}
}
/*-----------------------------------------------------------

ACHIEVE

-------------------------------------------------------------*/
.punkuzAchieve{
  width: 90%;
}
.achievementBox{
   width: 90%;
   margin: 5rem auto 8rem;
}
.achivementsearch{
  display: flex;
  justify-content: space-between;
  margin-bottom: 2rem;
}
.post_boxSearch{
  width: 70%;
}
.post_boxSearch form{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.catSelect{
  width: 36%;
  display: flex;
  align-items: center;
  
  border-right: 0;
  color: #212121;
}
/*.catSelect_ttl {
  width: 30%;
  text-align: center;
  border-right: 1px solid #212121;
  font-size: 1.6rem;
  padding: 1.84rem 0;
  line-height: 1;
}*/
.catSelect_box{
   width: 100%;
}
.catSelect select{
   width: 100%;
  background: #fff url(../../src/img/search_arrow.svg) 93% center no-repeat;
  background-size: 1.4rem;
  padding: 1rem 2rem;
  border: 1px solid #212121;
  border-right: none;
  -webkit-appearance: none;
  color: #212121;
  font-size: 1.6rem;
  height: 5rem;
}
.searchBox_blog01{
  width: 56%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.searchBox_blog01_input{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.searchBox_blog01_input input{
  width: 100%;
  padding: 1rem 2rem;
  border: 1px solid #212121;
  font-size: 1.6rem;
  -webkit-appearance: none;
  height: 5rem;
}
.searchBox_post_send {
    width: 8%;
    display: block;
    position: relative;
    text-align: center;
    color: #000;
    background: #fff;
}
.searchBox_post_send input {
    display: block;
    letter-spacing: 2px;
    -webkit-appearance: none;
    cursor: pointer;
    background: #fff;
    width: 100%;
    border: 1px solid #212121;
    padding: 1rem 2rem;
    font-size: 1.6rem;
    color: #212121;
    background: #212121 url(../../src/img/search_btn.svg) center center no-repeat;
    height: 5rem;
}
.achievementBoxCnt{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
}
.achievementBoxCntResult{

}
.achievementBoxCntNum{

}
.achievementBoxList{
  display: flex;
  justify-content: space-between;
  margin-bottom: 8rem;
  flex-wrap: wrap;
}
.achievementBoxList::after {
    content: "";
    display:block;
    width:23%;
}
.achievementBoxList::before { 
    content: ""; 
    display:block; 
    width:23%;
    order: 1;
}
.achievementBoxList_item{
  width: 23%;
  margin-bottom: 6rem;
}
.achievementBoxList_itemLink{
  position: relative;
  display: block;
}
.achievementBoxList_itemLinkCat{
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  z-index: 1;
  white-space: nowrap;
}
.achievementBoxList_itemLinkCat li{
  background: #212121;
  color: #fff;
  line-height: 1;
  padding: 0.6rem;
  font-size: 1.2rem;
  margin-right: 1px;
}
.achievementBoxList_itemLinkImg {
    width: 100%;
    height: 19.8rem;
    position: relative;
    overflow: hidden;
    display: block;
    margin-bottom: 1rem;
}
.achievementBoxList_itemLinkImg img {
    position: absolute;
    object-fit: cover;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin: auto;
}
.achievementBoxList_itemLinkInfo{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.achievementBoxList_itemLinkInfo_date{
  width: 5rem;
  height: 5rem;
  background: #212121;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  line-height: 1;
}
.achievementBoxList_itemLinkInfo_dateYM{
  font-size: 1rem;
  font-weight: bold;
}
.achievementBoxList_itemLinkInfo_dateD{
  font-size: 3rem;
  font-weight: bold;
}
.achievementBoxList_itemLinkInfo_ttl{
  width: 75%;
  font-weight: 700;
  line-height: 1.5;
  font-size: 1.6rem;
}
.wp-pagenavi{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 4rem auto;
  position: relative;
  z-index: 1;
}
.wp-pagenavi a{
  color: #fff;
}
.wp-pagenavi a:hover{
  opacity: 0.5;
}
.previouspostslink{
  display: flex;
  padding-left: 2rem;
  margin-right: 2rem;
  position: relative;
  align-items: center;
}
.previouspostslink:before{
  content: '';
  width: 1rem;
  height: 1rem;
  border-top: 1px solid #656565;
  border-right: 1px solid #656565;
  -webkit-transform: rotate(225deg);
  transform: rotate(225deg);
  position: absolute;
  left: 0px;
}
.nextpostslink{
  display: flex;
  padding-right: 2rem;
  margin-left: 2rem;
  position: relative;
  align-items: center;
}
.nextpostslink:before{
  content: '';
  width: 1rem;
  height: 1rem;
  border-top: 1px solid #656565;
  border-right: 1px solid #656565;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  right: 0px;
}
.wp-pagenavi .page{
  margin: 0 2rem;
  display: inline-block;
  font-weight: 700;
  line-height: 2.2;
  text-align: center;
  letter-spacing: 0px;
  color: #656565;
}
.wp-pagenavi .current{
  color: #CCCCCC;
  margin: 0 2rem;
  display: inline-block;
  font-weight: 700;
  line-height: 2.2;
  text-align: center;
  letter-spacing: 0px;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.achievementBoxList::before {
  content: "";
  display: block;
  width: 31%;
  order: 1;
  display: none;
}
.achievementBoxList::after {
  content: "";
  display: block;
  width: 31%;
}
.achievementBoxList_item {
  width: 31%;
  margin-bottom: 6rem;
}
.achievementBoxList_itemLinkImg {
  width: 100%;
  height: 16.8rem;
  position: relative;
  overflow: hidden;
  display: block;
  margin-bottom: 1rem;
}

}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.punkuzAchieve{
  width: 90%;
}
.achievementBox{
   width: 80%;
   margin: 5rem auto 8rem;
}
.achivementsearch{
  display: flex;
  justify-content: space-between;
  margin-bottom: 2rem;
}
.post_boxSearch{
  width: 100%;
}
.post_boxSearch form{
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.catSelect{
  width: 100%;
  display: flex;
  align-items: center;
  color: #212121;
  margin-bottom: 2rem;
}
/*.catSelect_ttl {
  width: 30%;
  text-align: center;
  border-right: 1px solid #212121;
  font-size: 1.6rem;
  padding: 1.84rem 0;
  line-height: 1;
}*/
.catSelect_box{
   width: 100%;
}
.catSelect select{
   width: 100%;
  background: #fff url(../../src/img/search_arrow.svg) 93% center no-repeat;
  background-size: 1.4rem;
  padding: 1rem 2rem;
  border: 1px solid #212121;
  -webkit-appearance: none;
  color: #212121;
  font-size: 1.6rem;
}
.searchBox_blog01{
  width: 88%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.searchBox_blog01_input{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.searchBox_blog01_input input{
  width: 100%;
  padding: 1rem 2rem;
  border: 1px solid #212121;
  font-size: 1.6rem;
  -webkit-appearance: none;
}
.searchBox_post_send {
    width: 12%;
    display: block;
    position: relative;
    text-align: center;
    color: #000;
    background: #fff;
}
.searchBox_post_send input {
    display: block;
    letter-spacing: 2px;
    -webkit-appearance: none;
    cursor: pointer;
    background: #fff;
    width: 100%;
    border: 1px solid #212121;
    padding: 1rem 1rem;
    font-size: 1.6rem;
    color: #212121;
    background: #212121 url(../../src/img/search_btn.svg) center center no-repeat;
}
.achievementBoxCnt{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}
.achievementBoxCntResult{
  width: 100%;
  margin-bottom: 2rem;
}
.achievementBoxCntNum{
  width: 80%;
  text-align: right;
  margin: 0 auto;
}
.achievementBoxList{
  display: flex;
  justify-content: space-between;
  margin-bottom: 8rem;
  flex-wrap: wrap;
  width: 80%;
  margin: 0 auto 2rem;
}
.achievementBoxList::after {
    content: "";
    display:block;
    width:100%;
}
.achievementBoxList::before { 
    content: ""; 
    display:block; 
    width:100%;
    order: 1;
}
.achievementBoxList_item{
  width: 100%;
  margin-bottom: 6rem;
}
.achievementBoxList_itemLink{
  position: relative;
}
.achievementBoxList_itemLinkCat{
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  z-index: 1;
}
.achievementBoxList_itemLinkCat li{
  background: #212121;
  color: #fff;
  line-height: 1;
  padding: 0.6rem;
  font-size: 1.2rem;
  margin-right: 1px;
}
.achievementBoxList_itemLinkImg {
    width: 100%;
    height: 19.8rem;
    position: relative;
    overflow: hidden;
    display: block;
    margin-bottom: 1rem;
}
.achievementBoxList_itemLinkImg img {
    position: absolute;
    object-fit: cover;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin: auto;
}
.achievementBoxList_itemLinkInfo{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.achievementBoxList_itemLinkInfo_date{
  width: 5rem;
  height: 5rem;
  background: #212121;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  line-height: 1;
}
.achievementBoxList_itemLinkInfo_dateYM{
  font-size: 1rem;
  font-weight: bold;
}
.achievementBoxList_itemLinkInfo_dateD{
  font-size: 3rem;
  font-weight: bold;
}
.achievementBoxList_itemLinkInfo_ttl{
  width: 75%;
  font-weight: 700;
  line-height: 1.5;
  font-size: 1.6rem;
}
.wp-pagenavi{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 4rem auto;
  position: relative;
  z-index: 1;
}
.wp-pagenavi a{
  color: #fff;
}
.wp-pagenavi a:hover{
  opacity: 0.5;
}
.previouspostslink{
  display: flex;
  padding-left: 2rem;
  margin-right: 2rem;
  position: relative;
  align-items: center;
}
.previouspostslink:before{
  content: '';
  width: 1rem;
  height: 1rem;
  border-top: 1px solid #656565;
  border-right: 1px solid #656565;
  -webkit-transform: rotate(225deg);
  transform: rotate(225deg);
  position: absolute;
  left: 0px;
}
.nextpostslink{
  display: flex;
  padding-right: 2rem;
  margin-left: 2rem;
  position: relative;
  align-items: center;
}
.nextpostslink:before{
  content: '';
  width: 1rem;
  height: 1rem;
  border-top: 1px solid #656565;
  border-right: 1px solid #656565;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  right: 0px;
}
.wp-pagenavi .page{
  margin: 0 2rem;
  display: inline-block;
  font-weight: 700;
  line-height: 2.2;
  text-align: center;
  letter-spacing: 0px;
  color: #656565;
}
.wp-pagenavi .current{
  color: #CCCCCC;
  margin: 0 2rem;
  display: inline-block;
  font-weight: 700;
  line-height: 2.2;
  text-align: center;
  letter-spacing: 0px;
}
}
/*-----------------------------------------------------------

ACHIEVE DETAIL

-------------------------------------------------------------*/
.achieveDetailBox{
  width: 65%;
  margin: 4rem auto 8rem;
}
.achieveDetailBoxInnerTop{
  margin-bottom: 3rem;
}
.achieveDetailBoxInnerTopCat{
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.achieveDetailBoxInnerTopCat li {
  background: #212121;
  color: #fff;
  line-height: 1;
  padding: 0.6rem;
  font-size: 1.2rem;
  margin-right: 1px;
}
.achieveDetailBoxInnerTopDate{
  font-size: 1.6rem;
}
.achieveDetailBoxInnerTopTtl{
  font-size: 2.5rem;
  font-weight: 700;
}
.achieveDetailBoxImg{
  margin-bottom: 8rem;
}
.achieveDetailBoxImgSlide{
  margin-bottom: 2rem;
}
.achieveDetailBoxImgNav{
  margin: 0 -1rem;
}
.achieveDetailBoxImgNav li{
  margin: 0 1rem;
}
.achieveDetailBoxImgNav li:not(.slick-current) div{
  background: #000;
  display: block;
}
.achieveDetailBoxImgNav li:not(.slick-current) div img{
  opacity: 0.4;
  transition: all 300ms ease;
}
.achieveDetailBoxImgNav li div {
    width: 100%;
    height: 14.8rem;
    position: relative;
    overflow: hidden;
    display: block;
}
.achieveDetailBoxImgNav li div img {
    position: absolute;
    object-fit: cover;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin: auto;
}
.achieveDetailBoxImgNav .slick-prev {
  left: -1rem;
  width: 4rem;
  height: 4rem;
  top: unset;
  bottom: 3rem;
}
.achieveDetailBoxImgNav .slick-prev:before {
  content: '';
  background: url(../../src/img/slick_prev_off.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  width: 4rem;
  height: 4rem;
  display: block;
}
.achieveDetailBoxImgNav .slick-prev:hover:before{
  background: url(../../src/img/slick_prev_on.svg) 0 0 no-repeat;
  background-size: 100% 100%;
}
.achieveDetailBoxImgNav .slick-next {
  right: -1rem;
  width: 4rem;
  height: 4rem;
  top: unset;
  bottom: 3rem;
}
.achieveDetailBoxImgNav .slick-next:before {
  content: '';
  background: url(../../src/img/slick_next_off.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  width: 4rem;
  height: 4rem;
  display: block;
}
.achieveDetailBoxImgNav .slick-next:hover:before{
  background: url(../../src/img/slick_next_on.svg) 0 0 no-repeat;
  background-size: 100% 100%;
}
.achieveDetailBoxInfoWrap{
  margin-bottom: 6rem;
}
.achieveDetailBoxInfo{

}
.achieveDetailBoxInfo li{
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #707070;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.achieveDetailBoxInfo li h3{
  width: 13%;
  font-size: 1.6rem;
  font-weight: 700;
}
.achieveDetailBoxInfo li p{
  width: 87%;
}
.achieveDetailBoxInfo_ttl{
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 0.6rem;
}
.achieveDetailBoxTabWrap{

}
.achieveDetailBoxTabMenu{
  width: 100%;
  margin: 0rem auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.achieveDetailBoxTabMenu li{
  width: 49.5%;
  background: #F5F5F5;
  padding: 1rem;
  cursor: pointer;
  position: relative;
}
.achieveDetailBoxTabMenu li span{
  display: flex;
  align-items: center;
  justify-content: center;
  color: #212121;
  padding: 1.5rem;
  line-height: 1;
  font-weight: 700;
}
.achieveDetailBoxTabMenu li.selected{
  padding-bottom: 2rem;
}
.achieveDetailBoxTabMenu li.selected span{
  color: #fff;
  background: #212121;
}
.achieveDetailBoxTabMenuBox{
  background: #F5F5F5;
  padding: 2rem;
  padding-top: 5rem;
  margin-bottom: 8rem;
}
.achieveDetailBoxTabMenuBoxBA{
  margin-bottom: 4rem;
}
.achieveDetailBoxTabMenuBoxBA_ttl{
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
.achieveDetailBoxTabMenuBoxBA_list{
  display: flex;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.achieveDetailBoxTabMenuBoxBA_list li{
  width: 48%;
  position: relative;
}
.achieveDetailBoxTabMenuBoxBA_list li p{
  position: absolute;
  background: #212121;
  top: 0rem;
  width: 100%;
  clip-path: polygon(0 70%, 30% 0%, 0% 0%);
  padding: 5rem;
  z-index: 1;
}
.achieveDetailBoxTabMenuBoxBA_list li p span {
  position: absolute;
  color: #FFFFFF;
  -webkit-transform: rotate(329deg);
  transform: rotate(329deg);
  display: block;
  left: -0.3rem;
  top: 0.8rem;
  text-align: center;
  width: 8rem;
  font-size: 2rem;
}
.achieveDetailBoxTabMenuBoxBA_list div {
    width: 100%;
    height: 26.8rem;
    position: relative;
    overflow: hidden;
    display: block;
}
.achieveDetailBoxTabMenuBoxBA_list div img {
    position: absolute;
    object-fit: cover;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin: auto;
}
.achieveDetailBoxTabMenuBoxCUS{
  width: 70%;
  margin: 0 auto;
  padding-bottom: 4rem;
}
.achieveDetailBoxTabMenuBoxCUS_img{
  margin-bottom: 3rem;
}
.achieveDetailBoxTabMenuBoxCUS_ttl{
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
.achieveDetailBoxTabMenuBoxBtn{
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.achieveDetailBox {
  width: 85%;
  margin: 4rem auto 8rem;
}
.achieveDetailBoxTabMenuBoxBA_list div {
  width: 100%;
  height: 23.8rem;
  position: relative;
  overflow: hidden;
  display: block;
}
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.achieveDetailBox{
  width: 85%;
  margin: 4rem auto 8rem;
}
.achieveDetailBoxInnerTop{
  margin-bottom: 3rem;
}
.achieveDetailBoxInnerTopCat{
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.achieveDetailBoxInnerTopCat li {
  background: #212121;
  color: #fff;
  line-height: 1;
  padding: 0.6rem;
  font-size: 1.2rem;
  margin-right: 1px;
}
.achieveDetailBoxInnerTopDate{
  font-size: 1.6rem;
}
.achieveDetailBoxInnerTopTtl{
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.6;
}
.achieveDetailBoxImg{
  margin-bottom: 3rem;
}
.achieveDetailBoxImgSlide{
  margin-bottom: 1rem;
}
.achieveDetailBoxImgNav{
  margin: 0 -0.5rem;
}
.achieveDetailBoxImgNav li{
  margin: 0 0.5rem;
}
.achieveDetailBoxImgNav li div{

}
.achieveDetailBoxImgNav li div {
    width: 100%;
    height: 5.8rem;
    position: relative;
    overflow: hidden;
    display: block;
}
.achieveDetailBoxImgNav li div img {
    position: absolute;
    object-fit: cover;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin: auto;
}

.achieveDetailBoxImgNav .slick-prev {
  left: -1.5rem;
  width: 3rem;
  height: 3rem;
  top: unset;
  bottom: 0rem;
}
.achieveDetailBoxImgNav .slick-prev:before {
  content: '';
  background: url(../../src/img/slick_prev_off.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  width: 3rem;
  height: 3rem;
  display: block;
}
.achieveDetailBoxImgNav .slick-prev:hover:before{
  background: url(../../src/img/slick_prev_on.svg) 0 0 no-repeat;
  background-size: 100% 100%;
}
.achieveDetailBoxImgNav .slick-next {
  right: -1.5rem;
  width: 3rem;
  height: 3rem;
  top: unset;
  bottom: 0rem;
}
.achieveDetailBoxImgNav .slick-next:before {
  content: '';
  background: url(../../src/img/slick_next_off.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  width: 3rem;
  height: 3rem;
  display: block;
}
.achieveDetailBoxImgNav .slick-next:hover:before{
  background: url(../../src/img/slick_next_on.svg) 0 0 no-repeat;
  background-size: 100% 100%;
}
.achieveDetailBoxInfoWrap{
  margin-bottom: 6rem;
}
.achieveDetailBoxInfo{

}
.achieveDetailBoxInfo li{
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #707070;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.achieveDetailBoxInfo li h3{
  width: 100%;
  font-size: 1.6rem;
  font-weight: 700;
}
.achieveDetailBoxInfo li p{
  width: 100%;
}
.achieveDetailBoxInfo_ttl{
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 0.6rem;
}
.achieveDetailBoxTabWrap{

}
.achieveDetailBoxTabMenu{
  width: 100%;
  margin: 0rem auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.achieveDetailBoxTabMenu li{
  width: 49%;
  background: #F5F5F5;
  padding: 0.6rem;
  cursor: pointer;
  position: relative;
}
.achieveDetailBoxTabMenu li span{
  display: flex;
  align-items: center;
  justify-content: center;
  color: #212121;
  padding: 1.4rem 0;
  line-height: 1;
  font-weight: 700;
  font-size: 1.4rem;
}
.achieveDetailBoxTabMenu li.selected{
  padding-bottom: 1rem;
}
.achieveDetailBoxTabMenu li.selected span{
  color: #fff;
  background: #212121;
}
.achieveDetailBoxTabMenuBox{
  background: #F5F5F5;
  padding: 2rem;
  padding-top: 5rem;
  margin-bottom: 8rem;
}
.achieveDetailBoxTabMenuBoxBA{
  margin-bottom: 4rem;
}
.achieveDetailBoxTabMenuBoxBA_ttl{
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
.achieveDetailBoxTabMenuBoxBA_list{
  display: flex;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.achieveDetailBoxTabMenuBoxBA_list li{
  width: 48%;
  position: relative;
}
.achieveDetailBoxTabMenuBoxBA_list li p{
  position: absolute;
  background: #212121;
  top: 0rem;
  width: 100%;
  clip-path: polygon(0 70%, 30% 0%, 0% 0%);
  padding: 5rem;
}
.achieveDetailBoxTabMenuBoxBA_list li p span {
  position: absolute;
  color: #FFFFFF;
  -webkit-transform: rotate(329deg);
  transform: rotate(329deg);
  display: block;
  left: -0.3rem;
  top: 0.8rem;
  text-align: center;
  width: 8rem;
  font-size: 2rem;
}

.achieveDetailBoxTabMenuBoxBA_list .slick-prev {
  left: -1.5rem;
  width: 3rem;
  height: 3rem;
 
}
.achieveDetailBoxTabMenuBoxBA_list .slick-prev:before {
  content: '';
  background: url(../../src/img/slick_prev_off.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  width: 3rem;
  height: 3rem;
  display: block;
}
.achieveDetailBoxTabMenuBoxBA_list .slick-prev:hover:before{
  background: url(../../src/img/slick_prev_on.svg) 0 0 no-repeat;
  background-size: 100% 100%;
}
.achieveDetailBoxTabMenuBoxBA_list .slick-next {
  right: -1.5rem;
  width: 3rem;
  height: 3rem;

}
.achieveDetailBoxTabMenuBoxBA_list .slick-next:before {
  content: '';
  background: url(../../src/img/slick_next_off.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  width: 3rem;
  height: 3rem;
  display: block;
}
.achieveDetailBoxTabMenuBoxBA_list .slick-next:hover:before{
  background: url(../../src/img/slick_next_on.svg) 0 0 no-repeat;
  background-size: 100% 100%;
}
.achieveDetailBoxTabMenuBoxBA_list .slick-disabled{
  display: none!important;
}

.achieveDetailBoxTabMenuBoxBA_list div {
    width: 100%;
    height: 22.8rem;
    position: relative;
    overflow: hidden;
    display: block;
}
.achieveDetailBoxTabMenuBoxBA_list div img {
    position: absolute;
    object-fit: cover;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin: auto;
}
.achieveDetailBoxTabMenuBoxCUS{
  width: 100%;
  margin: 0 auto;
  padding-bottom: 4rem;
}
.achieveDetailBoxTabMenuBoxCUS_img{
  margin-bottom: 3rem;
}
.achieveDetailBoxTabMenuBoxCUS_ttl{
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 1rem;
  line-height: 1.6;
}
.achieveDetailBoxTabMenuBoxBtn{
  display: flex;
  justify-content: center;
}
}
/*-----------------------------------------------------------

NEWS

-------------------------------------------------------------*/
.newsBox{
  width: 70%;
  margin: 4rem auto 6rem;
}
.newsList{
  margin-bottom: 5rem;
}
.newsList_item{
  border-bottom: 1px solid #707070;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
}
.newsList_itemLink{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.newsList_itemLink_date{
  width: 12%;
}
.newsList_itemLink_ttl{
  width: 88%;
  font-weight: 700;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.newsBox{
  width: 85%;
  margin: 4rem auto 6rem;
}
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.newsBox{
  width: 80%;
  margin: 4rem auto 6rem;
}
.newsList{
  margin-bottom: 5rem;
}
.newsList_item{
  border-bottom: 1px solid #707070;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
}
.newsList_itemLink{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.newsList_itemLink_date{
  width: 30%;
}
.newsList_itemLink_ttl{
  width: 70%;
  font-weight: 700;
}
}
/*-----------------------------------------------------------

NEWS DETAIL

-------------------------------------------------------------*/
.newsDetailBox{
  width: 55%;
  margin: 4rem auto 8rem;
}
.newsDetailBoxTop{
  border-bottom: 1px solid #707070;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
}
.newsDetailBoxTop_date{
  font-size: 1.6rem;
}
.newsDetailBoxTop_ttl{
  font-size: 2.5rem;
  font-weight: 700;
}
.newsDetailBoxContent{
  margin-bottom: 6rem;
}
.newsDetailBoxContent p{
  margin-bottom: 2rem;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.newsDetailBox{
  width: 85%;
  margin: 4rem auto 8rem;
}
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.newsDetailBox{
  width: 80%;
  margin: 4rem auto 8rem;
}
.newsDetailBoxTop{
  border-bottom: 1px solid #707070;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
}
.newsDetailBoxTop_date{
  font-size: 1.6rem;
}
.newsDetailBoxTop_ttl{
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.6;
}
.newsDetailBoxContent{
  margin-bottom: 6rem;
}
.newsDetailBoxContent p{
  margin-bottom: 2rem;
}
}
/*-----------------------------------------------------------

FAQ

-------------------------------------------------------------*/
.mainContentSubFaq{
  background: #F2F2F2;
}
.faqBoxWrap{
  padding-bottom: 6rem;
}
.faqBox{
  padding: 4rem 0 2rem;
}
.faqBoxInner{
  width: 80%;
  margin: 0 auto;
}
.faqBoxInner_ttl{
  display: flex;
  align-items: center;
  border-bottom: 1px solid #707070;
  padding-bottom: 1.5rem;
  margin-bottom: 4rem;
  line-height: 1;
}
.faqBoxInner_ttl_en{
  font-size: 3rem;
  margin-right: 2rem;
}
.faqBoxInner_ttl_jp{
  font-size: 1.6rem;
}
.faqList{
  margin-bottom: 4rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.faqList::after {
    content: "";
    display:block;
    width:28%;
}
.faqList_item{
  width: 28%;
}
.faqList_item h3{
  font-weight: 700;
  position: relative;
  line-height: 1.6;
  padding: 1.5rem;
  padding-top: 3rem;
  font-size: 1.6rem;
  margin-bottom: 2rem;
  min-height: 9.5rem;
}
.faqList_item h3:before{
  content: "Q";
  font-family: 'Oswald', sans-serif;
  position: absolute;
  color: #E3E3E3;
  font-size: 8.5rem;
  top: 0;
  left: 0;
  line-height: 1;
  font-weight: 400;
}
.faqList_item h3 span{
  position: relative;
}
.faqList_item div{
  position: relative;
  line-height: 1.6;
  padding: 4rem 1.5rem;
  font-size: 1.6rem;
  margin-bottom: 2rem;
  background: #fff;
}
.faqList_item div:before{
  content: "A";
  font-family: 'Oswald', sans-serif;
  position: absolute;
  color: #E3E3E3;
  font-size: 8.5rem;
  top: 0;
  left: 0.6rem;
  line-height: 1;
  font-weight: 400;
}
.faqList_item div span{
  position: relative;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.faqBoxInner {
  width: 85%;
  margin: 0 auto;
}
.faqList_item {
  width: 100%;
}
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.mainContentSubFaq{
  background: #F2F2F2;
}
.faqBoxWrap{
  padding-bottom: 6rem;
}
.faqBox{
  padding: 4rem 0 2rem;
}
.faqBoxInner{
  width: 80%;
  margin: 0 auto;
}
.faqBoxInner_ttl{
  display: flex;
  align-items: center;
  border-bottom: 1px solid #707070;
  padding-bottom: 1.5rem;
  margin-bottom: 4rem;
  line-height: 1;
}
.faqBoxInner_ttl_en{
  font-size: 3rem;
  margin-right: 2rem;
}
.faqBoxInner_ttl_jp{
  font-size: 1.6rem;
}
.faqList{
  margin-bottom: 0rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.faqList_item{
  width: 100%;
  margin-bottom: 2rem;
}
.faqList_item h3{
  font-weight: 700;
  position: relative;
  line-height: 1.6;
  padding: 1.5rem;
  padding-top: 3rem;
  font-size: 1.6rem;
  margin-bottom: 2rem;
}
.faqList_item h3:before{
  content: "Q";
  font-family: 'Oswald', sans-serif;
  position: absolute;
  color: #E3E3E3;
  font-size: 8.5rem;
  top: 0;
  left: 0;
  line-height: 1;
  font-weight: 400;
}
.faqList_item h3 span{
  position: relative;
}
.faqList_item div{
  position: relative;
  line-height: 1.6;
  padding: 3rem 1.5rem 2rem;
  font-size: 1.6rem;
  margin-bottom: 2rem;
  background: #fff;
}
.faqList_item div:before{
  content: "A";
  font-family: 'Oswald', sans-serif;
  position: absolute;
  color: #E3E3E3;
  font-size: 8.5rem;
  top: 0;
  left: 0.6rem;
  line-height: 1;
  font-weight: 400;
}
.faqList_item div span{
  position: relative;
}
}
/*-----------------------------------------------------------

COLUMN

-------------------------------------------------------------*/
.columnList{
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}
.columnList::after {
  content: "";
  display:block;
  width:32%;
}
.columnList_item{
  width: 32%;
  margin-bottom: 4rem;
  
}
.columnList_itemLink{
  position: relative;
  padding: 2rem;
  background: #F5F5F5;
  display: block;
  height: 100%;
}
.columnList_itemLinkCat{
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  z-index: 1;
}
.columnList_itemLinkCat li{
  background: #212121;
  color: #fff;
  line-height: 1;
  padding: 0.6rem;
  font-size: 1.2rem;
  margin-right: 1px;
}
.columnList_itemLinkImg {
    width: 100%;
    height: 21.8rem;
    position: relative;
    overflow: hidden;
    display: block;
    margin-bottom: 1rem;
}
.columnList_itemLinkImg img {
    position: absolute;
    object-fit: cover;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin: auto;
}
.columnList_itemLinkDate{

}
.columnList_itemLinkTtl{
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.columnList_itemLinkImg {
  width: 100%;
  height: 14.8rem;
  position: relative;
  overflow: hidden;
  display: block;
  margin-bottom: 1rem;
}
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.columnList{
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}
.columnList::after {
  content: "";
  display:block;
  width:100%;
}
.columnList_item{
  width: 100%;
  margin-bottom: 4rem;
  
}
.columnList_itemLink{
  position: relative;
  padding: 2rem;
  background: #F5F5F5;
  display: block;
  height: 100%;
}
.columnList_itemLinkCat{
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  z-index: 1;
}
.columnList_itemLinkCat li{
  background: #212121;
  color: #fff;
  line-height: 1;
  padding: 0.6rem;
  font-size: 1.2rem;
  margin-right: 1px;
}
.columnList_itemLinkImg {
    width: 100%;
    height: 21.8rem;
    position: relative;
    overflow: hidden;
    display: block;
    margin-bottom: 1rem;
}
.columnList_itemLinkImg img {
    position: absolute;
    object-fit: cover;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin: auto;
}
.columnList_itemLinkDate{

}
.columnList_itemLinkTtl{
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}
}
/*-----------------------------------------------------------

COLUMN DEATIL

-------------------------------------------------------------*/
.columnDetailWrap{
  width: 80%;
  margin: 4rem auto 8rem;
  display: flex;
  justify-content: space-between;
}
.columnDetailContent{
  width: 68%;
}
.columnDetailContentTop{
  padding-bottom: 1rem;
  margin-bottom: 3rem;
  border-bottom: 1px solid #707070;
}
.columnDetailContentTopCat{
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.columnDetailContentTopCat li {
  background: #212121;
  color: #fff;
  line-height: 1;
  padding: 0.6rem;
  font-size: 1.2rem;
  margin-right: 1px;
}
.columnDetailContentTopDate{
  font-size: 1.6rem;
}
.columnDetailContentTopTtl{
  font-size: 2.5rem;
  font-weight: 700;
}
.columnDetailContentBody{
  margin-bottom: 6rem;
}
.columnDetailContentBody img{
  margin-bottom: 2rem;
}
.columnDetailContentBody p{
  margin-bottom: 4rem;
}
.columnDetailSide{
  width: 28%;
  padding-top: 8.5rem;
}
.columnDetailSide_ttl{
  padding-bottom: 1rem;
  margin-bottom: 3rem;
  border-bottom: 1px solid #707070;
  font-weight: 700;
}
.columnDetailSide .columnList_item{
  width: 100%;
}
.columnDetailSide .columnList_itemLinkImg{
  height: 18rem;
}
.columnDetailSide .columnList_itemLinkDate{
  font-size: 1.2rem;
}
.columnDetailSide .columnList_itemLinkTtl{
  font-size: 1.6rem;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.columnDetailWrap {
  width: 90%;
  margin: 4rem auto 8rem;
  display: flex;
  justify-content: space-between;
}
.columnDetailSide .columnList_itemLinkImg {
  height: 13rem;
}
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.columnDetailWrap{
  width: 80%;
  margin: 4rem auto 4rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.columnDetailContent{
  width: 100%;
  margin-bottom: 4rem;
}
.columnDetailContentTop{
  padding-bottom: 1rem;
  margin-bottom: 3rem;
  border-bottom: 1px solid #707070;
}
.columnDetailContentTopCat{
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.columnDetailContentTopCat li {
  background: #212121;
  color: #fff;
  line-height: 1;
  padding: 0.6rem;
  font-size: 1.2rem;
  margin-right: 1px;
}
.columnDetailContentTopDate{
  font-size: 1.6rem;
}
.columnDetailContentTopTtl{
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.6;
}
.columnDetailContentBody{
  margin-bottom: 6rem;
}
.columnDetailContentBody img{
  margin-bottom: 2rem;
}
.columnDetailContentBody p{
  margin-bottom: 4rem;
}
.columnDetailSide{
  width: 100%;
  padding-top: 2.5rem;
}
.columnDetailSide_ttl{
  padding-bottom: 1rem;
  margin-bottom: 3rem;
  border-bottom: 1px solid #707070;
  font-weight: 700;
}
.columnDetailSide .columnList_item{
  width: 100%;
}
.columnDetailSide .columnList_itemLinkImg{
  height: 18rem;
}
.columnDetailSide .columnList_itemLinkDate{
  font-size: 1.6rem;
}
.columnDetailSide .columnList_itemLinkTtl{
  font-size: 1.6rem;
}
}
/*-----------------------------------------------------------

PRODUCT

-------------------------------------------------------------*/
.productListBox{
  width: 80%;
  margin: 6rem auto 8rem;

}
.productSelect{
  width: 48%;
  margin-bottom: 2rem;
  display: flex;
  align-items: center;
  border: 1px solid #707070;
}
.productSelect select{
   width: 100%;
  background: #fff url(../../src/img/search_arrow.svg) 96% center no-repeat;
  background-size: 1.4rem;
  padding: 1rem 2rem;
  border: none;
  -webkit-appearance: none;
  color: #656565;
  font-size: 1.6rem;
}
.productList{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.productList::after {
    content: "";
    display:block;
    width:22%;
}
.productList::before { 
    content: ""; 
    display:block; 
    width:22%;
    order: 1;
}
.productList_item{
  width: 22%;
  margin-bottom: 4rem;
}

.productList_itemLink{
  display: block;
}
.productList_itemLinkImg {
    width: 100%;
    height: 21.8rem;
    position: relative;
    overflow: hidden;
    display: block;
    margin-bottom: 1rem;
}
.productList_itemLinkImg img {
    position: absolute;
    object-fit: cover;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin: auto;
}
.productList_itemLinkCat{
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 0.4rem;
}
.productList_itemLinkCat li {
  background: #212121;
  color: #fff;
  line-height: 1;
  padding: 0.6rem;
  font-size: 1.2rem;
  margin-right: 1px;
  margin-bottom: 1px;
}
.productList_itemLinkTtl{
  font-size: 1.6rem;
  font-weight: 700;
}
.productList_itemLinkPrice{
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.productListBox {
  width: 90%;
  margin: 6rem auto 8rem;
}
.productList::after {
    content: "";
    display:block;
    width:31%;
}
.productList::before { 
    content: ""; 
    display:block; 
    width:22%;
    order: 1;
    display: none;
}
.productList_item {
  width: 31%;
  margin-bottom: 4rem;
}
.productList_itemLinkImg {
  width: 100%;
  height: 17.8rem;
  position: relative;
  overflow: hidden;
  display: block;
  margin-bottom: 1rem;
}
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.productListBox{
  width: 80%;
  margin: 3rem auto 8rem;

}
.productSelect{
  width: 100%;
  margin-bottom: 2rem;
  display: flex;
  align-items: center;
  border: 1px solid #707070;
}
.productSelect select{
   width: 100%;
  background: #fff url(../../src/img/search_arrow.svg) 96% center no-repeat;
  background-size: 1.4rem;
  padding: 1rem 2rem;
  border: none;
  -webkit-appearance: none;
  color: #656565;
  font-size: 1.6rem;
}
.achievementBoxCntProduct .achievementBoxCntNum{
  width: 100%;
}
.productList{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.productList::after {
    content: "";
    display:block;
    width:45%;
}
.productList::before { 
    content: ""; 
    display:block; 
    width:45%;
    order: 1;
}
.productList_item{
  width: 45%;
  margin-bottom: 2rem;
}

.productList_itemLink{
  display: block;
}
.productList_itemLinkImg {
    width: 100%;
    height: 14.8rem;
    position: relative;
    overflow: hidden;
    display: block;
    margin-bottom: 1rem;
}
.productList_itemLinkImg img {
    position: absolute;
    object-fit: cover;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin: auto;
}
.productList_itemLinkCat{
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 0.4rem;
}
.productList_itemLinkCat li {
  background: #212121;
  color: #fff;
  line-height: 1;
  padding: 0.6rem;
  font-size: 1.2rem;
  margin-right: 1px;
}
.productList_itemLinkTtl{
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
}
.productList_itemLinkPrice{
  font-size: 1.6rem;
  font-weight: 700;
}

.fixBtnWc{
  background: #212121;
  width: 100%;
  padding: 1.5rem 2.5rem 1rem;
  position: fixed;
  bottom: 0;
  z-index: 10;
}
.fixBtnWcList{
  display: flex;
  justify-content: space-between;
}
.fixBtnWcList_item{
  width: 8rem;
}
.fixBtnWcList_item a{
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #fff;
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1;
  white-space: nowrap;
}
.fixBtnWcList_item a div{
  width: 3.8;
}
.fixBtnWcListIn{
  width: 55%;
  display: flex;
  justify-content: space-between;
}
.fixBtnWcListIn_item{
  width: auto;
}
.fixBtnWcListIn_item a{
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #fff;
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1;
  white-space: nowrap;
}
.fixBtnWcListIn_item a div{
  width: 3.8;
}
.fixBtnWcListIn_itemCart{
  position: relative;

}
.fixBtnWcListIn_itemCart a span{
  width: 2rem;
  height: 2rem;
  position: absolute;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  top: -0.8rem;
  right: -0rem;
  font-size: 1rem;
  color: #000;
}
}
/*-----------------------------------------------------------

PRODUCT DETAIL

-------------------------------------------------------------*/
.productDetailBox{
  width: 80%;
  margin: 4rem auto 8rem;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
.productDetailBoxImg{
  width: 50%;
}
.productDetailBoxImgSlide{
  margin-bottom: 1.2rem;
}
.productDetailBoxImgSlide li{
  height: 50rem;
  text-align: center;
}
.productDetailBoxImgSlide li img{
  height: 100%;
  display: inline-block;
  width: auto;
  object-fit: none;
}
.productDetailBoxImgNav .slick-list {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
}

.productDetailBoxImgNav .slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: flex;
  margin-left: auto;
  margin-right: auto;
  flex-wrap: wrap;
  width: 100%!important;
  transform: unset!important;
  justify-content: space-between;
}
.productDetailBoxImgNav .slick-track::after {
    content: "";
    display:block;
    width:23%;
}
.productDetailBoxImgNav .slick-track::before { 
    content: ""; 
    display:block; 
    width:23%;
    order: 1;
}

.productDetailBoxImgNav .slick-slide {
  display: none;
  float: left;
  height: 100%;
  width: 23%!important;
  min-height: 1px;
  margin-bottom: 1.2rem;
  cursor: pointer;
}
.productDetailBoxImgNav li:not(.slick-current) div{
  background: #000;
  display: block;
}
.productDetailBoxImgNav li:not(.slick-current) div img{
  opacity: 0.4;
  transition: all 300ms ease;
}
.productDetailBoxImgNav .slick-slide div {
    width: 100%;
    height: 8rem;
    position: relative;
    overflow: hidden;
    display: block;
}
.productDetailBoxImgNav .slick-slide div img {
    position: absolute;
    object-fit: cover;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin: auto;
}
.productDetailBoxShop{
  width: 46%;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
.productDetailBoxShopTopCat{
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.productDetailBoxShopTopCat li {
  background: #212121;
  color: #fff;
  line-height: 1;
  padding: 0.6rem;
  font-size: 1.2rem;
  margin-right: 1px;
}
.productDetailBoxShopTopTtl{
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 0.6rem;
}
.productDetailBoxShopTopIntro{
  font-size: 1.6rem;
  margin-bottom: 4rem;
}
.productDetailBoxShopTopIntro a{
  color: #66D0E3;
}
.productDetailBoxShopBtm{
  padding-bottom: 6rem;
}
.productDetailBoxShopBtmPrice{
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 2rem;
}
.productDetailBoxShopBtmPriceNum{
  font-size: 3rem;
}
.productOptionBox{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 1rem;
}
.productOptionBox dt{
  margin-right: 1rem;
}
.productOptionBox dd {
  margin-right: 2rem;
}
.productOptionBox dd select {
  width: 100%;
  background: #fff url(../../src/img/search_arrow.svg) 90% center no-repeat;
  background-size: 1rem;
  padding: 0.4rem 1rem;
  padding-right: 4rem;
  border: 1px solid #707070;
  -webkit-appearance: none;
  color: #212121;
  font-size: 1.6rem;
  text-align: center;
}
.productDetailBoxShopBtmCart{
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.productDetailBoxShopBtmInput{
  width: 22%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-right: 2rem;
}
.productDetailBoxShopBtmInput p{
  margin-right: 1rem;
  white-space: nowrap;
}
.productDetailBoxShopBtmInput select {
  width: 100%;
  background: #fff url(../../src/img/search_arrow.svg) 90% center no-repeat;
  background-size: 1rem;
  padding: 0.4rem 1rem;
  padding-right: 2rem;
  border: 1px solid #707070;
  -webkit-appearance: none;
  color: #212121;
  font-size: 1.6rem;
  text-align: center;
}
.productDetailBoxShopBtmbtn{

}
.productDetailBoxShopBtmbtn input{
  width: 22rem;
  display: block;
  padding: 1rem 0;
  border-radius: 50px;
  background: #212121;
  color: #fff;
  text-align: center;
  line-height: 1;
  transition: ease .2s;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  height: 4rem;
  -webkit-appearance: none;
}
.productDetailBoxShopBtmbtn input:hover{
  opacity: 0.5;
}
.productDetailBoxDetail {
  width: 80%;
  margin: 0rem auto 8rem;
}
.productDetailBoxDetailWrap{
  display: flex;
  justify-content: space-between;
  margin-bottom: 6rem;
}
.productDetailBoxDetailL{
  width: 13%;
  padding-top: 2rem;
}
.productDetailBoxDetailL_ttl{
  display: flex;
  flex-direction: column;
  margin-bottom: 3rem;
  line-height: 1;
}
.productDetailBoxDetailL_ttl_en{
  font-size: 5rem;
  margin-bottom: 1.5rem;
}
.productDetailBoxDetailL_ttl_jp{
  font-size: 1.6rem;
}
.productDetailBoxDetailR{
  width: 82%;
}
.productDetailBoxDetailRList{
  border-top: 1px solid #707070;
}
.productDetailBoxDetailRList_item{
  padding: 2rem 0;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #707070;
}
.productDetailBoxDetailRList_itemL{
  width: 13%;
  font-weight: 700;
}
.productDetailBoxDetailRList_itemR{
  width: 87%;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.productDetailBox {
  width: 90%;
  margin: 4rem auto 2rem;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
.productDetailBoxShopBtm {
  padding-bottom: 0;
}
.productOptionBox {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}
.productOptionBox dt {
  margin-right: 1rem;
  width: 40%;
  text-align: right;
  margin-bottom: 1rem;
}
.productOptionBox dd{
  width: 50%;
  margin-right: 0;
  margin-bottom: 1rem;
}
.productDetailBoxShopBtmInput {
  width: 29%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-right: 2rem;
}
.productDetailBoxShopBtmbtn input{
  width: 22rem;
  display: block;
  padding: 1rem 0;
  border-radius: 50px;
  background: #212121;
  color: #fff;
  text-align: center;
  line-height: 1;
  transition: ease .2s;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  height: 4rem;
}
.productDetailBoxDetail {
  width: 90%;
  margin: 0rem auto 8rem;
}
.productDetailBoxDetailWrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: 6rem;
  flex-wrap: wrap;
}
.productDetailBoxDetailL {
  width: 100%;
  padding-top: 2rem;
  margin-bottom: 2rem;
}
.productDetailBoxDetailR {
  width: 100%;
}

}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.productDetailBox{
  width: 85%;
  margin: 4rem auto 2rem;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}
.productDetailBoxImg{
  width: 100%;
}
.productDetailBoxImgSlide{
  margin-bottom: 1.2rem;
}
.productDetailBoxImgSlide li{
  height: 30rem;
  text-align: center;
}
.productDetailBoxImgSlide li img{
  height: 100%;
  display: inline-block;
  width: auto;
  object-fit: none;
}
.productDetailBoxImgNav .slick-list {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
}

.productDetailBoxImgNav .slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: flex;
  margin-left: auto;
  margin-right: auto;
  flex-wrap: wrap;
  width: 100%!important;
  transform: unset!important;
  justify-content: space-between;
}
.productDetailBoxImgNav .slick-track::after {
    content: "";
    display:block;
    width:23%;
}
.productDetailBoxImgNav .slick-track::before { 
    content: ""; 
    display:block; 
    width:23%;
    order: 1;
}

.productDetailBoxImgNav .slick-slide {
  display: none;
  float: left;
  height: 100%;
  width: 23%!important;
  min-height: 1px;
  margin-bottom: 1.2rem;
  cursor: pointer;
}
.productDetailBoxImgNav li:not(.slick-current) div{
  background: #000;
  display: block;
}
.productDetailBoxImgNav li:not(.slick-current) div img{
  opacity: 0.4;
  transition: all 300ms ease;
}
.productDetailBoxImgNav .slick-slide div {
    width: 100%;
    height: 6rem;
    position: relative;
    overflow: hidden;
    display: block;
}
.productDetailBoxImgNav .slick-slide div img {
    position: absolute;
    object-fit: cover;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin: auto;
}
.productDetailBoxShop{
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
.productDetailBoxShopTopCat{
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.productDetailBoxShopTopCat li {
  background: #212121;
  color: #fff;
  line-height: 1;
  padding: 0.6rem;
  font-size: 1.2rem;
  margin-right: 1px;
}
.productDetailBoxShopTopTtl{
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 0.6rem;
}
.productDetailBoxShopTopIntro{
  font-size: 1.6rem;
  margin-bottom: 4rem;
}

.productDetailBoxShopBtm{
  padding:1rem 3rem;
  width: 100%;
  position: fixed;
  bottom: 7.5rem;
  left: 0;
  background: #ffffffd1;
  z-index: 9;
}
.productDetailBoxShopBtmPrice{
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 2rem;
}
.productDetailBoxShopBtmPriceNum{
  font-size: 3rem;
}
.productOptionBox{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 1rem;
  font-size: 1.2rem;
}
.productOptionBox dt{
  margin-right: 1rem;
}
.productOptionBox dd{
  margin-right: 2rem;
}
.productOptionBox dd select {
  width: 100%;
  background: #fff url(../../src/img/search_arrow.svg) 90% center no-repeat;
  background-size: 1rem;
  padding: 0.4rem 1rem;
  padding-right: 4rem;
  border: 1px solid #707070;
  -webkit-appearance: none;
  color: #212121;
  font-size: 1.2rem;
  text-align: center;
}
.productDetailBoxShopBtmCart{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.productDetailBoxShopBtmInput{
  width: 30%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-right: 2rem;
}
.productDetailBoxShopBtmInput p{
  margin-right: 1rem;
  white-space: nowrap;
}
.productDetailBoxShopBtmInput select {
  width: 100%;
  background: #fff url(../../src/img/search_arrow.svg) 90% center no-repeat;
  background-size: 1rem;
  padding: 0.4rem 1rem;
  padding-right: 2rem;
  border: 1px solid #707070;
  -webkit-appearance: none;
  color: #212121;
  font-size: 1.6rem;
  text-align: center;
}
.productDetailBoxShopBtmbtn{

}
.productDetailBoxShopBtmbtn input{
  width: 22rem;
  display: block;
  padding: 0.3rem 0;
  border-radius: 50px;
  background: #212121;
  color: #fff;
  text-align: center;
  line-height: 2;
  font-size: 1.6rem;
  transition: ease .2s;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  height: auto;
}
.productDetailBoxShopBtmbtn input:hover{
  opacity: 0.5;
}
.productDetailBoxDetail {
  width: 80%;
  margin: 0rem auto 8rem;
}
.productDetailBoxDetailWrap{
  display: flex;
  justify-content: space-between;
  margin-bottom: 6rem;
  flex-wrap: wrap;
}
.productDetailBoxDetailL{
  width: 100%;
  padding-top: 2rem;
}
.productDetailBoxDetailL_ttl{
  display: flex;
  flex-direction: column;
  margin-bottom: 3rem;
  line-height: 1;
}
.productDetailBoxDetailL_ttl_en{
  font-size: 5rem;
  margin-bottom: 1.5rem;
}
.productDetailBoxDetailL_ttl_jp{
  font-size: 1.6rem;
}
.productDetailBoxDetailR{
  width: 100%;
}
.productDetailBoxDetailRList{
  border-top: 1px solid #707070;
}
.productDetailBoxDetailRList_item{
  padding: 2rem 0;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #707070;
  flex-wrap: wrap;
}
.productDetailBoxDetailRList_itemL{
  width: 100%;
  font-weight: 700;
  margin-bottom: 1rem;
}
.productDetailBoxDetailRList_itemR{
  width: 100%;
}
}
/*-----------------------------------------------------------

CART

-------------------------------------------------------------*/
.cartBox{
  
}
.cartBoxInner{
  width: 80%;
  margin: 0 auto 8rem;
}
.wc_ttl{
  font-size: 2.5rem;
  font-weight: 700;
  padding-bottom: 1rem;
  margin-bottom: 3rem;
  border-bottom: 1px solid #383838;
}
.wc_currentlist{
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  margin-bottom: 2rem;
  width: 100%;
  overflow: hidden;
  border-right: 1px solid #383838;
}
.wc_currentlist li{
  background: url(../../src/img/wc_current.png) 0 0 no-repeat;
  background-size: 100% 100%;
  width: 100%;
  margin-right: -2rem;
  padding: 2.5rem 0;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: stretch;
  line-height: 1;
}
.wc_currentlist li.on{
  background: url(../../src/img/wc_current_on.png) 0 0 no-repeat;
  background-size: 100% 100%;
}
.wc_currentlist li span{
  color: #212121;
}
.wc_currentlist li.on span{
  color: #fff;
}
.cartChange{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-bottom:2rem;
}
.cartChange_txt{
  margin-right: 1rem;
}
.cartChange_btn {
  position: relative;
  width: 14rem;
}
.cartChange_btn input {
  -webkit-appearance: none;
  cursor: pointer;
  width: 100%;
  display: block;
  background: #212121;
  border: none;
  text-align: center;
  padding: 0.6rem 0;
  color: #fff;
  position: relative;
  border-radius: 40px;
}
.cartChange_btn:hover {
    opacity: 0.6;
}
.cartTable{
  width: 100%;
  margin-bottom: 2rem;
}
.cartTable td{
  border: 1px solid #383838;
  vertical-align: middle;
}
.tdpt_01{
  background: #F2F2F2;
  padding: 1rem;
  text-align: center;
}
.td01_01{
  width: 5%;
}
.td01_02{
  width: 15%;
}
.td01_03{
  width: 30%;
}
.td01_04{
  width: 8%;
}
.td01_05{
  width: 8%;
}
.td01_06{
  width: 10%;
}
.td01_07{
  width: 10%;
}
.td01_08{
  width: 10%;
}
.tdpt_02{
  text-align: center;
  padding: 1rem;
}
.num{
  text-align: center;
}
.thumbnail a {
  width: 100%;
  height: 9.8rem;
  position: relative;
  overflow: hidden;
  display: block;
}
.thumbnail a img {
  position: absolute;
  object-fit: cover;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  margin: auto;
}
.productname{
  text-align: left;
  font-weight: 700;
}
.unitprice{
  text-align: center;
}
.quantity input{
  background: #fff;
  padding: 1rem;
  width: 100%;
  -webkit-appearance: none;
  color: #212121;
  border: 1px solid #707070;
}
.subtotal{
  text-align: center;
}
.stock{
  text-align: center;
}
.action input {
  -webkit-appearance: none;
  cursor: pointer;
  width: 100%;
  display: block;
  background: #212121;
  border: none;
  text-align: center;
  padding: 0.6rem 0;
  color: #fff;
  position: relative;
  border-radius: 40px;
}
.action:hover {
    opacity: 0.6;
}
.td03_01{
  background: #F2F2F2;
  padding: 1rem;
  text-align: center;
  text-align: right;
}
.wc_btnListBox{
  display: flex;
  justify-content: flex-end;
}
.wc_btnList{
  display: flex;
  flex-direction: column;
}
.wc_btnList_item01{
  width: 24rem;
  margin-bottom: 2rem;
}
.wc_btnList_item01 input {
  -webkit-appearance: none;
  cursor: pointer;
  width: 100%;
  display: block;
  background: #212121;
  border: none;
  text-align: center;
  padding: 1rem 0;
  color: #fff;
  position: relative;
  border-radius: 40px;
}
.wc_btnList_item01:hover {
    opacity: 0.6;
}
.wc_btnList_item02{
  width: 24rem;
}
.wc_btnList_item02 input {
  -webkit-appearance: none;
  cursor: pointer;
  width: 100%;
  display: block;
  background: #808080;
  border: none;
  text-align: center;
  padding: 1rem 0;
  color: #fff;
  position: relative;
  border-radius: 40px;
}
.wc_btnList_item02:hover {
    opacity: 0.6;
}
.wc_btnListBoxCenter{
  justify-content: center;
  margin-top: 4rem;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.cartBoxInner {
  width: 90%;
  margin: 0 auto 8rem;
}
.cartTable td {
  border: 1px solid #383838;
  vertical-align: middle;
  font-size: 1.2rem;
}
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.cartBox{
  
}
.cartBoxInner{
  width: 100%;
  margin: 0 auto 8rem;
}
.wc_ttl{
  font-size: 2.5rem;
  font-weight: 700;
  padding-bottom: 1rem;
  margin-bottom: 3rem;
  border-bottom: none;
  width: 85%;
  margin: 0 auto 0rem;
}
.wc_currentlist{
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  margin-bottom: 2rem;
  width: 100%;
  overflow: hidden;
  border-right: 1px solid #383838;
}
.wc_currentlist li{
  background: url(../../src/img/sp/wc_current@2x.png) 0 0 no-repeat;
  background-size: 100% 100%;
  width: 100%;
  margin-right: -1rem;
  padding: 2rem 0;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.3;
  text-align: center;
}
.wc_currentlist li.on{
  background: url(../../src/img/sp/wc_current_on@2x.png) 0 0 no-repeat;
  background-size: 100% 100%;
}
.wc_currentlist li span{
  color: #212121;
}
.wc_currentlist li.on span{
  color: #fff;
}
.cartChange{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom:2rem;
  width: 85%;
  margin: 0 auto 2rem;
}
.cartChange_txt{
  margin-right: 1rem;
  line-height: 1.4;
}
.cartChange_btn {
  position: relative;
  width: 10rem;
}
.cartChange_btn input {
  -webkit-appearance: none;
  cursor: pointer;
  width: 100%;
  display: block;
  background: #212121;
  border: none;
  text-align: center;
  padding: 0.6rem 0;
  color: #fff;
  position: relative;
  border-radius: 40px;
}
.cartChange_btn:hover {
    opacity: 0.6;
}
.cartTable{
  width: 90%;
  margin: 0 auto;
}
.cartTable tr{
  display: flow-root;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #aaa;
  clear: both;
}
.cartTable tr td{
 float: left;
 border: none;
}
.tdpt_01{
  background: #F2F2F2;
  padding: 1rem;
  text-align: center;
  display: none;
}
.tdpt_01.td03_02{
  display: block;
}
.cartTable .num {
  display: none;
}
.cartTable .thumbnail{
  width: 40%;
  height: 20rem;
}
.cartTable .thumbnail a {
  width: 100%;
  height: 13.8rem;
  position: relative;
  overflow: hidden;
  display: block;
}
.cartTable .thumbnail a img {
  position: absolute;
  object-fit: cover;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  margin: auto;
}
.cartTable .productname{
  text-align: left;
  font-weight: 700;
  width: 60%;
}
.cartTable .unitprice{
  text-align: left;
  width: 60%;
  font-size: 1.4rem;
}
.cartTable .unitprice:before{
   content: "単価:";
   margin-right: 0.4rem;
}
.cartTable .quantity {
  width: 60%;
  font-size: 1.4rem;
}
.cartTable .quantity:before{
   content: "数量:";
   margin-right: 0.4rem;
}
.cartTable .quantity input{
  background: #fff;
  padding: 0.4rem 1rem;
  width: 50%;
  -webkit-appearance: none;
  color: #212121;
  border: 1px solid #707070;
}
.cartTable .subtotal{
  text-align: left;
  width: 60%;
  font-size: 1.4rem;
}
.cartTable .subtotal:before{
   content: "金額(税込):";
   margin-right: 0.4rem;
}
.cartTable .stock{
  text-align: left;
  width: 60%;
  font-size: 1.4rem;
}
.cartTable .stock:before{
   content: "在庫状態:";
   margin-right: 0.4rem;
}
.cartTable .action{
  width: 40%;
}
.cartTable .action input {
  -webkit-appearance: none;
  cursor: pointer;
  width: 100%;
  display: block;
  background: #212121;
  border: none;
  text-align: center;
  padding: 0.6rem 0;
  color: #fff;
  position: relative;
  border-radius: 40px;
}
.cartTable .action:hover {
    opacity: 0.6;
}
.cartTable .td03_01{
  width: 60%;
  text-align: right;
}
.cartTable .td03_02{
  width: 40%;
  font-weight: 700;
}
/*.cartTableSP{
  width: 85%;
  margin: 0 auto 4rem;
}
.cartTableSP td{
  border: 1px solid #707070;
  vertical-align: top;
}
.cartTableSP_td01{
  width: 30%;
  padding: 1rem;
}
.cartTableSP_td01 a {
  width: 100%;
  height: 6.8rem;
  position: relative;
  overflow: hidden;
  display: block;
}
.cartTableSP_td01 a img {
  position: absolute;
  object-fit: cover;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  margin: auto;
}
.cartTableSP_td02{
  width: 70%;
  padding: 1.5rem;
  padding-bottom: 1rem;
}
.cartTableSP_td02_top{
  font-weight: 700;
  margin-bottom: 1rem;
}
.cartTableSP_td02_btm{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.cartTableSP_td02_btmList{
  width: 70%;
}
.cartTableSP_td02_btmList li{
  display: flex;
  align-items: center;
  font-size: 1.2rem;
  margin-bottom: 0.6rem;
}
.cartTableSP_td02_btmList li div{
  width: 40%;
}
.cartTableSP_td02_btmList li div input{
  background: #fff;
  padding: 0.5rem 1rem;
  width: 100%;
  -webkit-appearance: none;
  color: #212121;
  border: 1px solid #707070;
}
.cartTableSP_td02_btmList li p{
  font-weight: 700;
  font-size: 1.6rem;
}
.cartTableSP_td02_btmBtn{
  width: 7rem;
  margin-bottom: 2rem;
}
.cartTableSP_td02_btmBtn input {
  -webkit-appearance: none;
  cursor: pointer;
  width: 100%;
  display: block;
  background: #212121;
  border: none;
  text-align: center;
  padding: 0.6rem 0;
  color: #fff;
  position: relative;
  border-radius: 40px;
}
.cartTableSP_td02_btmBtn:hover {
    opacity: 0.6;
}
.cartTableSP_td03{
  padding: 1.5rem;
  text-align: right;
  font-size: 1.2rem;
}
.cartTableSP_td03 span{
  font-weight: 700;
  font-size: 1.6rem;
  display: inline-block;
  margin-left: 1rem;
}*/



.wc_btnListBox{
  display: flex;
  justify-content: center;
}
.wc_btnList{
  display: flex;
  flex-direction: column;
}
.wc_btnList_item01{
  width: 24rem;
  margin-bottom: 2rem;
}
.wc_btnList_item01 input {
  -webkit-appearance: none;
  cursor: pointer;
  width: 100%;
  display: block;
  background: #212121;
  border: none;
  text-align: center;
  padding: 1rem 0;
  color: #fff;
  position: relative;
  border-radius: 40px;
}
.wc_btnList_item01:hover {
    opacity: 0.6;
}
.wc_btnList_item02{
  width: 24rem;
}
.wc_btnList_item02 input {
  -webkit-appearance: none;
  cursor: pointer;
  width: 100%;
  display: block;
  background: #808080;
  border: none;
  text-align: center;
  padding: 1rem 0;
  color: #fff;
  position: relative;
  border-radius: 40px;
}
.wc_btnList_item02:hover {
    opacity: 0.6;
}
}
/*-----------------------------------------------------------

THANKS

-------------------------------------------------------------*/
.headerSubThanks .headerInner {
  background: none;
}

.punkuzThanks{
  margin-top: -12rem;
  position: relative;
  z-index: 1000;
}
.thanksBox{
  padding-top: 8rem;
}
.thanksBox_ttl{
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 2rem;
}
.thanksBox_ttl_en{
  font-size: 5rem;
  line-height: 1;
}
.thanksBox_ttl_jp{
  font-size: 2rem;
  font-weight: 700;
}
.thanksBoxTxt{
  text-align: center;
  margin-bottom: 2rem;
}
.thanksBoxTel{
  display: flex;
  justify-content: center;
  font-size: 2rem;
}
.thanksBoxImg{
  margin: 6rem 0;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.punkuzThanks {
  margin-top: -12rem;
  position: relative;
  z-index: 1000;
  width: 70%;
}
.thanksBox {
  padding-top: 11rem;
}
.thanksBoxImg {
  margin: 6rem 0 10rem;
}
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.headerSubThanks .headerInner {
  background: #fff;
}

.punkuzThanks{
  margin-top: 2rem;
  position: relative;
  z-index: 1000;
}
.thanksBox{
  padding-top: 8rem;
}
.thanksBox_ttl{
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 2rem;
}
.thanksBox_ttl_en{
  font-size: 5rem;
  line-height: 1;
}
.thanksBox_ttl_jp{
  font-size: 2rem;
  font-weight: 700;
}
.thanksBoxTxt{
  text-align: center;
  margin-bottom: 2rem;
}
.thanksBoxTel{
  display: flex;
  justify-content: center;
  font-size: 2rem;
}
.thanksBoxImg{
  margin: 6rem 0;
}
}
/*-----------------------------------------------------------

SIGN UP

-------------------------------------------------------------*/
.formSec{
  width: 45%;
  margin: 0 auto 8rem;
}
.formSecIntro{
  margin-bottom: 4rem;
}
.formSecIntro span{
  color: #FF0000;
}
.formSecList_item{
  margin-bottom: 1rem;
}
.formSecList_itemTtl{
  margin-bottom: 1rem;
}
.formSecList_itemTtl.hissu:after{
  content: "*";
  color: #FF0000;
}
.formSecList_itemInput input {
  background: #fff;
  padding: 1rem;
  width: 100%;
  -webkit-appearance: none;
  color: #212121;
  border: 1px solid #707070;
}
.formSecList_itemBirth{
  display: flex;
}
.formSecList_itemBirthYear{
  width: 25%;
  position: relative;
  padding-right: 2rem;
  margin-right: 2rem;
}
.formSecList_itemBirthYear:after{
  content:"";
   display:inline-block;
   width:1px;
   height:4rem;
   background-color:#707070;
   position:absolute;
   top:0;
   right:0px;
   transform: rotate(20deg);
}
.formSecList_itemBirthMonth{
  width: 15%;
  position: relative;
  padding-right: 2rem;
  margin-right: 2rem;
}
.formSecList_itemBirthMonth:after{
  content:"";
   display:inline-block;
   width:1px;
   height:4rem;
   background-color:#707070;
   position:absolute;
   top:0;
   right:0px;
   transform: rotate(20deg);
}
.formSecList_itemBirthDay{
  width: 15%;
  padding-right: 2rem;
  margin-right: 2rem;
}
.formSecList_itemBirth select {
  width: 100%;
  background: #fff url(../../src/img/search_arrow.svg) 93% center no-repeat;
  background-size: 1rem;
  padding: 1rem 2rem;
  border: 1px solid #707070;
  -webkit-appearance: none;
  color: #212121;
}
.formSecList_itemInputAdd{
  display: flex;
  justify-content: space-between;
}
.formSecList_itemInputAddInput{
  width: 49%;
}
.formSecList_itemInputAddInput input {
  background: #fff;
  padding: 1rem;
  width: 100%;
  -webkit-appearance: none;
  color: #212121;
  border: 1px solid #707070;
}
.formSecList_itemInputAddBtn{
  width: 49%;
}
.formSecList_itemInputAddBtn input{
  background: #212121;
  padding: 1rem;
  width: 100%;
  -webkit-appearance: none;
  color: #fff;
  border: 1px solid #212121;
  cursor: pointer;
}
.formSecList_itemCheck{
  margin: 4rem 0;
  text-align: center;
}
.formSecList_itemCheck label{
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  justify-content: center;
}
.formSecList_itemCheck input {
    margin-right: 1rem;
    -webkit-appearance: none;
    width: 2.2rem;
    height: 2.2rem;
    border: 1px solid #aaa;
    background: #fff;
    border-radius: 2px;
    padding: 0;
    line-height: 1em;
    position: relative;
}
.formSecList_itemCheck input[type=checkbox]:checked:after {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #000;
    font-size: 2.2rem;
    line-height: 1;
    position: absolute;
    width: 2.2rem;
    height: 2.2rem;
    top: 0;
    bottom: 0;
    margin: auto;
}
.formSecList_itemCheck a{
  color: #66D0E3;
}
.sendBtn {
  position: relative;
  width: 24rem;
  margin: 0 auto;
}
.sendBtn .button {
    -webkit-appearance: none;
    cursor: pointer;
    width: 100%;
    display: block;
    background: #212121;
    border: none;
    text-align: center;
    padding: 1rem 0;
    color: #fff;
    position: relative;
    border-radius: 40px;
    font-size: 1.6rem;
}
.sendBtn:hover:after {
    opacity: 0.6;
}
.button:hover{
  opacity: 0.7;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.formSec {
  width: 75%;
  margin: 0 auto 8rem;
}
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.formSec{
  width: 80%;
  margin: 0 auto 8rem;
}
.formSecIntro{
  margin-bottom: 2rem;
}
.formSecIntro span{
  color: #FF0000;
}
.formSecList_item{
  margin-bottom: 1rem;
}
.formSecList_itemTtl{
  margin-bottom: 1rem;
}
.formSecList_itemTtl.hissu:after{
  content: "*";
  color: #FF0000;
}
.formSecList_itemInput input {
  background: #fff;
  padding: 1rem;
  width: 100%;
  -webkit-appearance: none;
  color: #212121;
  border: 1px solid #707070;
}
.formSecList_itemBirth{
  display: flex;
  justify-content: space-between;
}
.formSecList_itemBirthYear{
  width: 40%;
  position: relative;
  padding-right: 2rem;
  margin-right: 2rem;
}
.formSecList_itemBirthYear:after{
  content:"";
   display:inline-block;
   width:1px;
   height:4rem;
   background-color:#707070;
   position:absolute;
   top:0;
   right:0px;
   transform: rotate(20deg);
}
.formSecList_itemBirthMonth{
  width: 28%;
  position: relative;
  padding-right: 2rem;
  margin-right: 2rem;
}
.formSecList_itemBirthMonth:after{
  content:"";
   display:inline-block;
   width:1px;
   height:4rem;
   background-color:#707070;
   position:absolute;
   top:0;
   right:0px;
   transform: rotate(20deg);
}
.formSecList_itemBirthDay{
  width: 22%;
  padding-right: 0rem;
  margin-right: 0rem;
}
.formSecList_itemBirth select {
  width: 100%;
  background: #fff url(../../src/img/search_arrow.svg) 93% center no-repeat;
  background-size: 1rem;
  padding: 1rem 2rem;
  border: 1px solid #707070;
  -webkit-appearance: none;
  color: #212121;
}
.formSecList_itemInputAdd{
  display: flex;
  justify-content: space-between;
}
.formSecList_itemInputAddInput{
  width: 49%;
}
.formSecList_itemInputAddInput input {
  background: #fff;
  padding: 1rem;
  width: 100%;
  -webkit-appearance: none;
  color: #212121;
  border: 1px solid #707070;
}
.formSecList_itemInputAddBtn{
  width: 49%;
}
.formSecList_itemInputAddBtn input{
  background: #212121;
  padding: 0.6rem 3rem;
  width: 100%;
  -webkit-appearance: none;
  color: #fff;
  border: 1px solid #212121;
  cursor: pointer;
  white-space: normal;
  line-height: 1;
}
.formSecList_itemCheck{
  margin: 4rem 0;
}
.formSecList_itemCheck label{
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  justify-content: center;
}
.formSecList_itemCheck input {
    margin-right: 1rem;
    -webkit-appearance: none;
    width: 2.2rem;
    height: 2.2rem;
    border: 1px solid #aaa;
    background: #fff;
    border-radius: 2px;
    padding: 0;
    line-height: 1em;
    position: relative;
}
.formSecList_itemCheck input[type=checkbox]:checked:after {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #000;
    font-size: 2.2rem;
    line-height: 1;
    position: absolute;
    width: 2.2rem;
    height: 2.2rem;
    top: 0;
    bottom: 0;
    margin: auto;
}
.formSecList_itemCheck a{
  color: #66D0E3;
}
.sendBtn {
  position: relative;
  width: 24rem;
  margin: 0 auto;
}
.sendBtn .button {
    -webkit-appearance: none;
    cursor: pointer;
    width: 100%;
    display: block;
    background: #212121;
    border: none;
    text-align: center;
    padding: 1rem 0;
    color: #fff;
    position: relative;
    border-radius: 40px;
}
.sendBtn:hover:after {
    opacity: 0.6;
}
.button:hover{
  opacity: 0.7;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
}
}
/*-----------------------------------------------------------

CONTACT

-------------------------------------------------------------*/
.formSecList_itemSelect select{
  width: 100%;
  background: #fff url(../../src/img/search_arrow.svg) 98% center no-repeat;
  background-size: 1rem;
  padding: 1rem 2rem;
  border: 1px solid #707070;
  -webkit-appearance: none;
  color: #212121;
}
.formSecList_itemTextArea textarea{
  background: #fff;
  padding: 1rem;
  width: 100%;
  -webkit-appearance: none;
  color: #212121;
  border: 1px solid #707070;
  height: 20rem;
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.formSecList_itemSelect select{
  width: 100%;
  background: #fff url(../../src/img/search_arrow.svg) 98% center no-repeat;
  background-size: 1rem;
  padding: 1rem 2rem;
  border: 1px solid #707070;
  -webkit-appearance: none;
  color: #212121;
}
.formSecList_itemTextArea textarea{
  background: #fff;
  padding: 1rem;
  width: 100%;
  -webkit-appearance: none;
  color: #212121;
  border: 1px solid #707070;
  height: 20rem;
}
}
/*-----------------------------------------------------------

LOGIN

-------------------------------------------------------------*/
.formSecList_itemRemember{
  margin: 0;
  margin-bottom: 3rem;
}
.formSecList_itemRemember label{
  justify-content: flex-start;
}
.forgetPw{
  text-align: center;
  color: #66D0E3;
  margin: 1rem 0 4rem;
}
.login_btn{
  width: 100%;
  margin: 0 auto 10rem;
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.formSecLogin{
  padding-top: 3rem;
}
.formSecList_itemRemember{
  margin: 0;
  margin-bottom: 3rem;
}
.formSecList_itemRemember label{
  justify-content: flex-start;
}
.forgetPw{
  text-align: center;
  color: #66D0E3;
  margin: 3rem 0 4rem;
}
.login_btn{
  width: 100%;
  margin: 0 auto 10rem;
}
}
/*-----------------------------------------------------------

GUIDE

-------------------------------------------------------------*/
.guideSecWrap{
  margin: 6rem 0 10rem;
}
.guideSec{
  width: 70%;
  margin: 0 auto 8rem;
}
.guideSec_ttl{
  font-size: 2rem;
  font-weight: 700;
  border-bottom: 1px solid #212121;
  margin-bottom: 5rem;
}
.guideSec01List{
  display: flex;
  justify-content: space-between;
}
.guideSec01List_item{
  width: 25%;
  padding-right: 1rem;
  border-right: 1px solid #E5E5E5;
  margin-right: 1rem;
}
.guideSec01List_item:last-child{
  padding-right: 0;
  margin-right: 0;
  border-right: none;
}
.guideSec01List_itemTtl{
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
  line-height: 1;
}
.guideSec01List_itemTtl_num{
  font-size: 3rem;
  font-weight: bold;
  color: #A7A7A7;
  margin-right: 1rem;
}
.guideSec01List_itemTtl_jp{
  font-size: 2.2rem;
  font-weight: 700;
}
.guideSec01List_itemTxt{
  line-height: 1.8;
}
.guideSec03_ttl{
  margin-bottom: 3rem;
}
.guideSecTable{
  margin-top: 3rem;
}
.guideSecTd01{
  width: 14%;
  background: #212121;
  border: 1px solid #707070;
  color: #fff;
  font-size: 1.4rem;
  color: #fff;
  text-align: center;
}
.guideSecTd02{
  background: #CCCCCC;
  border: 1px solid #707070;
  text-align: center;
  font-size: 1.4rem;
  padding: 1rem;
}
.guideSecTd03{
  border: 1px solid #707070;
  text-align: center;
  font-size: 1.4rem;
  padding: 1rem;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.guideSec {
  width: 85%;
  margin: 0 auto 8rem;
}
.guideSec01List {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.guideSec01List_item {
  width: 48%;
  padding-right: 2rem;
  border-right: 1px solid #E5E5E5;
  margin-right: 1rem;
  border-bottom: 1px solid #E5E5E5;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
}
.guideSec01List_item:last-child {
  padding-right: 2rem;
  border-right: 1px solid #E5E5E5;
  margin-right: 1rem;
}
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.guideSecWrap{
  margin: 6rem 0 10rem;
}
.guideSec{
  width: 80%;
  margin: 0 auto 5rem;
}
.guideSec_ttl{
  font-size: 2rem;
  font-weight: 700;
  border-bottom: 1px solid #212121;
  margin-bottom: 3rem;
}
.guideSec01List{
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
.guideSec01List_item{
  width: 100%;
  padding-right: 0rem;
  border-right: none;
  margin-right: 0rem;
  margin-bottom: 4rem;
}
.guideSec01List_item:last-child{
  padding-right: 0;
  margin-right: 0;
  border-right: none;
}
.guideSec01List_itemTtl{
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
  line-height: 1;
}
.guideSec01List_itemTtl_num{
  font-size: 3rem;
  font-weight: bold;
  color: #A7A7A7;
  margin-right: 1rem;
}
.guideSec01List_itemTtl_jp{
  font-size: 2.2rem;
  font-weight: 700;
}
.guideSec01List_itemTxt{
  line-height: 1.8;
}
.guideSec03_ttl{
  margin-bottom: 3rem;
}
.guideSecTable{
  margin-top: 3rem;
}
.guideSecTd01{
  width: 14%;
  background: #212121;
  border: 1px solid #707070;
  color: #fff;
  font-size: 1.4rem;
  color: #fff;
  text-align: center;
}
.guideSecTd02{
  background: #CCCCCC;
  border: 1px solid #707070;
  text-align: center;
  font-size: 1.4rem;
  padding: 1rem;
}
.guideSecTd03{
  border: 1px solid #707070;
  text-align: center;
  font-size: 1.4rem;
  padding: 1rem;
}

.guideSecDeliv{
  margin: 3rem 0;
}
.guideSecDeliv_item{

}
.guideSecDeliv_itemTtl{
  background: #212121;
  text-align: center;
  color: #fff;
  font-weight: 700;
  padding: 1rem 0;
  border: 1px solid #4A4A4A;
  font-size: 1.6rem;
  position: relative;
}
.guideSecDeliv_itemTtl:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.8rem 0.6rem 0 0.6rem;
  border-color: #fff transparent transparent transparent;
  position: absolute;
  left: unset;
  right: 2rem;
  margin: auto;
  bottom: 0;
  top: 0;
}
.guideSecDeliv_itemTtl.on:after {
  transform: rotate(180deg);
}
.guideSecDeliv_itemTableBox{
  display: none;
}
.guideSecDeliv_itemTable{
  width: 100%;
}
.guideSecDeliv_itemTable td{
  background: #CCCCCC;
  border: 1px solid #707070;
  text-align: center;
  font-size: 1.4rem;
  padding: 1rem;
  width: 25%;
}
.guideSecDeliv_itemTable td + td{
  background: #fff;
  width: 75%;
}
}
/*-----------------------------------------------------------

PRIVACY

-------------------------------------------------------------*/
.privacySec{
  margin: 4rem auto 6rem;
  width: 65%;
}
.privacySec p{
  margin-bottom: 2rem;
}
.privacySec h2{
  font-size: 1.6rem;
  font-weight: 700;
}
.privacySec p a{
  color: #66D0E3;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.privacySec{
  margin: 4rem auto 6rem;
  width: 85%;
}
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.privacySec{
  margin: 4rem auto 6rem;
  width: 80%;
}
.privacySec p{
  margin-bottom: 2rem;
}
.privacySec h2{
  font-size: 1.6rem;
  font-weight: 700;
}
.privacySec p a{
  color: #66D0E3;
}
}
/*-----------------------------------------------------------

NOTATION

-------------------------------------------------------------*/
.notationBox{
  width: 65%;
  margin: 6rem auto 8rem;
}
.notationBoxList{

}
.notationBoxList_item{
  margin-bottom: 5rem;
}
.notationBoxList_item h2{
  font-size: 1.6rem;
  font-weight: 700;
  border-bottom: 1px solid #212121;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}
.notationBoxList_item p{
  letter-spacing: 0;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.notationBox{
  width: 85%;
  margin: 6rem auto 8rem;
}
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.notationBox{
  width: 80%;
  margin: 6rem auto 8rem;
}
.notationBoxList{

}
.notationBoxList_item{
  margin-bottom: 4rem;
}
.notationBoxList_item h2{
  font-size: 1.6rem;
  font-weight: 700;
  border-bottom: 1px solid #212121;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}
.notationBoxList_item p{
  letter-spacing: 0;
}
}
/*-----------------------------------------------------------

SITE MAP

-------------------------------------------------------------*/
.sitemapBox{
  width: 65%;
  margin: 8rem auto;
}
.sitemapBoxInner{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  font-size: 1.6rem;
}
.sitemapBoxInnerList{
  padding-left: 2rem;
  border-left: 1px solid #212121;
}
.sitemapBoxInnerList li{
  margin-bottom: 1.5rem;
}
.sitemapBoxInnerList li a{
  display: inline-block;
  border-bottom: 1px solid #21212100;
}
.sitemapBoxInnerList li a:hover{
  border-bottom: 1px solid #212121;
}
.sitemapBoxInnerList li ul{
  /*border-left: 1px solid #212121;*/
  position: relative;
}
.sitemapBoxInnerList li ul li{
  position: relative;
  padding-left: 3rem;
}
.sitemapBoxInnerList li ul li:last-child{
  margin-bottom: 0;
}
.sitemapBoxInnerList li ul li:before {
  content: "";
  width: 2rem;
  background: #9B9B9B;
  height: 1px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.sitemapBox{
  width: 85%;
  margin: 8rem auto;
}
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.sitemapBox{
  width: 80%;
  margin: 8rem auto;
}
.sitemapBoxInner{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  font-size: 1.6rem;
  flex-wrap: wrap;
}
.sitemapBoxInnerList{
  padding-left: 2rem;
  border-left: 1px solid #212121;
  width: 100%;
}
.sitemapBoxInnerList li{
  margin-bottom: 2rem;
}
.sitemapBoxInnerList li a{
  display: inline-block;
  border-bottom: 1px solid #21212100;
}
.sitemapBoxInnerList li a:hover{
  border-bottom: 1px solid #212121;
}
.sitemapBoxInnerList li ul{
  /*border-left: 1px solid #212121;*/
  position: relative;
}
.sitemapBoxInnerList li ul li{
  position: relative;
  padding-left: 3rem;
}
.sitemapBoxInnerList li ul li:last-child{
  margin-bottom: 0;
}
.sitemapBoxInnerList li ul li:before {
  content: "";
  width: 2rem;
  background: #9B9B9B;
  height: 1px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
}
/*-----------------------------------------------------------

404

-------------------------------------------------------------*/
.nfBtn{
  display: flex;
  justify-content: center;
  margin: 8rem 0;
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.nfBtn{
  display: flex;
  justify-content: center;
  margin: 4rem 0;
}
.nfBox_ttl{
  align-items: center;
}
.nfBox_ttl .thanksBox_ttl_jp{
  text-align: center;
  line-height: 1.6;
}
}
/*-----------------------------------------------------------

OTHERS

-------------------------------------------------------------*/
.newMemberForm{
  width: 100%;
}
.newMemberForm tr{
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.newMemberForm tr th{
  width: 100%;
  text-align: left;
  margin-bottom: 1rem;
  font-weight: 400;
  padding: 0;
}
.newMemberForm tr th em{
  color: #FF0000;
}
.newMemberForm tr td{
  width: 100%;
}
.newMemberForm tr td input{
  background: #fff;
  padding: 1rem;
  width: 100%;
  -webkit-appearance: none;
  color: #212121;
  border: 1px solid #707070;
}
.newMemberForm tr td select {
  width: 100%;
  background: #fff url(../../src/img/search_arrow.svg) 93% center no-repeat;
  background-size: 1rem;
  padding: 1rem 2rem;
  border: 1px solid #707070;
  -webkit-appearance: none;
  color: #212121;
}
.newMemberForm .member_name{
  display: none;
}
.newMemberForm .member_furigana{
  display: none;
}
.newMemberForm #name_row{
  display: flex;
  justify-content: space-between;
}
.newMemberForm #name_row .name_td{
  width: 49%;
}
.newMemberForm #name_row input {
  background: #fff;
  padding: 1rem;
  width: 100%;
  -webkit-appearance: none;
  color: #212121;
  border: 1px solid #707070;
}

.newMemberForm #furikana_row{
  display: flex;
  justify-content: space-between;
}
.newMemberForm #furikana_row td{
  width: 49%;
}
.newMemberForm #furikana_row input {
  background: #fff;
  padding: 1rem;
  width: 100%;
  -webkit-appearance: none;
  color: #212121;
  border: 1px solid #707070;
}

.newMemberFormSend {
  position: relative;
  width: 24rem;
  margin: 5rem auto;
}
.newMemberFormSend input {
    -webkit-appearance: none;
    cursor: pointer;
    width: 100%;
    display: block;
    background: #212121;
    border: none;
    text-align: center;
    padding: 1rem 0;
    color: #fff;
    position: relative;
    border-radius: 40px;
    font-size: 1.6rem;
}
.error_message{
  font-size: 1.2rem;
  color: #FF0000;
  margin-bottom: 2rem;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */

}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */

}
/*-----------------------------------------------------------

WELCART

-------------------------------------------------------------*/
.wcCmnBox{
  width: 80%;
  margin: 0 auto 6rem;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
.wcCmnBox{
  width: 90%;
  margin: 0 auto 6rem;
}
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.wcCmnBox{
  width: 85%;
  margin: 0 auto 6rem;
}
}
/*-----------------------------------------------------------

MEMBER PAGE

-------------------------------------------------------------*/
#memberinfo .customer_form th {
  display: table-cell;
  width: 30%;
  padding: 2rem!important;
  background-color: #efefef;
  border: 1px solid #ccc;
  vertical-align: middle;
}
#memberinfo .customer_form td {
  display: table-cell;
  padding: 2rem!important;
}
#memberinfo .customer_form td input {
  background: #fff;
  padding: 1rem;
  width: 100%;
  -webkit-appearance: none;
  color: #212121;
  border: 1px solid #707070;
  margin: 0;
}
#memberinfo .customer_form td select {
  width: 100%;
  background: #fff url(../../src/img/search_arrow.svg) 93% center no-repeat;
  background-size: 1rem;
  padding: 1rem 2rem;
  border: 1px solid #707070;
  -webkit-appearance: none;
  color: #212121;
}
.member_name{
  display: none;
}
.member_furigana{
  display: none;
}
.history-area table .thumbnail{
  width: 15%;
}
@media screen and (max-width: 899px) and (min-width: 599px) { /* ============== TABLET LAYOUT ============== */
#memberinfo #history_head {
  font-size: 1.2rem!important;
}
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
#memberinfo .customer_form tr{
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
#memberinfo .customer_form tr th{
  width: 100%;
  text-align: left;
  margin-bottom: 1rem;
  font-weight: 400;
  padding: 0;
}
.customer_form tr {
  display: block;
  margin-bottom: 1rem;
  padding: 0 0!important;
  border-bottom: 2px solid #efefef;
}
#memberinfo .customer_form th {
  display: table-cell;
  width: 30%;
  padding: 0rem!important;
  background-color: #efefef;
  border: 1px solid #ccc;
  vertical-align: middle;
}
#memberinfo .customer_form td {
  display: table-cell;
  padding: 1rem 0rem!important;
  width: 100%;
}
#memberinfo .customer_form td input {
  background: #fff;
  padding: 1rem;
  width: 100%;
  -webkit-appearance: none;
  color: #212121;
  border: 1px solid #707070;
  margin: 0;
}
#memberinfo .customer_form td select {
  width: 100%;
  background: #fff url(../../src/img/search_arrow.svg) 93% center no-repeat;
  background-size: 1rem;
  padding: 1rem 2rem;
  border: 1px solid #707070;
  -webkit-appearance: none;
  color: #212121;
}
.member_name{
  display: none;
}
.member_furigana{
  display: none;
}
#memberinfo #name_row{
  display: flex;
  justify-content: space-between;
}
#memberinfo #name_row .name_td{
  width: 49%;
}
#memberinfo #name_row input {
  background: #fff;
  padding: 1rem;
  width: 100%;
  -webkit-appearance: none;
  color: #212121;
  border: 1px solid #707070;
}

#memberinfo #furikana_row{
  display: flex;
  justify-content: space-between;
}
#memberinfo #furikana_row td{
  width: 49%;
}

.history-area{
  overflow-x: scroll;
}
.history-area table{
  width: 200%!important;
}
.history-area table .thumbnail{
  width: 20%;
}
}
/*-----------------------------------------------------------

CART USER

-------------------------------------------------------------*/
.customer_form{

}
#customer-info .customer_form th {
  display: table-cell;
  width: 30%;
  padding: 2rem!important;
  background-color: #efefef;
  border: 1px solid #ccc;
  vertical-align: middle;
}
#customer-info .customer_form td {
  display: table-cell;
  padding: 2rem!important;
}
#customer-info .customer_form td input {
  background: #fff;
  padding: 1rem;
  width: 100%;
  -webkit-appearance: none;
  color: #212121;
  border: 1px solid #707070;
  margin: 0;
}
#customer-info .customer_form td select {
  width: 100%;
  background: #fff url(../../src/img/search_arrow.svg) 93% center no-repeat;
  background-size: 1rem;
  padding: 1rem 2rem;
  border: 1px solid #707070;
  -webkit-appearance: none;
  color: #212121;
}
/*-----------------------------------------------------------

CART CONFIRM

-------------------------------------------------------------*/
#cart_table .thumbnail {
  display: table-cell;
  width: 15%;
}
.cartConfirm .send{

}
.cartConfirm .send{
  
  margin-bottom: 2rem;
}
.cartConfirm .send input {
  -webkit-appearance: none;
  cursor: pointer;
  width: 24rem;
  margin: 0 auto 2rem!important;
  display: block;
  background: #808080;
  border: none;
  text-align: center;
  padding: 1rem 0;
  color: #fff;
  position: relative;
  border-radius: 40px;
}
.cartConfirm .send input#purchase_button {
  -webkit-appearance: none;
  cursor: pointer;
  width: 24rem;
  margin: 0 auto 2rem!important;
  display: block;
  background: #212121;
  border: none;
  text-align: center;
  padding: 1rem 0;
  color: #fff;
  position: relative;
  border-radius: 40px;
}

.cartConfirm .send input:hover {
    opacity: 0.6;
}
.cartConfirm .send input#purchase_button:hover{
  background: #212121;
}
@media only screen and (max-width: 599px) { /* ============== SP LAYOUT ============== */
.cartConfirm{
  width: 90%;
  margin: 0 auto;
}
}


.noPost{
  text-align: center;
}
/*-----------------------------------------------------------

EFFECT

-------------------------------------------------------------*/
/*------------- section全体　---------------*/
.ivSec{
  opacity: 0;
  transform: translateY(6rem);
}
.fadeUp {
  animation-name:fadeUpAnime;
  animation-duration:0.7s;
  animation-fill-mode:forwards;
  animation-delay: 0.2s;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
    transform: translateY(6rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/*------------- TOP　---------------*/
.t_A01{
  opacity: 0;
}
.t_A01.on {
  animation-name:t_A01Ef;
  animation-duration:1s;
  animation-fill-mode:forwards;
  animation-delay: 0.2s;
}
@keyframes t_A01Ef{
  from {
    opacity: 0;
    transform: translateX(-6rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.t_A02{
  opacity: 0;
}
.t_A02.on {
  animation-name:t_A02Ef;
  animation-duration:1s;
  animation-fill-mode:forwards;
  animation-delay: 0.4s;
}
@keyframes t_A02Ef{
  from {
    opacity: 0;
    transform: translateX(-6rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.t_A03{
  opacity: 0;
}
.t_A03.on {
  animation-name:t_A03Ef;
  animation-duration:1s;
  animation-fill-mode:forwards;
  animation-delay: 0.6s;
}
@keyframes t_A03Ef{
  from {
    opacity: 0;
    transform: translateX(6rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.t_P01{
  opacity: 0;
}
.t_P01.on {
  animation-name:t_P01Ef;
  animation-duration:1s;
  animation-fill-mode:forwards;
  animation-delay: 0.2s;
}
@keyframes t_P01Ef{
  from {
    opacity: 0;
    transform: translateY(6rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.t_P02{
  opacity: 0;
}
.t_P02.on {
  animation-name:t_P02Ef;
  animation-duration:1s;
  animation-fill-mode:forwards;
  animation-delay: 0.4s;
}
@keyframes t_P02Ef{
  from {
    opacity: 0;
    transform: translateY(6rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/*------------- TOP　---------------*/
.ts01,.ts02,.ts03{
  opacity: 0;
}
.topServiceSlide .active .ts01  {
  animation-name:ts01;
  animation-duration:1s;
  animation-fill-mode:forwards;
  animation-delay: 0.4s;
  opacity: 0;
}
@keyframes ts01{
  from {
    opacity: 0;
    transform: translateY(4rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.topServiceSlide .active .ts02  {
  animation-name:ts02;
  animation-duration:1s;
  animation-fill-mode:forwards;
  animation-delay: 0.2s;
  opacity: 0;
}
@keyframes ts02{
  from {
    opacity: 0;
    transform: translateY(4rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.topServiceSlide .active .ts03  {
  animation-name:ts03;
  animation-duration:1s;
  animation-fill-mode:forwards;
  animation-delay: 0s;
  opacity: 0;
}
@keyframes ts03{
  from {
    opacity: 0;
    transform: translateY(4rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/*------------- SERVICE　---------------*/
.sef01 {
  animation-name:sef01;
  animation-duration:1s;
  animation-fill-mode:forwards;
  animation-delay: 0.4s;
  opacity: 0;
}
@keyframes sef01{
  from {
    opacity: 0;
    transform: translateY(4rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.sef02 {
  animation-name:sef02;
  animation-duration:1s;
  animation-fill-mode:forwards;
  animation-delay: 0.2s;
  opacity: 0;
}
@keyframes sef02{
  from {
    opacity: 0;
    transform: translateY(4rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.sef03 {
  animation-name:sef03;
  animation-duration:1s;
  animation-fill-mode:forwards;
  animation-delay: 0;
  opacity: 0;
}
@keyframes sef03{
  from {
    opacity: 0;
    transform: translateY(4rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}