@charset "utf-8";

/*-------------------------------------
  トップページ
--------------------------------------*/
/* TOP メイン */
.key_top {
  padding: 5.3em 9em 5em;
  overflow: hidden;
}
.key_top > .inr {
  position: relative;
  margin-right: -9em;
  padding-left: 17%;
}
.key_top > .inr > .key_txt {
  position: absolute;
  top: 40%;
  left: 2%;
  color: #fff;
  text-shadow: 0 0 0.3em rgba(0, 0, 0, 0.3);
}
.key_top > .inr > .key_txt > .catch {
  font-size: 5vw;
  line-height: 1.1;
  letter-spacing: 0.2rem;
}
.key_top > .inr > .key_txt > .sup {
  margin-top: 1.5em;
  font-weight: 500;
  font-size: 1.1vw;
  line-height: 1.3;
  letter-spacing: 0.1rem;
}

@media screen and (max-width: 1199px) {
  .key_top > .inr > .key_txt > .sup {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 991px) {
  .key_top {
    padding: 4.3em 4.4em 2em;
  }
  .key_top > .inr {
    margin-right: -4.4em;
  }
  .key_top > .inr > .key_txt > .catch {
    font-size: 6vw;
  }
  .key_top > .inr > .key_txt {
    top: 45%;
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .key_top > .inr > .key_txt > .sup {
    margin-top: 1em;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 575px) {
  .key_top {
    padding: 4.3em 2em 2em;
  }
  .key_top > .inr {
    margin-right: -2em;
    padding-left: 10%;
  }
  .key_top > .inr > .key_txt {
    padding-right: 1em;
  }
  .key_top > .inr > .key_txt > .catch {
    font-size: 2.8rem;
  }
}

/* TOP 事業内容 */
.bg_water {
  background-color: #ecf5fb;
}

.top_service > .item {
  position: relative;
  padding: 4em 5%;
}
.top_service > .item + .item {
  margin-top: 5em;
}
.top_service > .item .wrap_ofi {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 65%;
  padding-top: 0;
}
.top_service > .item .conts {
  position: relative;
  width: 33.5em;
  padding: 4.3em 3.8em;
  border-top: 0.4rem solid #0d1e59;
  background-color: #fff;
  box-shadow: 0.6em 0.6em 1.2em rgba(0, 0, 0, 0.1);
}
.top_service > .item .conts .wrap_btn {
  margin-top: 2.2em;
}
@media screen and (min-width: 992px) {
  .top_service > .item:nth-child(odd) .wrap_ofi {
    left: 0;
  }
  .top_service > .item:nth-child(odd) .conts {
    margin-left: auto;
  }
  .top_service > .item:nth-child(even) .wrap_ofi {
    right: 0;
  }
  .top_service > .item:nth-child(even) .conts {
    margin-right: auto;
  }
  .top_service > .item .conts .wrap_btn {
    text-align: left;
  }
}
@media screen and (max-width: 1299px) {
  .top_service > .item {
    padding: 4em 0;
  }
}
@media screen and (max-width: 991px) {
  .top_service > .item {
    padding: 45% 4% 0;
  }
  .top_service > .item + .item {
    margin-top: 3em;
  }
  .top_service > .item .wrap_ofi {
    left: 0;
    right: 0;
    bottom: 40%;
    width: 100%;
  }
  .top_service > .item .conts {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .top_service > .item .conts {
    padding: 2em;
  }
}

/* TOP 実績紹介 */
.slider_performance .slick-slide {
  padding-left: 1em;
  padding-right: 1em;
  text-align: center;
}
.slider_performance .slick-track {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.slider_performance .slick-slide {
  float: none;
  height: auto;
}
.slider_performance .slick-slide > a {
  display: block;
  padding: 1em 0.6em;
  height: 100%;
}
.slider_performance .slick-slide > a:hover,
.slider_performance .slick-slide > a:focus {
  background-color: #f4f4f4;
}
.slider_performance .slick-slide > a > .title {
  margin-top: 1em;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.3;
}
.slider_performance .slick-prev,
.slider_performance .slick-next {
  top: 0;
  bottom: 0;
  margin: auto;
  width: 2.8em;
  height: 2.8em;
  font-size: 1.6rem;
  transition: 0.4s;
}
.slider_performance .slick-prev:hover,
.slider_performance .slick-prev:focus,
.slider_performance .slick-next:hover,
.slider_performance .slick-next:focus {
  opacity: 0.7;
}
.slider_performance .slick-prev {
  left: -2.8em;
}
.slider_performance .slick-next {
  right: -2.8em;
}
.slider_performance .slick-prev:before,
.slider_performance .slick-next:before {
  content: "";
  display: block;
  opacity: 1;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url("../Image/common/icon_arrow.png") center/contain no-repeat;
}
.slider_performance .slick-next:before {
  transform: rotate(180deg);
}

@media screen and (max-width: 1299px) {
  .slider_performance .slick-prev,
  .slider_performance .slick-next {
    width: 1.8em;
    height: 1.8em;
  }
  .slider_performance .slick-prev {
    left: -2em;
  }
  .slider_performance .slick-next {
    right: -2em;
  }
}
@media screen and (max-width: 991px) {
  .slider_performance .slick-slide {
    padding-left: 0.6em;
    padding-right: 0.6em;
  }
  .slider_performance.slick-dotted.slick-slider {
    margin-bottom: 0;
    padding-bottom: 1.5em;
  }
  .slider_performance .slick-dots {
    bottom: -0.5em;
  }
  .slider_performance .slick-slide > a {
    padding: 1em 0.6em;
  }
  .slider_performance .slick-slide > a > .title {
    font-size: 1.6rem;
  }
}

/* TOP 会社概要 */
.bg_water_top {
  position: relative;
}
.bg_water_top::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 40%;
  background-color: #ecf5fb;
}
.bg_water_top > * {
  position: relative;
}
@media screen and (min-width: 992px) {
  .horizon_ttl {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    margin-bottom: 3em;
    white-space: nowrap;
  }
  .horizon_ttl > .box_left {
    padding-right: 3em;
  }
  .horizon_ttl > .box_left .ttl_sup {
    margin-bottom: 0;
    text-align: left;
  }
  .horizon_ttl > .box_right {
    flex-grow: 1;
    padding-top: 0.4em;
  }
  .horizon_ttl > .box_right .txt_ttlunder {
    margin-bottom: 0;
    max-width: 100%;
  }
}

/*--------------------------------------------
  UNDER COMMON
--------------------------------------------*/
.key_under {
  padding: 5.3em 9em 0;
}
.key_under > .inr {
  position: relative;
  margin-right: -9em;
}
.key_under > .inr > .wrap_ofi {
  margin-left: auto;
  padding-top: 22%;
  width: 64%;
}
.key_under > .inr > .key_txt {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  color: #fff;
  text-shadow: 0 0 0.3em rgba(0, 0, 0, 0.3);
}
.key_under > .inr > .key_txt > .inr_key {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.key_under > .inr > .key_txt > .inr_key > .catch {
  font-size: 3.8vw;
  line-height: 1.1;
  letter-spacing: 0.2rem;
}
.key_under > .inr > .key_txt > .inr_key > .sup {
  margin-top: 1.2em;
  font-weight: 500;
  font-size: 1vw;
  line-height: 1.3;
  letter-spacing: 0.1rem;
}

@media screen and (max-width: 991px) {
  .key_under {
    padding: 4.3em 4.4em 2em;
  }
  .key_under > .inr {
    margin-right: -4.4em;
  }
  .key_under > .inr > .wrap_ofi {
    padding-top: 26%;
    width: 68%;
  }
}
@media screen and (max-width: 767px) {
  .key_under > .inr > .wrap_ofi {
    padding-top: 28%;
    width: 68%;
  }
  .key_under > .inr > .key_txt > .inr_key > .catch {
    font-size: 3rem;
  }
  .key_under > .inr > .key_txt > .inr_key > .sup {
    margin-top: 0.5em;
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 575px) {
  .key_under {
    padding: 4.3em 2em 2em;
  }
  .key_under > .inr {
    margin-right: -2em;
  }
  .key_under > .inr > .wrap_ofi {
    padding-top: 36%;
    width: 80%;
  }
}

/*--------------------------------------------
  GMB
--------------------------------------------*/
/* ABOUT */
.gmb_about > .imgbox.img_sm {
  position: relative;
  padding-bottom: 2em;
}
.gmb_about > .imgbox.img_sm > img {
  max-width: 70%;
  height: auto;
}
.gmb_about > .imgbox .sp_capture {
  position: absolute;
  left: 1em;
  bottom: 0;
}

.sp_capture {
  position: relative;
  width: 18.4em;
  padding: 2.6em 0.5em 0.8em;
  border-radius: 2.5em;
  overflow: hidden;
}
.gmb_support.support02 > .imgbox .sp_capture,
.gmb_support.support03 > .imgbox .sp_capture {
  width: 16em;
  padding: 2.3em 0.6em 0.8em;
}
.sp_capture.bottom_btn::before {
  content: "";
  display: block;
  z-index: 10;
  position: absolute;
  left: 0.6em;
  right: 0.6em;
  bottom: 0.8em;
  padding-top: 16.5%;
  background: url("../Image/gmb/gmb_support03_04.jpg") center/100% 100% no-repeat;
}
.sp_capture::after {
  content: "";
  display: block;
  z-index: 11;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url("../Image/common/sp_capture.png") center/100% 100% no-repeat;
}

@media screen and (min-width: 768px) {
  .gmb_about {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
  }
  .gmb_about > * {
    width: 50%;
  }
  .gmb_about > .conts {
    padding-right: 2em;
  }
  .gmb_about > .conts .ttl_underbar {
    text-align: left;
  }
  .gmb_about > .conts .ttl_underbar:not(.ta_left)::before {
    right: auto;
  }
}
.gmb_about > .conts > .catch {
  margin-bottom: 1.2em;
  font-weight: 500;
  font-size: 2.6rem;
  color: #3c4652;
  line-height: 1.1;
  letter-spacing: 0.1rem;
}
@media screen and (max-width: 991px) {
  .sp_capture,
  .gmb_support.support02 > .imgbox .sp_capture,
  .gmb_support.support03 > .imgbox .sp_capture {
    width: 13em;
    padding: 1.75em 0.4em 0.8em;
    border-radius: 1.5em;
  }
  .sp_capture.bottom_btn::before {
    left: 0.4em;
    right: 0.4em;
    bottom: 0.4em;
  }

  .gmb_about > .conts > .catch {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .gmb_about > .imgbox {
    max-width: 480px;
    margin: 2em auto 0;
  }
}

/* GOOGLE */
.gmb_google > .item {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.gmb_google > .item:nth-child(odd) {
  flex-direction: row-reverse;
}
.gmb_google > .item + .item {
  margin-top: 3em;
}
.gmb_google > .item > * {
  width: 50%;
}
.gmb_google > .item > .wrap_ofi {
  width: calc(50% - 2em);
  padding-top: 32%;
}
.gmb_google > .item > .conts > .title {
  margin-bottom: 1em;
  font-weight: 500;
  font-size: 2.6rem;
  color: #3c4652;
  line-height: 1.5;
  letter-spacing: 0.1rem;
}
.gmb_google > .item > .conts > .text + .text {
  margin-top: 0.8em;
}
@media screen and (max-width: 991px) {
  .gmb_google > .item > .conts > .title {
    font-size: 1.8rem;
    line-height: 1.3;
  }
}
@media screen and (max-width: 767px) {
  .gmb_google > .item > * {
    width: 100%;
  }
  .gmb_google > .item > .wrap_ofi {
    margin-top: 1.5em;
    width: 100%;
    padding-top: 60%;
  }
}

/* SUPPORT */
.gmb_supportkey {
  position: relative;
  padding-right: 5em;
  padding-bottom: 4em;
}
.gmb_supportkey::before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 33%;
  height: 50%;
  background-color: #0d1e59;
}
.gmb_supportkey > * {
  position: relative;
}
.gmb_support {
  line-height: 2;
}
.gmb_support + .gmb_support {
  margin-top: 3em;
}
.gmb_support.fx {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.gmb_support.fx > .conts {
  width: calc(100% - 19em);
}
.gmb_support.fx > .imgbox {
  width: 19em;
  padding-left: 3em;
}
.gmb_support.fx:nth-of-type(odd) {
  flex-direction: row-reverse;
}
.gmb_support.fx:nth-of-type(odd) > .imgbox {
  padding-left: 0;
  padding-right: 3em;
}
.gmb_support > .conts > * + .text,
.gmb_support > .conts > * + .ul_deco {
  margin-top: 1em;
}
@media screen and (max-width: 991px) {
  .gmb_supportkey {
    margin-bottom: 2em;
    padding-right: 3em;
    padding-bottom: 2em;
  }
  .gmb_support.fx > .conts {
    width: calc(100% - 16em);
  }
  .gmb_support.fx > .imgbox {
    width: 16em;
    padding-left: 2em;
  }
  .gmb_support.fx:nth-of-type(odd) > .imgbox {
    padding-left: 0;
    padding-right: 2em;
  }
}
@media screen and (max-width: 768px) {
  .gmb_supportkey {
    padding-right: 2em;
    padding-bottom: 1em;
  }
  .gmb_support.fx > .conts,
  .gmb_support.fx > .imgbox,
  .gmb_support.fx:nth-of-type(odd) > .imgbox {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
  .gmb_support.fx > .imgbox {
    margin-top: 3em;
  }
  .gmb_support.fx > .imgbox > img {
    max-width: 12.5em;
  }
}

/* FLOW */
.step_flow {
  padding: 2.5em;
  background-color: #fff;
}
.step_flow > .item + .item {
  margin-top: 3.7em;
}
.step_flow > .item {
  position: relative;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 0.5em;
}
.step_flow > .item:not(:last-child)::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  top: 2em;
  left: 5em;
  bottom: -5em;
  width: 1px;
  border-left: 0.4rem dotted #0d1e59;
}
.step_flow > .item > .panel_hd {
  position: relative;
  padding: 1.25em;
  padding-left: 10em;
  background-color: #ecf5fb;
  border-radius: 0.5em 0.5em 0 0;
}
.step_flow > .item > .panel_hd > .title {
  font-weight: 500;
  font-size: 2rem;
  color: #3c4652;
  line-height: 1.3;
  letter-spacing: 0.1rem;
}
.step_flow > .item > .panel_hd > .label {
  display: block;
  position: absolute;
  z-index: 3;
  top: 0;
  left: 2em;
  bottom: 0;
  margin: auto;
  padding-top: 2em;
  width: 6.25em;
  height: 6.25em;
  border-radius: 50%;
  background-color: #0d1e59;
  text-align: center;
  color: #fff;
  letter-spacing: 0.1rem;
  line-height: 1;
}
.step_flow > .item > .panel_hd > .label > span {
  display: inline-block;
  margin-left: 0.1em;
  font-size: 3rem;
  vertical-align: -0.1em;
}
.step_flow > .item > .panel_conts {
  position: relative;
  padding: 1.25em;
  padding-left: 10em;
}
.step_flow > .item > .panel_conts > .text {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.1rem;
}
@media screen and (max-width: 991px) {
  .step_flow {
    padding: 1.8em;
  }
  .step_flow > .item + .item {
    margin-top: 3em;
  }
  .step_flow > .item:not(:last-child)::before {
    left: 3.4em;
    border-left: 0.3rem dotted #0d1e59;
  }
  .step_flow > .item > .panel_hd {
    padding: 1em;
    padding-left: 7em;
  }
  .step_flow > .item > .panel_hd > .title {
    font-size: 1.7rem;
  }
  .step_flow > .item > .panel_hd > .label {
    left: 1.5em;
    padding-top: 1.8em;
    width: 5em;
    height: 5em;
    font-size: 1.2rem;
  }
  .step_flow > .item > .panel_hd > .label > span {
    font-size: 2rem;
  }
  .step_flow > .item > .panel_conts {
    padding: 1em;
    padding-left: 7em;
  }
  .step_flow > .item > .panel_conts > .text {
    font-size: 1.3rem;
    line-height: 1.7;
  }
}

/*--------------------------------------------
  cosmetics
--------------------------------------------*/
/* catch */
.cosmetics_catch {
  position: relative;
  text-align: center;
}
.cosmetics_catch::before {
  content: "";
  display: block;
  z-index: 2;
  position: absolute;
  top: 5.6em;
  right: 0;
  bottom: 5.6em;
  width: 90%;
  background: url("../Image/cosmetics/catch_bg.jpg") center/cover;
}
.cosmetics_catch::after {
  content: "";
  display: block;
  z-index: 1;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 50%;
  height: 35%;
  background-color: #fef4de;
}
.cosmetics_catch > .inner {
  z-index: 3;
  position: relative;
}
.cosmetics_catch > .inner > .title {
  margin-top: -2em;
  margin-bottom: 1em;
  font-size: 4.8rem;
  line-height: 1.1;
  letter-spacing: 0.1rem;
}
.cosmetics_catch > .inner > .text {
  font-size: 2.2rem;
  line-height: 2;
}

@media screen and (max-width: 991px) {
  .cosmetics_catch::before {
    top: 3em;
    bottom: 3.5em;
  }
  .cosmetics_catch > .inner > .title {
    font-size: 3rem;
  }
  .cosmetics_catch > .inner > .text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 575px) {
  .cosmetics_catch > .inner > .title {
    margin-top: -1em;
    font-size: 2.4rem;
  }
  .cosmetics_catch > .inner > .text {
    text-align: left;
  }
}

/* POINT */
.cosmetics_point {
  position: relative;
  padding-bottom: calc(4.5vw + 1.5em);
  overflow: hidden;
}
.cosmetics_point::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 4.5vw;
  height: 20%;
  background-color: #fef4de;
}
.cosmetics_point::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4.5vw 50vw 0 50vw;
  border-color: #fef4de transparent transparent transparent;
}
.cosmetics_point .inner {
  z-index: 1;
  position: relative;
}
.cosmetics_point .wrap_point_hd {
  margin-bottom: 3em;
  text-align: center;
}
.cosmetics_point .wrap_point_hd > .title {
  margin-bottom: 1em;
  font-size: 3.2rem;
  line-height: 1.1;
  letter-spacing: 0.1rem;
}
.cosmetics_point .wrap_point_hd > .text {
  font-size: 1.8rem;
}

.cosmetics_point .wrap_point > .item + .item {
  margin-top: 4.5em;
}
.cosmetics_point .wrap_point > .item:first-child {
  position: relative;
  padding: 1.5625em 0;
}
.cosmetics_point .wrap_point > .item:first-child .wrap_ofi {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 75%;
  padding-top: 0;
  background: url("../Image/cosmetics/pop_bg01.png") center/cover;
}
.cosmetics_point .wrap_point > .item:first-child .pop_img {
  position: relative;
}
.cosmetics_point .wrap_point > .item:last-child {
  position: relative;
  padding: 3.4em 0;
}
.cosmetics_point .wrap_point > .item:last-child .wrap_ofi {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 75%;
  padding-top: 0;
  background: url("../Image/cosmetics/pop_bg02.png") center/cover;
}
.cosmetics_point .wrap_point > .item:last-child .pop_img {
  position: relative;
}
.cosmetics_point .wrap_point > .item:last-child .pop_img > img {
  margin-left: auto;
}

@media screen and (max-width: 991px) {
  .cosmetics_point::before {
    height: 30%;
  }
  .cosmetics_point .wrap_point_hd {
    margin-bottom: 2em;
  }
  .cosmetics_point .wrap_point_hd > .title {
    margin-bottom: 0.5em;
    font-size: 2.4rem;
  }
  .cosmetics_point .wrap_point_hd > .text {
    font-size: 1.6rem;
  }

  .cosmetics_point .wrap_point > .item + .item {
    margin-top: 3em;
  }
  .cosmetics_point .wrap_point > .item:first-child,
  .cosmetics_point .wrap_point > .item:last-child {
    padding: 40% 0 0;
  }
  .cosmetics_point .wrap_point > .item:first-child .wrap_ofi,
  .cosmetics_point .wrap_point > .item:last-child .wrap_ofi {
    bottom: auto;
    width: 100%;
    padding-top: 50%;
  }
  .cosmetics_point .wrap_point > .item .pop_img {
    padding: 0 1em;
  }
  .cosmetics_point .wrap_point > .item .pop_img > img {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  .cosmetics_point .wrap_point_hd > .text {
    text-align: left;
  }
}

/* ITEM */
.fx_cosmetics {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-direction: row-reverse;
  margin-left: -1.25em;
  margin-right: -1.25em;
}
.fx_cosmetics > .conts,
.fx_cosmetics > .imgbox {
  width: 50%;
  padding: 0 1.25em;
}
.fx_cosmetics > .conts > .title {
  padding: 0.8em 0.4em;
  background-color: #f8b010;
  text-align: center;
  font-size: 2.8rem;
  color: #fff;
  line-height: 1.1;
  letter-spacing: 0.1rem;
}
.fx_cosmetics > .conts > .inr_pd {
  padding: 2em 1.8em 1em;
}
.fx_cosmetics > .conts > .inr_pd > .title_sm {
  font-size: 1.8rem;
  line-height: 1.3;
  letter-spacing: 0.05rem;
}
.fx_cosmetics > .conts .item_price {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse;
  margin-top: 1em;
  margin-bottom: 2em;
}
.fx_cosmetics > .conts .item_price > .item {
  position: relative;
  width: calc(50% - 0.75em - 0.05rem);
  padding-left: 3em;
}
.fx_cosmetics > .conts .item_price > .item > .amount {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 3em;
  height: 3em;
  padding-top: 0.9em;
  background: #b86c10;
  border-radius: 50%;
  text-align: center;
  font-size: 1.4rem;
  color: #fff;
  line-height: 1;
  letter-spacing: 0.1rem;
}
.fx_cosmetics > .conts .item_price > .item > .num {
  font-size: 5.6rem;
  line-height: 1;
  letter-spacing: 0.1rem;
}
.fx_cosmetics > .conts .item_price > .item > .sup {
  position: relative;
  font-size: 3rem;
  line-height: 1;
  letter-spacing: 0.1rem;
}
.fx_cosmetics > .conts .item_price > .item > .sup::before {
  content: "+税";
  display: block;
  position: absolute;
  top: -0.5em;
  right: 0.2em;
  font-size: 1.6rem;
  line-height: 1;
}
.fx_cosmetics > .conts .ul_check {
  padding: 0.6em 2em 1em;
  background-color: #fef4de;
  border-radius: 1em;
}
.fx_cosmetics > .conts .ul_check > li + li {
  border-top: 1px solid #d1b38b;
}
.fx_cosmetics > .conts .ul_check > li {
  position: relative;
  padding: 0.8em 0.5em 0.5em;
  padding-left: 1.5em;
  line-height: 1.3;
  letter-spacing: 0.05rem;
}
.fx_cosmetics > .conts .ul_check > li::before {
  content: "";
  display: block;
  position: absolute;
  top: 1em;
  left: 0;
  width: 1em;
  height: 0.8em;
  background: url("../Image/cosmetics/icon_check.png") center/contain no-repeat;
}
.fx_cosmetics > .conts .ul_check > li > .sm {
  font-size: 1.4rem;
}
.fx_cosmetics > .conts .note {
  margin-top: 0.5em;
  text-align: right;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.05rem;
}
.fx_cosmetics > .imgbox .wrap_ofi {
  height: 100%;
  padding-top: 0;
}

@media screen and (max-width: 1299px) {
  .fx_cosmetics > .conts .item_price > .item > .num {
    font-size: 5rem;
  }
  .fx_cosmetics > .conts .item_price > .item > .sup {
    font-size: 2.8rem;
  }
  .fx_cosmetics > .conts .item_price > .item > .sup::before {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 991px) {
  .fx_cosmetics {
    display: block;
    margin-left: 0;
    margin-right: 0;
  }
  .fx_cosmetics > .conts,
  .fx_cosmetics > .imgbox {
    width: 100%;
    padding: 0;
  }

  .fx_cosmetics > .conts > .title {
    padding: 0.8em 0.4em;
    font-size: 2rem;
  }
  .fx_cosmetics > .conts > .inr_pd {
    padding: 2em 1.5em 1em;
  }
  .fx_cosmetics > .conts > .inr_pd > .title_sm {
    font-size: 1.6rem;
  }
  .fx_cosmetics > .conts .item_price > .item {
    padding-left: 3.5em;
  }
}
@media screen and (max-width: 767px) {
  .fx_cosmetics > .conts .item_price {
    display: block;
  }
  .fx_cosmetics > .conts .item_price > .item {
    width: 100%;
  }
  .fx_cosmetics > .conts .item_price > .item + .item {
    margin-top: 1em;
  }
  .fx_cosmetics > .conts .ul_check {
    padding: 0.6em 1em 1em;
  }
}

/*--------------------------------------------
  advantage
--------------------------------------------*/
.fx_advantage > .item {
  position: relative;
  padding: 4em 5% 0;
}
.fx_advantage > .item + .item {
  margin-top: 5em;
}
.fx_advantage > .item .wrap_ofi {
  position: absolute;
  top: 0;
  bottom: 4em;
  width: 52%;
  padding-top: 0;
}
.fx_advantage > .item .conts {
  position: relative;
  width: 50%;
  padding: 5%;
  border-top: 0.4rem solid #0d1e59;
  background-color: #fff;
  box-shadow: 0.6em 0.6em 1.2em rgba(0, 0, 0, 0.1);
}
.fx_advantage .design_conts > .title {
  margin-bottom: 0.8em;
  font-size: 3.2rem;
}
.fx_advantage > .item .conts .wrap_btn {
  margin-top: 2.2em;
}

@media screen and (min-width: 992px) {
  .fx_advantage > .item:nth-child(odd) .wrap_ofi {
    left: 5%;
  }
  .fx_advantage > .item:nth-child(odd) .conts {
    margin-left: auto;
    margin-right: 2%;
  }
  .fx_advantage > .item:nth-child(even) .wrap_ofi {
    right: 5%;
    bottom: 2em;
  }
  .fx_advantage > .item:nth-child(even) .conts {
    margin-left: 2%;
  }
  .fx_advantage > .item .conts .wrap_btn {
    text-align: left;
  }
}
@media screen and (max-width: 1499px) {
  .fx_advantage > .item .conts {
    width: 46%;
  }
  .fx_advantage .design_conts > .title {
    font-size: 2.8rem;
  }
  .fx_advantage .design_conts > .text {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 1299px) {
  .fx_advantage .design_conts > .title {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 991px) {
  .fx_advantage > .item {
    padding: 45% 4% 0;
  }
  .fx_advantage > .item + .item {
    margin-top: 3em;
  }
  .fx_advantage > .item .wrap_ofi {
    left: 0;
    right: 0;
    bottom: auto;
    width: 100%;
    padding-top: 60%;
  }
  .fx_advantage > .item .conts {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .fx_advantage > .item .conts {
    padding: 2em;
  }
}

/*--------------------------------------------
  GREETING
--------------------------------------------*/
.wrap_philosophy {
  text-align: center;
}
.wrap_philosophy .wrap_ofi {
  padding-top: 34%;
}
.wrap_philosophy .conts {
  position: relative;
  margin-top: -5%;
  margin-left: auto;
  margin-right: auto;
  padding: 3em 0.5em;
  max-width: 80%;
  background-color: #fff;
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.1);
}
.wrap_philosophy .conts > .title {
  font-weight: 500;
  font-size: 3.5rem;
  color: #0d1e59;
  line-height: 1.7;
  letter-spacing: 0.3rem;
}
@media screen and (min-width: 768px) {
  .wrap_philosophy .conts > .title {
    padding-left: 2em;
    text-align: left;
  }
  .wrap_philosophy .conts > .title > span {
    display: inline-block;
    padding-left: 6.55em;
  }
}
@media screen and (min-width: 992px) {
  .wrap_philosophy .conts > .title {
    padding-left: 5em;
  }
}
.box_greeting {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.box_greeting .imgbox {
  width: 30%;
}
.box_greeting .conts {
  width: 70%;
  padding-left: 2em;
}
.box_greeting .conts > .text + .text {
  margin-top: 1.5em;
}

@media screen and (max-width: 991px) {
  .wrap_philosophy .conts > .title {
    font-size: 2.8rem;
    letter-spacing: 0.2rem;
  }
}
@media screen and (max-width: 767px) {
  .box_greeting {
    display: block;
  }
  .box_greeting .imgbox {
    width: 100%;
  }
  .box_greeting .conts {
    width: 100%;
    margin-top: 2em;
    padding-left: 0;
  }
}
@media screen and (max-width: 575px) {
  .wrap_philosophy .conts > .title {
    font-size: 2.2rem;
  }
}

/*-------------------------------------
  会社概要
--------------------------------------*/
.maxw1000 {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
.tbl_2col {
  border: 1px solid #ddd;
}
.tbl_2col tr + tr {
  border-top: 1px solid #ddd;
}
.tbl_2col th,
.tbl_2col td {
  padding: 1.5em 2em;
  text-align: left;
}
.tbl_2col th {
  width: 26%;
  background-color: #ecf5fb;
  font-weight: 500;
  color: #3c4652;
  letter-spacing: 0.2rem;
  white-space: nowrap;
}
.tbl_2col td > .text + .text {
  margin-top: 1.5em;
}
.tbl_2col td > .text_sup {
  font-size: 1.4rem;
  color: #777;
}

@media screen and (max-width: 575px) {
  .tbl_2col th,
  .tbl_2col td {
    display: block;
    width: 100%;
    padding: 1.2em 1.5em;
  }
  .tbl_2col td > .text + .text {
    margin-top: 1.2em;
  }
}

/*--------------------------------------------
  advantage
--------------------------------------------*/
.list_performance {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  margin-top: -2em;
}
.list_performance .item {
  width: 25%;
  margin-top: 2em;
  padding-left: 1em;
  padding-right: 1em;
  text-align: center;
}
.list_performance .item > a {
  display: block;
  padding: 1em 0.6em;
  height: 100%;
}
.list_performance .item > a:hover,
.list_performance .item > a:focus {
  background-color: #f4f4f4;
}
.list_performance .item > a > .title {
  margin-top: 1em;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.3;
}
.list_performance .item > a > .text {
  margin-top: 0.5em;
  line-height: 1.5;
}

@media screen and (max-width: 991px) {
  .list_performance .item {
    width: 33.3333%;
    margin-top: 1.5em;
    padding-left: 0.6em;
    padding-right: 0.6em;
  }
  .list_performance .item > a {
    padding: 1em 0.6em;
  }
  .list_performance .item > a > .title {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 575px) {
  .list_performance .item {
    width: 50%;
  }
}

/*-------------------------------------
  お問い合わせ
--------------------------------------*/
input:not([type="radio"]):not([type="checkbox"]),
select,
textarea {
  width: 100%;
  font-size: 1.4rem;
  padding: 1rem;
  background-color: rgba(13, 30, 89, 0.08);
  border: none;
  line-height: 1.3;
}
select {
  padding: 0.8rem 1rem;
}
.ios select {
  -webkit-appearance: button;
  appearance: button;
  padding: 0.8rem 1rem;
}
textarea {
  min-height: 20rem;
}

.tbl_form {
  margin-top: 4em;
}
.tbl_form tr {
  border-top: 1px solid #eee;
}
.tbl_form tr:last-child {
  border-bottom: 1px solid #eee;
}
.tbl_form th,
.tbl_form td {
  padding: 1.5em;
}
.tbl_form th {
  width: 26%;
  font-weight: 500;
  text-align: left;
  white-space: nowrap;
}

.input_under {
  margin-top: 0.3em;
  font-size: 1.4rem;
}

.mw_wp_form .error {
  margin-top: 0.5em;
}

.form_require {
  position: relative;
  display: block;
  padding-right: 3.2em;
}
.form_require > span {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  height: 1.8em;
  padding: 0.4em 0.6em;
  background-color: #0d1e59;
  text-align: center;
  font-weight: 500;
  font-size: 75%;
  color: #fff;
  line-height: 1;
  letter-spacing: 0.1rem;
}

.ul_radio {
  line-height: 2;
}
.ul_radio > li {
  display: inline-block;
  line-height: 1.3;
}
.ul_radio > li:not(:last-child) label {
  display: inline-block;
  margin-right: 1.6em;
}
.ul_radio > li label > input {
  position: absolute;
  visibility: hidden;
}
.ul_radio > li label > input + span {
  position: relative;
  display: inline-block;
  padding-left: 1.8em;
}
.ul_radio > li label > input + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.0625em;
  left: 0;
  width: 1.125em;
  height: 1.125em;
  border-radius: 50%;
  border: 1px solid #c9c9c9;
  background-color: #f4f4f4;
}
.ul_radio > li label > input:checked + span::after {
  content: "";
  display: block;
  position: absolute;
  top: 0.375em;
  left: 0.3125em;
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  background-color: #666;
}

.item_checkbox {
  text-align: center;
  line-height: 1.3;
  letter-spacing: 0.1rem;
}
.item_checkbox label > input {
  position: absolute;
  visibility: hidden;
}
.item_checkbox label > input + span {
  position: relative;
  display: inline-block;
  padding-left: 1.8em;
}
.item_checkbox label > input + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1.25em;
  height: 1.25em;
  border: 1px solid #c9c9c9;
  background-color: #f4f4f4;
}
.item_checkbox label > input:checked + span::after {
  display: block;
  content: "";
  position: absolute;
  top: 0.1875em;
  left: 0.1875em;
  width: 1.125em;
  height: 0.6em;
  border-left: 0.3rem solid #0d1e59;
  border-bottom: 0.3rem solid #0d1e59;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.label_row {
  width: 100%;
  display: table;
}
.label_row + .label_row {
  margin-top: 1.5rem;
}
.label_row > * {
  display: table-cell;
  vertical-align: middle;
}
.label_row > .label {
  width: 5rem;
  padding-right: 1.5rem;
  text-align: right;
  white-space: nowrap;
}

.address_row {
  display: table;
  width: 100%;
}
.address_row + .address_row {
  margin-top: 1.2rem;
}
.address_row > * {
  display: table-cell;
  vertical-align: middle;
}
.address_row > .label {
  width: 18rem;
  padding-right: 2rem;
  text-align: right;
  white-space: nowrap;
}

@media screen and (max-width: 991px) {
  input:not([type="radio"]):not([type="checkbox"]),
  select,
  textarea {
    font-size: 1.8rem;
    padding: 1rem 0.8rem;
  }
  select {
    padding: 1rem 0.8rem;
  }
  .ios select {
    padding: 1.4rem 0.8rem;
  }

  .label_row + .label_row {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 767px) {
  textarea {
    min-height: 14rem;
  }

  .tbl_form th,
  .tbl_form td {
    display: block;
    width: 100%;
  }
  .tbl_form th {
    padding-bottom: 0;
  }
  .tbl_form tr:not(:first-child) td {
    padding-top: 1em;
  }

  .under_text {
    font-size: 1.2rem;
  }

  .ul_radio > li {
    width: 100%;
  }

  .item_checkbox {
    text-align: left;
  }

  .address_row {
    margin-top: 1rem;
    display: block;
  }
  .address_row > * {
    display: block;
  }
  .address_row > .label {
    margin-bottom: 0.5rem;
    width: 100%;
    padding-right: 0;
    text-align: left;
  }
}

/*-------------------------------------
  プライバシーポリシー
--------------------------------------*/
.term_box * + .ttl_bd_tb {
  margin-top: 2.2em;
}
.term_box p + p {
  margin-top: 1.5em;
}
.term_box p > a {
  color: #3094b3;
  text-decoration: underline;
  word-break: break-all;
}
.term_box p > a:hover,
.term_box p > a:hover {
  text-decoration: none;
  opacity: 0.7;
}

/*-------------------------------------
  サイトマップ
--------------------------------------*/
.box_sitemap {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin-left: -2rem;
  margin-right: -2rem;
}
.box_sitemap > .item {
  width: 50%;
  padding-left: 2rem;
  padding-right: 2rem;
}
.box_sitemap > .item .ul_parent > li {
  border-bottom: 1px solid #ddd;
}
.box_sitemap > .item .ul_parent > .hierarchy {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.box_sitemap > .item .ul_parent > .hierarchy > div {
  width: 35%;
  white-space: nowrap;
}
.box_sitemap > .item .ul_parent > .hierarchy > .ul_child {
  width: 65%;
}
.box_sitemap > .item .ul_parent > .hierarchy > .ul_child > li + li {
  border-top: 1px solid #ddd;
}
.box_sitemap > .item ul > li > a,
.box_sitemap > .item ul > li > div {
  position: relative;
  display: block;
  padding: 1em;
  padding-right: 2.5em;
}
.box_sitemap > .item ul > li > a::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 1em;
  bottom: 0;
  margin: auto;
  width: 0.8em;
  height: 0.8em;
  background: url("../Image/common/icon_arrow.png") center/cover no-repeat;
  transform: rotate(180deg);
  transition: 0.4s;
}
.box_sitemap > .item ul > li > a:hover,
.box_sitemap > .item ul > li > a:hover {
  background-color: #f4f4f4;
}
.box_sitemap > .item ul > li > a:hover::before,
.box_sitemap > .item ul > li > a:hover::before {
  right: 0.5em;
}

@media screen and (max-width: 991px) {
  .box_sitemap {
    margin-left: -2%;
    margin-right: -2%;
  }
  .box_sitemap > .item {
    padding-left: 2%;
    padding-right: 2%;
  }
}
@media screen and (max-width: 767px) {
  .box_sitemap {
    display: block;
  }
  .box_sitemap > .item {
    width: 100%;
  }
}

/*--------------------------------------------
  NEWS
--------------------------------------------*/
.ul_news {
  overflow: hidden;
}
.ul_news > li {
  border-top: 1px solid #e7e7e7;
}
.ul_news > li:last-child {
  border-bottom: 1px solid #e7e7e7;
}
.ul_news > li > a {
  position: relative;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  padding: 2em;
}
.ul_news > li > a::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 0;
  background-color: #f4f5f6;
  transition: 0.4s;
}
.ul_news > li > a:hover::before {
  left: 0;
  width: 100%;
}
.ul_news > li > a::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 1em;
  bottom: 0;
  margin: auto;
  width: 0.6em;
  height: 0.6em;
  border-right: 0.1em solid #888888;
  border-bottom: 0.1em solid #888888;
  transform: rotate(-45deg);
  transition: 0.4s;
}
.ul_news > li > a:hover::after {
  border-color: #223d71;
}
.ul_news > li > a .p_label {
  position: relative;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: flex-start;
  width: 22em;
  padding-right: 2em;
}
.ul_news > li > a .p_time {
  display: inline-block;
  font-weight: 500;
  font-family: "Oswald", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "游ゴシック体",
    "YuGothic", Meiryo, "メイリオ", Osaka, "MS PGothic", arial, helvetica, sans-serif;
  color: #888888;
  letter-spacing: 0.2rem;
  white-space: nowrap;
}
.ul_news > li > a .p_term {
  width: 10em;
  display: inline-block;
  margin-left: 1em;
  padding: 0.2em 0.5em;
  border-radius: 2em;
  background-color: #243a86;
  text-align: center;
  font-size: 1.4rem;
  color: #fff;
  letter-spacing: 0.2rem;
  white-space: nowrap;
}
.ul_news > li > a .p_ttl {
  position: relative;
  width: calc(100% - 15rem);
  letter-spacing: 0.1rem;
}

@media screen and (max-width: 991px) {
  .ul_news > li > a .p_label {
    width: 26em;
  }
}
@media screen and (max-width: 767px) {
  .ul_news > li > a {
    display: block;
    padding: 1em 1.5em;
  }
  .ul_news > li > a::after {
    right: 0.5em;
  }
  .ul_news > li > a .p_label {
    align-items: center;
    width: 100%;
    margin-bottom: 0.5em;
    padding-right: 0;
  }
  .ul_news > li > a .p_term {
    font-size: 1.2rem;
  }
  .ul_news > li > a .p_ttl {
    width: 100%;
  }
}

/* detail */
.news_detail .p_label {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  margin-bottom: 1em;
}
.news_detail .p_time {
  font-weight: 500;
  font-family: "Oswald", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "游ゴシック体",
    "YuGothic", Meiryo, "メイリオ", Osaka, "MS PGothic", arial, helvetica, sans-serif;
  color: #888888;
  letter-spacing: 0.2rem;
}
.news_detail .p_term {
  width: 10em;
  display: inline-block;
  margin-left: 2em;
  padding: 0.2em 0.5em;
  border-radius: 2em;
  background-color: #243a86;
  text-align: center;
  font-size: 1.4rem;
  color: #fff;
  letter-spacing: 0.2rem;
  white-space: nowrap;
}

.news_detail .p_ttl {
  margin-bottom: 2em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #e7e7e7;
  font-weight: 500;
  color: #223d71;
  font-size: 3.4rem;
  line-height: 1.3;
  letter-spacing: 0.1rem;
  letter-spacing: 0.1rem;
}

@media screen and (max-width: 991px) {
  .news_detail .p_ttl {
    margin-bottom: 1.5em;
    font-size: 2.8rem;
  }
}

/*-------------------------------------
  404
--------------------------------------*/
