/*
Theme Name: commercex
Description: A child theme for twentytwentyfive
Template: twentytwentyfive
Version: 1.0.0
*/
@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");

.bebas-neue-regular {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.hira{
	font-family: "ヒラギノ角ゴ", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
	font-style: normal;
}


/* ====================================================
reset style
==================================================== */
html {
  overflow-y: scroll;
  overflow-x: hidden;
  font-size: 10px;
  /* Base font size, change to 14px or 16px if needed */
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset, img {
  border: 0;
}

img {
  vertical-align: middle;
  max-width: 100%;
}

address, caption, cite, code, dfn, var {
  font-style: normal;
  font-weight: normal;
}

li {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

q:before, q:after {
  content: "";
}

abbr, acronym {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input, textarea, select, button {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/*to enable resizing for IE*/
input, textarea, select {
  *font-size: 100%;
}

/*because legend doesn't inherit in IE */
legend {
  color: #000;
}

del, ins {
  text-decoration: none;
}

main {
  display: block;
}

section {
  position: relative;
}

/* ====================================================
HTML
==================================================== */

html, body{
	margin: 0px!important;
	overflow-x: hidden;
}

html.overflow_unset, body.overflow_unset{
	overflow: unset;
}

@media screen and (max-width: 750px) {
	html.overflow_unset, body.overflow_unset{
		overflow-x: hidden;
	}
}

body {
  color: #000000;
  font-family: "ヒラギノ角ゴ", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.4;
}

a {
  color: inherit;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  a:hover {
    opacity: 0.5;
  }
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  a {
    display: inline-block;
  }
}
@media screen and (min-width: 835px) {
  a[href^=tel] {
    pointer-events: none;
  }
}
@media screen and (max-width: 834px) {
  a {
    -webkit-tap-highlight-color: transparent;
  }
}

.clearfix {
  *zoom: 1;
}
.clearfix:before {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
  content: "";
  display: table;
}


/* ==========================================================================
   radio
   ========================================================================== */

/* Customize the label (the container) */
label.radio {
    display: block;
    position: relative;
    padding-left: 2em;
    margin-left: 1em;
    cursor: pointer;
    line-height: 1.5em;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

/* Hide the browser's default checkbox */
label.radio input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}

/* Create a custom checkbox */
label.radio .checkmark {
    position: absolute;
    top: .7em;
    left: 0;
    transform: translateY(-50%);
    height: 2vw;
    width: 2vw;
    max-width: 24px;
    max-height: 24px;
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 100px;
}

/* Create the checkmark/indicator (hidden when not checked) */
label.radio .checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */
label.radio input:checked ~ .checkmark:after {
  display: block;
}

/* Style the checkmark/indicator */
label.radio .checkmark:after {
    left: 50%;
    top: 50%;
    width: 60%;
    height: 60%;
    border-radius: 100px;
    background: #000;
    transform: translate(-50%, -50%);
}
label.radio .warning{
    color: #6e6e6e;
    display: block;
}

@media screen and (max-width: 750px) {
    label.radio .checkmark{
        height: 4vw;
        width: 4vw;
    }
}



/* ==========================================================================
   common
   ========================================================================== */

.content_box{
    max-width: 1180px;
    margin: 0 auto;
    display: block;
    width: 95%;
    font-family: 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
    position: relative;
}

.p_10{font-size:10px;font-size:.8vw;line-height:2em}
.p_11{font-size:11px;font-size:.84vw;line-height:2em}
.p_12{font-size:12px;font-size:.93vw;line-height:2em}
.p_13{font-size:13px;font-size:1.0vw;line-height:2em}
.p_14{font-size:14px;font-size:1.08vw;line-height:2em}
.p_15{font-size:15px;font-size:1.16vw;line-height:2em}
.p_16{font-size:16px;font-size:1.24vw;line-height:2em}
.p_17{font-size:17px;font-size:1.3vw;line-height:2em}
.p_18{font-size:18px;font-size:1.4vw;line-height:1.8em}
.p_19{font-size:19px;font-size:1.48vw;line-height:2em}
.p_20{font-size:20px;font-size:1.56vw;line-height:2em}
.p_21{font-size:21px;font-size:1.61vw;line-height:2em}
.p_22{font-size:22px;font-size:1.72vw;line-height:2em}
.p_23{font-size:23px;font-size:1.77vw;line-height:2em}
.p_24{font-size:24px;font-size:1.84vw;line-height:2em}
.p_25{font-size:25px;font-size:1.92vw;line-height:2em}
.p_26{font-size:26px;font-size:1.7vw;line-height:2em}
.p_27{font-size:27px;font-size:2.07vw;line-height:2em}
.p_28{font-size:28px;font-size:2.16vw;line-height:1em}
.p_29{font-size:29px;font-size:2.23vw;line-height:1em}
.p_30{font-size:30px;font-size:2.31vw;line-height:1em}
.p_31{font-size:31px;font-size:2.38vw;line-height:1em}
.p_32{font-size:32px;font-size:2.46vw;line-height:1em}
.p_34{font-size:34px;font-size:2.62vw;line-height:1em}
.p_35{font-size:35px;font-size:2.69vw;line-height:1em}
.p_36{font-size:36px;font-size:2.77vw;line-height:1em}
.p_37{font-size:37px;font-size:2.85vw;line-height:1em}
.p_38{font-size:38px;font-size:2.93vw;line-height:1em}
.p_40{font-size:40px;font-size:3.1vw;line-height:1em}
.p_42{font-size:42px;font-size:3.23vw;line-height:1em}
.p_44{font-size:44px;font-size:3.39vw;line-height:1em}
.p_46{font-size:46px;font-size:3.54vw;line-height:1em}
.p_47{font-size:47px;font-size:3.62vw;line-height:1em}
.p_48{font-size:48px;font-size:3.7vw;line-height:1em}
.p_50{font-size:50px;font-size:3.9vw;line-height:1em}
.p_55{font-size:55px;font-size:3.9vw;line-height:1em}
.p_60{font-size:60px;font-size:4.62vw;line-height:1em}
.p_65{font-size:65px;font-size:4.62vw;line-height:1em}
.p_70{font-size:70px;font-size:5.4vw;line-height:1em}
.p_75{font-size:75px;font-size:5.77vw;line-height:1em}
.p_84{font-size:84px;font-size:6.06vw;line-height:1em}
.p_88{font-size:88px;font-size:6.76vw;line-height:1em}
.p_95{font-size:95px;font-size:7.3vw;line-height:1em}
.p_100{font-size:100px;font-size:7.69vw;line-height:1em}
.p_156{font-size:156px;font-size:12.0vw;line-height:1em}

@media screen and (min-width: 1300px) {
    .p_10{font-size:10px}
	.p_11{font-size:11px}
    .p_12{font-size:12px}
    .p_13{font-size:13px}
    .p_14{font-size:14px}
    .p_15{font-size:15px}
    .p_16{font-size:16px}
    .p_17{font-size:17px}
    .p_18{font-size:18px}
    .p_19{font-size:19px}
    .p_20{font-size:20px}
    .p_21{font-size:21px}
    .p_22{font-size:22px}
	.p_23{font-size:23px}
    .p_24{font-size:24px}
    .p_25{font-size:25px}
    .p_26{font-size:26px}
    .p_27{font-size:27px}
    .p_28{font-size:28px}
	.p_29{font-size:29px}
    .p_30{font-size:30px}
    .p_31{font-size:31px}
    .p_32{font-size:32px}
    .p_34{font-size:34px}
	.p_35{font-size:35px}
    .p_36{font-size:36px}
    .p_37{font-size:37px}
    .p_38{font-size:38px}
    .p_40{font-size:40px}
    .p_42{font-size:42px}
    .p_44{font-size:44px}
    .p_46{font-size:46px}
	.p_47{font-size:47px}
    .p_48{font-size:48px}
    .p_50{font-size:50px}
    .p_55{font-size:55px}
    .p_60{font-size:60px}
    .p_65{font-size:65px}
    .p_70{font-size:70px}
	.p_75{font-size:75px}
	.p_84{font-size:84px}
	.p_88{font-size:88px}
	.p_95{font-size:95px}
	.p_100{font-size:100px}
	.p_156{font-size:156px}
}

@media screen and (max-width: 750px) {
    .content_box{width:90%}
    .s_11{font-size:11px;font-size:1.47vw;line-height:1.9em;}
    .s_12{font-size:12px;font-size:1.6vw;line-height:1.9em;}
	.s_13{font-size:13px;font-size:1.74vw;line-height:1.9em;}
	.s_14{font-size:14px;font-size:1.87vw;line-height:1.9em;}
    .s_15{font-size:15px;font-size:2vw;line-height:1.9em;}
    .s_16{font-size:16px;font-size:2.14vw;line-height:1.9em;}
	.s_17{font-size:17px;font-size:2.27vw;line-height:1.9em;}
    .s_18{font-size:18px;font-size:2.4vw;line-height:1.9em;}
    .s_20{font-size:20px;font-size:2.67vw;line-height:1.9em;}
    .s_21{font-size:21px;font-size:2.81vw;line-height:1.9em;}
    .s_22{font-size:22px;font-size:2.94vw;line-height:1.9em;}
    .s_23{font-size:23px;font-size:3.07vw;line-height:1.9em;}
    .s_24{font-size:24px;font-size:3.1vw;line-height:1.9em;}
	.s_25{font-size:25px;font-size:3.34vw;line-height:1.9em;}
    .s_26{font-size:26px;font-size:3.47vw;line-height:1.9em;}
    .s_27{font-size:27px;font-size:3.6vw;line-height:1.9em;}
    .s_28{font-size:28px;font-size:3.74vw;line-height:1.9em;}
    .s_30{font-size:30px;font-size:4vw;line-height:1em;}
    .s_32{font-size:32px;font-size:4.27vw;line-height:1em;}
    .s_34{font-size:34px;font-size:4.54vw;line-height:1em;}
    .s_35{font-size:35px;font-size:4.7vw;line-height:1em;}
    .s_36{font-size:36px;font-size:4.8vw;line-height:1em;}
    .s_38{font-size:38px;font-size:5.07vw;line-height:1em;}
    .s_40{font-size:40px;font-size:5.4vw;line-height:1em;}
    .s_42{font-size:42px;font-size:5.6vw;line-height:1em;}
    .s_44{font-size:44px;font-size:5.8vw;line-height:1em;}
	.s_46{font-size:46px;font-size:6.14vw;line-height:1em;}
	.s_47{font-size:47px;font-size:6.27vw;line-height:1em;}
	.s_48{font-size:48px;font-size:6.3vw;line-height:1em;}
    .s_50{font-size:50px;font-size:6.67vw;line-height:1em;}
    .s_52{font-size:52px;font-size:6.94vw;line-height:1em;}
	.s_54{font-size:54px;font-size:7.19vw;line-height:1em;}
	.s_55{font-size:55px;font-size:7.34vw;line-height:1em;}
	.s_58{font-size:58px;font-size:7.74vw;line-height:1em;}
    .s_60{font-size:60px;font-size:8vw;line-height:1em;}
    .s_70{font-size:70px;font-size:9.4vw;line-height:1em;}
    .s_85{font-size: 85px;font-size: 11.2vw;line-height: 1em;}
	.s_87{font-size: 87px;font-size: 11.61vw;line-height: 1em;}
	.s_88{font-size: 88px;font-size: 11.74vw;line-height: 1em;}
    .s_90{font-size: 90px;font-size: 11.9vw;line-height: 1em;}
	.s_100{font-size:100px;font-size:13.33vw;line-height:1em;}
	.s_110{font-size:110px;font-size:14.67vw;line-height:1em;}
	.s_120{font-size:120px;font-size:16.07vw;line-height:1em;}
}

@media screen and (min-width: 751px) {
	.sp{
		display: none;
	}
}

@media screen and (max-width: 750px) {
	.pc{
		display: none;
	}
}


/* ====================================================
site-header
==================================================== */
.site-header{
	border-bottom: 1px solid #e8e8e8;
}
.site-header .header__menu{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    padding-top: 2%;
    padding-bottom: 1.7%;
}
.site-header .header__menu .header_logo{
    width: 20.9%;
}
.site-header .header__menu .header_logo a{}
.site-header .header__menu #main_menu{
    width: 54%;
}
.site-header .header__menu #main_menu #top-menu{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
}
.site-header .header__menu #main_menu #top-menu li{}
.site-header .header__menu #main_menu #top-menu li a{
	font-weight: bold;
}

@media screen and (max-width: 750px) {
	.site-header{}
	.site-header .header__menu{
        padding-top: 5.6%;
        padding-bottom: 5.6%;
	}
	.site-header .header__menu .header_logo{
        width: 37.7%;
	}
	.site-header .header__menu #main_menu{
		display: none;
	}
}

/* ====================================================
site-header - white
==================================================== */
.site-header.white{
	border-bottom: 1px solid #a9afb3;
}
.site-header.white .header__menu #main_menu #top-menu li a{
	color: #fff;
}
.site-header.white .header__menu .common-header__mobile-icon-border{
	background: #fff;
}

@media screen and (max-width: 750px) {
	.site-header.white{
		border-bottom: none;
	}
}

/* ====================================================
site-header - sp menu
==================================================== */
.site-header .header__menu .common-header__mobile-icon {
  position: fixed;
  top: 7vw;
  right: 4vw;
  display: none;
  width: 40px;
  height: 40px;
  z-index: 102;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 750px) {
  .site-header .header__menu .common-header__mobile-icon {
    display: block;
  }
}
.site-header .header__menu .common-header__mobile-icon-border {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  display: block;
  width: 22.5px;
  height: 1px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-transition: background-color 0.3s;
  -o-transition: background-color 0.3s;
  transition: background-color 0.3s;
  background: #000;
}
.site-header .header__menu .mobile-close .common-header__mobile-icon-border{
	background: #fff;
}
.site-header .header__menu .common-header__mobile-icon-border:nth-child(2) {
  display: none;
}
.site-header .header__menu .common-header__mobile-icon-border:nth-child(1) {
  margin-top: 3px;
  margin-left: -13px;
}
.site-header .header__menu .common-header__mobile-icon-border:nth-child(3) {
  margin-top: -2px;
  margin-left: -13px;
}
@media screen and (max-width: 750px) {
  .site-header .header__menu .common-header.is-active {
    background: rgba(0, 0, 0, 0.6);
    padding: 15px 19px;
  }
  .site-header .header__menu .common-header.is-active .site-header .header__menu .common-header__mobile-icon {
    top: 10px;
    right: 16px;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
  }
}

@media screen and (max-width: 750px) {
  .site-header .header__menu .common-header__mobile-icon-border:nth-child(1) {
    -webkit-animation: click-header-sp-bar-1-close 0.8s cubic-bezier(0.45, 0.12, 0.04, 0.96) forwards;
    animation: click-header-sp-bar-1-close 0.8s cubic-bezier(0.45, 0.12, 0.04, 0.96) forwards;
  }

  @-webkit-keyframes click-header-sp-bar-1-close {
    0% {
      -webkit-transform: translateY(5px) rotate(45deg);
              transform: translateY(5px) rotate(45deg);
    }
    50% {
      -webkit-transform: translateY(5px) rotate(0);
              transform: translateY(5px) rotate(0);
    }
    100% {
      -webkit-transform: translateY(0) rotate(0);
              transform: translateY(0) rotate(0);
    }
  }
  @keyframes click-header-sp-bar-1-close {
    0% {
      -webkit-transform: translateY(5px) rotate(45deg);
              transform: translateY(5px) rotate(45deg);
    }
    50% {
      -webkit-transform: translateY(5px) rotate(0);
              transform: translateY(5px) rotate(0);
    }
    100% {
      -webkit-transform: translateY(0) rotate(0);
              transform: translateY(0) rotate(0);
    }
  }
  .site-header .header__menu .common-header__mobile-icon-border:nth-child(2) {
    -webkit-animation: click-header-sp-bar-2-close 0.8s cubic-bezier(0.45, 0.12, 0.04, 0.96) forwards;
    animation: click-header-sp-bar-2-close 0.8s cubic-bezier(0.45, 0.12, 0.04, 0.96) forwards;
  }

  @-webkit-keyframes click-header-sp-bar-2-close {
    0% {
      opacity: 0;
    }
    20% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  @keyframes click-header-sp-bar-2-close {
    0% {
      opacity: 0;
    }
    20% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  .site-header .header__menu .common-header__mobile-icon-border:nth-child(3) {
    -webkit-animation: click-header-sp-bar-3-close 0.8s cubic-bezier(0.45, 0.12, 0.04, 0.96) forwards;
    animation: click-header-sp-bar-3-close 0.8s cubic-bezier(0.45, 0.12, 0.04, 0.96) forwards;
  }

  @-webkit-keyframes click-header-sp-bar-3-close {
    0% {
      -webkit-transform: translateY(-5px) rotate(-45deg);
              transform: translateY(-5px) rotate(-45deg);
    }
    50% {
      -webkit-transform: translateY(-5px) rotate(0);
              transform: translateY(-5px) rotate(0);
    }
    100% {
      -webkit-transform: translateY(0) rotate(0);
              transform: translateY(0) rotate(0);
    }
  }
  @keyframes click-header-sp-bar-3-close {
    0% {
      -webkit-transform: translateY(-5px) rotate(-45deg);
              transform: translateY(-5px) rotate(-45deg);
    }
    50% {
      -webkit-transform: translateY(-5px) rotate(0);
              transform: translateY(-5px) rotate(0);
    }
    100% {
      -webkit-transform: translateY(0) rotate(0);
              transform: translateY(0) rotate(0);
    }
  }
  .site-header .header__menu .mobile-close .common-header__mobile-icon-border:nth-child(1) {
    margin-top: -5px;
    -webkit-animation: click-header-sp-bar-1-open 0.8s cubic-bezier(0.45, 0.12, 0.04, 0.96) forwards;
    animation: click-header-sp-bar-1-open 0.8s cubic-bezier(0.45, 0.12, 0.04, 0.96) forwards;
  }

  @-webkit-keyframes click-header-sp-bar-1-open {
    0% {
      -webkit-transform: translateY(0) rotate(0);
              transform: translateY(0) rotate(0);
    }
    50% {
      -webkit-transform: translateY(5px) rotate(0);
              transform: translateY(5px) rotate(0);
    }
    100% {
      -webkit-transform: translateY(5px) rotate(45deg);
              transform: translateY(5px) rotate(45deg);
    }
  }
  @keyframes click-header-sp-bar-1-open {
    0% {
      -webkit-transform: translateY(0) rotate(0);
              transform: translateY(0) rotate(0);
    }
    50% {
      -webkit-transform: translateY(5px) rotate(0);
              transform: translateY(5px) rotate(0);
    }
    100% {
      -webkit-transform: translateY(5px) rotate(45deg);
              transform: translateY(5px) rotate(45deg);
    }
  }
  .site-header .header__menu .mobile-close .common-header__mobile-icon-border:nth-child(2) {
    -webkit-animation: click-header-sp-bar-2-open 0.8s cubic-bezier(0.45, 0.12, 0.04, 0.96) forwards;
    animation: click-header-sp-bar-2-open 0.8s cubic-bezier(0.45, 0.12, 0.04, 0.96) forwards;
  }

  @-webkit-keyframes click-header-sp-bar-2-open {
    0% {
      opacity: 1;
    }
    80% {
      opacity: 0;
    }
    100% {
      opacity: 0;
    }
  }
  @keyframes click-header-sp-bar-2-open {
    0% {
      opacity: 1;
    }
    80% {
      opacity: 0;
    }
    100% {
      opacity: 0;
    }
  }
  .site-header .header__menu .mobile-close .common-header__mobile-icon-border:nth-child(3) {
    margin-top: 5px;
    -webkit-animation: click-header-sp-bar-3-open 0.8s cubic-bezier(0.45, 0.12, 0.04, 0.96) forwards;
    animation: click-header-sp-bar-3-open 0.8s cubic-bezier(0.45, 0.12, 0.04, 0.96) forwards;
  }

  @-webkit-keyframes click-header-sp-bar-3-open {
    0% {
      -webkit-transform: translateY(0) rotate(0);
              transform: translateY(0) rotate(0);
    }
    50% {
      -webkit-transform: translateY(-5px) rotate(0);
              transform: translateY(-5px) rotate(0);
    }
    100% {
      -webkit-transform: translateY(-5px) rotate(-45deg);
              transform: translateY(-5px) rotate(-45deg);
    }
  }
  @keyframes click-header-sp-bar-3-open {
    0% {
      -webkit-transform: translateY(0) rotate(0);
              transform: translateY(0) rotate(0);
    }
    50% {
      -webkit-transform: translateY(-5px) rotate(0);
              transform: translateY(-5px) rotate(0);
    }
    100% {
      -webkit-transform: translateY(-5px) rotate(-45deg);
              transform: translateY(-5px) rotate(-45deg);
    }
  }
}


/* ====================================================
 sp menu
==================================================== */
.sp-header__navGlobal {
  text-align: right;
}
@media screen and (max-width: 834px) {
  .sp-header__navGlobal {
    pointer-events: none;
    visibility: hidden;
    z-index: -1;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    position: fixed;
    top: 0;
    left: 0;
    overflow-y: auto;
    padding: 42px 20px 80px;
    width: 100%;
    text-align: center;
    background: #101010;
    height: 100vh;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
            clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  }
  .sp-header__navGlobal .sp-header__navGlobal-logo, .sp-header__navGlobal .sp-header__menu-item, .sp-header__navGlobal .sp-header__privacy, .sp-header__navGlobal .sp-header__copyright {
    -webkit-transform: translateY(25px);
        -ms-transform: translateY(25px);
            transform: translateY(25px);
    opacity: 0;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
  }
  .sp-header__navGlobal.is-show {
    pointer-events: auto;
    visibility: visible;
    z-index: 99;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .sp-header__navGlobal.is-show .sp-header__navGlobal-logo, .sp-header__navGlobal.is-show .sp-header__menu-item, .sp-header__navGlobal.is-show .sp-header__privacy, .sp-header__navGlobal.is-show .sp-header__copyright {
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .sp-header__navGlobal.is-show .sp-header__menu-item {
    -webkit-transition-delay: 0.3s;
         -o-transition-delay: 0.3s;
            transition-delay: 0.3s;
  }
  .sp-header__navGlobal.is-show .sp-header__privacy {
    -webkit-transition-delay: 0.6s;
         -o-transition-delay: 0.6s;
            transition-delay: 0.6s;
  }
  .sp-header__navGlobal.is-show .sp-header__copyright {
    -webkit-transition-delay: 0.9s;
         -o-transition-delay: 0.9s;
            transition-delay: 0.9s;
  }
}
.sp-header__navGlobal-logo {
  display: none;
}
@media screen and (max-width: 834px) {
  .sp-header__navGlobal-logo {
    display: block;
    max-width: 165px;
    width: 100%;
    margin: 0 auto 41px;
    position: relative;
    padding-bottom: 75px;
  }
  .sp-header__navGlobal-logo a {
    display: block;
  }
  .sp-header__navGlobal-logo img {
    width: 100%;
  }
  .sp-header__navGlobal-logo:before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 1px;
    height: 41px;
    background: #fff;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: 0;
  }
}
@media screen and (max-width: 834px) {
  .sp-header__menu {
    margin-bottom: 91px;
  }
}
.sp-header__menu-item:not(:last-child) {
  margin-bottom: 21px;
}
@media screen and (max-width: 834px) {
  .sp-header__menu-item:not(:last-child) {
    margin-bottom: 30px;
  }
}
.sp-header__menu-item a {
  color: #fff;
  font-weight: normal;
  display: inline-block;
  letter-spacing: 0.75px;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9);
  font-size: 1.4rem;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 834px) {
  .sp-header__menu-item a {
    font-size: 1.9rem;
  }
}
.sp-header__privacy {
  text-align: center;
  margin-bottom: 7px;
  color: #fff;
  font-size: 0.9rem;
}
.sp-header__copyright {
  text-align: center;
  color: #fff;
  font-weight: 500;
  font-size: 0.9rem;
}




/* ====================================================
site-hero
==================================================== */
#site-hero{
	border-bottom: 1px solid #e8e8e8;
}
#site-hero .hero_inner{
	padding-top: 5%;
	padding-bottom: 4%;
}
#site-hero .title{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: baseline;
}
#site-hero .title h2{
    font-style: italic;
    letter-spacing: 0.02em;
	color: #181818;
}
#site-hero .title h3{
    font-weight: bold;
    margin-left: 1em;
	color: #181818;
}
#site-hero .breadcrumbs{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    padding-left: 0.5%;
}
#site-hero .breadcrumbs li{
    position: relative;
    margin-left: 7.1em;
}
#site-hero .breadcrumbs li:nth-of-type(1){
	margin-left: 0px;
}
#site-hero .breadcrumbs li::before{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: -3.5em;
    transform: translate(-50%, -50%);
    width: 4.5em;
    height: 1px;
    background: #181818;
}
#site-hero .breadcrumbs li:nth-of-type(1)::before{
	display: none;
}
#site-hero .breadcrumbs li p{
	max-width: 10em;
	overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
#site-hero .breadcrumbs li a{}

@media screen and (max-width: 750px) {
	#site-hero{}
	#site-hero .hero_inner{
        padding-top: 11.5%;
        padding-bottom: 10%;
	}
	#site-hero .title{}
	#site-hero .breadcrumbs{}
	#site-hero .breadcrumbs li{}
	#site-hero .breadcrumbs li p{}
	#site-hero .breadcrumbs li a{}
}


/* ====================================================
site-hero - white
==================================================== */
#site-hero.white .hero_inner{
	padding-top: 32.2%;
    padding-bottom: 7.2%;
}
#site-hero.white .title h2{
	color: #fff;
}
#site-hero.white .title h3{
	color: #fff;
}
#site-hero.white .breadcrumbs li::before{
	background: #fff;
}
#site-hero.white .breadcrumbs li a{
	color: #fff;
}
#site-hero.white .breadcrumbs li p{
	color: #fff;
}

@media screen and (max-width: 750px) {
	#site-hero.white .hero_inner{
		padding-top: 51.3%;
        padding-bottom: 3.8%;
	}
}


/* ====================================================
common btn
==================================================== */

.common_btn.c-btn__01 {
  max-width: 224px;
  width: 100%;
  height: 59px;
  padding: 5px 44px 5px 30px;
  letter-spacing: 0.5px;
  border-radius: 30px;
  text-transform: capitalize;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  position: relative;
  background: #000;
  color: #fff;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 834px) {
  .common_btn.c-btn__01 {
    max-width: 118px;
    height: 30px;
    font-size: 0.9rem;
    padding: 5px 28px 5px 25px;
  }
}
.common_btn.c-btn__01:after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 13px;
  height: 9px;
  background: url("assets/img/top/common/arrow-right.png") center no-repeat;
  background-size: contain;
  right: 23px;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 834px) {
  .common_btn.c-btn__01:after {
    right: 9px;
    width: 9px;
    height: 6px;
  }
}
.common_btn.c-btn__01--border {
  border: 1px solid rgba(255, 255, 255, 0.5);
  background: rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 834px) {
  .common_btn.c-btn__01--border {
    font-size: 1.25rem;
  }
}

/* ====================================================
common text
==================================================== */
.common_text .c-ft--en {
  font-family: "Bebas Neue", sans-serif;
}

.common_text .c-txt__01 {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.97;
}
@media screen and (max-width: 1250px) {
  .common_text .c-txt__01 {
    line-height: 1.7;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 834px) {
  .common_text .c-txt__01 {
    line-height: 1.7233;
    font-size: 1.2rem;
  }
}


.common_text .c-ttl__01 {
  margin-bottom: 40px;
}
.common_text .c-ttl__01 span {
  display: block;
  font-style: italic;
}
.common_text .c-ttl__01 span.c-ft--en {
  margin-bottom: 5px;
  line-height: 1;
  letter-spacing: 6px;
  font-size: 9rem;
}
@media screen and (max-width: 1250px) {
  .common_text .c-ttl__01 span.c-ft--en {
    font-size: 7rem;
  }
}
@media screen and (max-width: 834px) {
  .common_text .c-ttl__01 span.c-ft--en {
    margin-bottom: 2px;
    letter-spacing: 3px;
    font-size: 4.55rem;
  }
}
.common_text .c-ttl__01 span.c-ft--jp {
  letter-spacing: 2px;
  font-weight: 500;
  font-size: 1.6rem;
}
@media screen and (max-width: 834px) {
  .common_text .c-ttl__01 span.c-ft--jp {
    letter-spacing: 1px;
    font-size: 0.9rem;
  }
}
.common_text .c-ttl__01--white {
  color: #fff;
}
.common_text .c-ttl__01--lg span.c-ft--en {
  letter-spacing: 0;
  font-size: 10.6rem;
}
@media screen and (max-width: 1250px) {
  .common_text .c-ttl__01--lg span.c-ft--en {
    font-size: 8rem;
  }
}
@media screen and (max-width: 834px) {
  .common_text .c-ttl__01--lg span.c-ft--en {
    font-size: 5.2rem;
  }
}
@media screen and (max-width: 834px) {
  .common_text .c-ttl__01--lg span.c-ft--jp {
    font-size: 1.15rem;
  }
}


/* ====================================================
template part - recruit
==================================================== */
.part-recruit .inner {
  width: 90%;
  margin: 0 auto;
  max-width: 1020px;
}
.part-recruit {
  padding: 16px 0 107px;
  background: #fff;
}
@media screen and (max-width: 834px) {
  .part-recruit {
    padding: 66px 0 50px;
  }
}
.part-recruit .inner {
  max-width: 1340px;
}
@media screen and (max-width: 834px) {
  .part-recruit .inner {
    padding: 0 10px;
  }
}

.part-recruit .recruit-box {
  border-radius: 100px;
  overflow: hidden;
  background: url("assets/img/top/index/bg-01.jpg") center no-repeat;
  background-size: cover;
  text-align: center;
  color: #fff;
  position: relative;
  z-index: 2;
  padding: 94px 20px;
}
@media screen and (max-width: 834px) {
  .part-recruit .recruit-box {
    padding: 46px 9px;
    border-radius: 25px;
  }
}
.part-recruit .recruit-box:after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  top: 0;
  left: 0;
  z-index: -1;
}
.part-recruit .recruit-box__ttl {
  font-weight: 500;
  margin-bottom: 25px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 4rem;
}
@media screen and (max-width: 1250px) {
  .part-recruit .recruit-box__ttl {
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 834px) {
  .part-recruit .recruit-box__ttl {
    margin-bottom: 19px;
    font-size: 2.25rem;
  }
}
.part-recruit .recruit-box .c-ttl__01 {
  text-align: center;
  color: #fff;
  margin-bottom: 34px;
  padding-bottom: 68px;
  position: relative;
}
.part-recruit .recruit-box .c-ttl__01 .c-ft--en {
  margin-bottom: 3px;
}
@media screen and (max-width: 834px) {
  .part-recruit .recruit-box .c-ttl__01 .c-ft--en {
    font-size: 4.9rem;
  }
}
@media screen and (max-width: 834px) {
  .part-recruit .recruit-box .c-ttl__01 {
    margin-bottom: 14px;
    padding-bottom: 40px;
  }
}
.part-recruit .recruit-box .c-ttl__01:before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 1px;
  height: 48px;
  background: #fff;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 0;
}
@media screen and (max-width: 834px) {
  .part-recruit .recruit-box .c-ttl__01:before {
    height: 24px;
  }
}
.part-recruit .recruit-box .c-txt__01 {
  margin-bottom: 39px;
}
@media screen and (max-width: 834px) {
  .part-recruit .recruit-box .c-txt__01 {
    margin-bottom: 35px;
  }
}
@media screen and (max-width: 750px) {
  .part-recruit .recruit-box .c-txt__01 {
        text-align: left;
        width: 90%;
        margin: 0 auto;
        margin-bottom: 7%;
        line-height: 2em;
  }
  .part-recruit .recruit-box .c-txt__01 br{
	  display: none;
  }
}
.part-recruit .recruit-box .common_btn.c-btn__01 {
  margin: 0 auto;
}
@media screen and (max-width: 834px) {
  .part-recruit .recruit-box .common_btn.c-btn__01 {
    height: 47px;
    max-width: 175px;
    letter-spacing: -0.25px;
  }
  .part-recruit .recruit-box .common_btn.c-btn__01::after {
    right: 17px;
  }
}



/* ====================================================
Footer
==================================================== */
.main-footer .inner {
  width: 90%;
  margin: 0 auto;
  max-width: 1020px;
}
@media screen and (max-width: 834px) {
  .main-footer .inner {
    width: 100%;
    padding: 0 20px;
  }
}
#main-footer .contact-main {
  position: relative;
}
#main-footer .contact-main .inner {
  max-width: 1068px;
}
#main-footer .contact-main__img {
  border-radius: 50px 50px 0 0;
  overflow: hidden;
}
@media screen and (max-width: 834px) {
  #main-footer .contact-main__img {
    border-radius: 0;
  }
}
#main-footer .contact-main__img img {
  width: 100%;
}
@media screen and (max-width: 834px) {
  #main-footer .contact-main__img img {
    min-height: 462px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
#main-footer .contact-main .inner {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media screen and (max-width: 834px) {
  #main-footer .contact-main .inner {
    display: block;
  }
}
#main-footer .contact-main__ct {
  position: absolute;
  top: 49.4%;
  left: 0;
  width: 100%;
  z-index: 2;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 834px) {
  #main-footer .contact-main__ct {
    top: 42.9%;
    padding: 0 5px;
  }
}
#main-footer .contact-main__ct .c-ttl__01 {
  margin-bottom: 0;
  padding-top: 39px;
}
@media screen and (max-width: 834px) {
  #main-footer .contact-main__ct .c-ttl__01 {
    padding-top: 0;
    margin-bottom: 34px;
  }
}
#main-footer .contact-main__ct .c-ttl__01 .c-ft--en {
  letter-spacing: 4px;
}
@media screen and (max-width: 834px) {
  #main-footer .contact-main__ct .c-ttl__01 .c-ft--en {
    letter-spacing: 2.5px;
    font-size: 6.3rem;
  }
}
#main-footer .contact-main__ct .c-ttl__01 .c-ft--jp {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  padding-left: 13px;
  letter-spacing: -1px;
}
@media screen and (max-width: 834px) {
  #main-footer .contact-main__ct .c-ttl__01 .c-ft--jp {
    padding-left: 7px;
    letter-spacing: 0;
    font-size: 0.95rem;
  }
}
#main-footer .contact-main__btn {
  width: 284px;
  height: 284px;
  padding: 20px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  border: 1px solid #fff;
  border-radius: 50%;
  font-weight: 500;
  text-align: center;
  line-height: 1.54666;
  font-size: 1.5rem;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 1250px) {
  #main-footer .contact-main__btn {
    width: 200px;
    height: 200px;
  }
}
@media screen and (max-width: 834px) {
  #main-footer .contact-main__btn {
    width: 153.5px;
    height: 153.5px;
    margin-right: 2px;
    margin-left: auto;
    font-size: 1rem;
  }
}

.main-footer {
  position: relative;
  color: #fff;
  background: #000;
  overflow: hidden;
  border-radius: 50px 50px 0 0;
  z-index: 2;
}
@media screen and (max-width: 834px) {
  .main-footer {
    border-radius: 0;
  }
}
.main-footer:after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 120%;
  height: 120%;
  background: url("assets/img/top/common/bg-ft.png") right bottom no-repeat;
  background-size: contain;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.main-footer__content {
  padding: 97px 0 130px;
}
@media screen and (max-width: 834px) {
  .main-footer__content {
    padding: 21px 8px 48px;
  }
}
.main-footer__content .inner {
  max-width: 1060px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media screen and (max-width: 834px) {
  .main-footer__content .inner {
    -ms-flex-wrap: wrap-reverse;
        flex-wrap: wrap-reverse;
  }
}
.main-footer__clmL {
  width: 300px;
  padding-top: 10px;
}
@media screen and (max-width: 834px) {
  .main-footer__clmL {
    width: 100%;
    text-align: center;
  }
}
.main-footer__logo {
  display: block;
  width: 100%;
  max-width: 222px;
  margin-bottom: 42px;
  margin-top: -30px;
}
@media screen and (max-width: 1250px) {
  .main-footer__logo {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 834px) {
  .main-footer__logo {
    margin-top: 0;
    margin-bottom: 14px;
    max-width: 160px;
  }
}
.main-footer__logo img {
  width: 100%;
}
.main-footer__clmR {
  width: calc(100% - 300px);
}
@media screen and (max-width: 834px) {
  .main-footer__clmR {
    width: 100%;
    margin-bottom: 44px;
  }
}
.main-footer__menu {
  margin-bottom: 54px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: end;
  -webkit-box-pack: end;
          justify-content: flex-end;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 10px 45px;
  letter-spacing: 0.5px;
}
@media screen and (max-width: 1250px) {
  .main-footer__menu {
    gap: 10px 22px;
    letter-spacing: 0;
    margin-bottom: 35px;
  }
}
@media screen and (max-width: 834px) {
  .main-footer__menu {
    gap: 16px 0;
    margin-bottom: 51px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
@media screen and (max-width: 834px) {
  .main-footer__menu-item {
    width: 33.33%;
  }
}
@media screen and (max-width: 640px) {
  .main-footer__menu-item {
    width: 50%;
  }
  .main-footer__menu-item:nth-child(1) {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .main-footer__menu-item:nth-child(2) {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .main-footer__menu-item:nth-child(3) {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .main-footer__menu-item:nth-child(4) {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .main-footer__menu-item:nth-child(5) {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .main-footer__menu-item:nth-child(6) {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
}
.main-footer__menu-item a {
  display: block;
  font-weight: 500;
  color: #fff;
  font-size: 1.6rem;
}
@media screen and (max-width: 1250px) {
  .main-footer__menu-item a {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 834px) {
  .main-footer__menu-item a {
    font-size: 1.3rem;
  }
}
.main-footer__list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: end;
  -webkit-box-pack: end;
          justify-content: flex-end;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 10px 39px;
}
@media screen and (max-width: 834px) {
  .main-footer__list {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 10px 0;
    margin-left: -4px;
  }
}
@media screen and (max-width: 834px) {
  .main-footer__list-item {
    width: 100%;
  }
}
.main-footer__list-item a {
  display: block;
  font-weight: 500;
  color: #fff;
  font-size: 1.2rem;
}
@media screen and (max-width: 834px) {
  .main-footer__list-item a {
    font-size: 1rem;
  }
}
.main-footer__copyright {
  font-weight: 500;
  letter-spacing: 0.4px;
  font-size: 1.2rem;
  color: rgba(255, 255, 255, 0.3);
}
@media screen and (max-width: 834px) {
  .main-footer__copyright {
    text-align: left;
    letter-spacing: 0;
    font-size: 0.9rem;
  }
}

/* ====================================================
 pagination - archive
==================================================== */
.pagination_area{
    margin-bottom: 5.6%;
}
.pagination_area .pagination{}
.pagination_area .pagination h2{
	display: none;
}
.pagination_area .pagination .nav-links{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
}
.pagination_area .pagination .nav-links .page-numbers{
    display: block;
    width: auto;
    min-width: 2em;
    height: auto;
    line-height: 2em;
    text-align: center;
    margin: 0% 0.2em;
    color: #000;
}
.pagination_area .pagination .nav-links .page-numbers.current{
    background: #000;
    color: #fff;
    border-radius: 5em;
}
.pagination_area .pagination .nav-links .page-numbers.prev{}
.pagination_area .pagination .nav-links .page-numbers.next{}

@media screen and (max-width: 750px) {
	.pagination_area{
        margin-bottom: 12%;
	}
}


/* ====================================================
 pagination - single
==================================================== */
.paging .prev-next-wrap{
	position: relative;
}
.paging .prev-next-wrap .btnback{
    margin: 0 auto;
    width: 20%;
}
.paging .prev-next-wrap .pvitem{
    position: absolute;
}
.paging .prev-next-wrap .pvitem .lbl{
    color: #b8b8b8;
    letter-spacing: 0.15em;
    margin: 0px;
}
.paging .prev-next-wrap .pvitem .link{}
.paging .prev-next-wrap .pvitem .link a{
    max-width: 15em;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #121212;
    text-decoration: underline;
}
.paging .prev-next-wrap .pvitem.prev{
    left: 2.8%;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
}
.paging .prev-next-wrap .pvitem.next{
	right: 2.8%;
    top: 50%;
    transform: translateY(-50%);
	display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-end;
}
.paging .prev-next-wrap .pvitem.next .link a{
	text-align: right;
}

@media screen and (max-width: 750px) {
	.paging{
        margin-top: 11.3%;
        padding: 5.3% 0%;
        padding-top: 20.2%;
        margin-bottom: 12%;
	}
	.paging .prev-next-wrap .btnback{
        width: 49%;
	}
	.paging .prev-next-wrap .pvitem.prev{
        left: 0%;
        top: -14vw;
        transform: translateY(0%);
	}
	.paging .prev-next-wrap .pvitem.next{
        right: 0%;
        top: -165%;
        transform: translateY(0%);
	}
}


/* ====================================================
 news - archive
==================================================== */

#news_archive{}
#news_archive .categories{
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    margin-top: 5%;
}
#news_archive .categories ul{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
	width: 100%;
}
#news_archive .categories ul li{
    margin-left: 2.5%;
}
#news_archive .categories ul li a{
    line-height: 1.1em;
    display: block;
    color: #c3c3c3;
	position: relative;
}
#news_archive .categories ul li a.active{
	color: #000;
}
#news_archive .categories ul li a.active::before{
    content: "";
    display: block;
    position: absolute;
    top: -0.9em;
    left: 50%;
    transform: translateX(-50%);
    width: 0.5em;
    height: 0.5em;
    border-radius: 5em;
    background: #000;
}
#news_archive .news_list{
    width: 100%;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    margin: 0 auto;
    margin-top: 2.5%;
    margin-bottom: 4%;
}
#news_archive .news_list li{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    padding: 2.5% 0%;
    border-top: 1px solid #000;
}
#news_archive .news_list li:nth-of-type(1){
	border-top: none;
}
#news_archive .news_list li .date{
    line-height: 1em;
    width: 8%;
    color: #535353;
    margin: 0px;
    text-align: center;
}
#news_archive .news_list li .category{
	width: 15%;
}
#news_archive .news_list li .category span{
	display: block;
    text-align: center;
    background: #000;
    color: #fff;
    border-radius: 0.4em;
    line-height: 1em;
    padding: 0.5em 1em;
    padding-top: 0.6em;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
#news_archive .news_list li .category.empty span{
	background: none;
}
#news_archive .news_list li .ttl{
    line-height: 1.5em;
    width: 71%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #101010;
}


@media screen and (max-width: 750px) {
	#news_archive .categories{
		margin-top: 12.5%;
	}
	#news_archive .categories ul{
		justify-content: flex-start;
        flex-wrap: wrap;
	}
	#news_archive .categories ul li{
		margin-right: 7.4%;
		margin-left: 0px;
		margin-bottom: 3%;
	}
	#news_archive .news_list{
		width: 100%;
        margin-top: 5.5%;
        margin-bottom: 9.8%;
	}
	#news_archive .news_list li{
        padding-left: 0;
        padding-top: 4.7%;
        padding-bottom: 6.7%;
        padding-right: 0;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
	}
	#news_archive .news_list li .date{
        width: 21.6%;
        text-align: left;
	}
	#news_archive .news_list li .ttl{
        width: 100%;
        margin-left: 0%;
        margin-top: 5.2%;
	}
	#news_archive .news_list li .category{
		width: 41.5%;
	}
	
}



 /* ==========================================================================
   news - single
   ========================================================================== */

#news_content{}
#news_content .content_box{
    max-width: 1060px;
    width: 81.6%;
}
#news_content .news_area{
    padding-top: 5.2%;
}
#news_content .news_area .news_head{
	display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
}
#news_content .news_area .news_head .date{
    color: #535353;
    line-height: 1em;
}
#news_content .news_area .news_head .news_categories{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
}
#news_content .news_area .news_head .news_categories a,
#news_content .news_area .news_head .news_categories p{
    background: #000;
    color: #fff;
    line-height: 1em;
    padding: 0.5em 1.5em;
    padding-top: 0.6em;
    display: block;
    border-radius: 0.3em;
    margin-left: 2em;
}
#news_content .news_area .news_title{
    color: #010101;
    font-weight: bold;
    line-height: 1.5em;
    padding-bottom: 2.9%;
    padding-top: 2%;
    margin-bottom: 0px;
}
#news_content .news_area .news_image{
    width: 91.6%;
    margin: 0 auto;
    padding-bottom: 3.6%;
}
#news_content .news_area .news_image img{
	max-width: 100%;
	width: 100%;
	height: auto;
}
#news_content .news_area .news_content{}
#news_content .news_area .news_content h2{
	font-size:28px;
	font-size:2.2vw;
	position: relative;
	background: #000;
	color: #fff;
	font-weight: bold;
	border-radius: 0.3em;
	padding: 0.43em 1em;
	padding-top: 0.44em;
    margin-bottom: 3.6%;
    line-height: 1.4em;
}
#news_content .news_area .news_content h3{
	font-size:28px;
	font-size:2.2vw;
	margin-top: 4.4%;
	margin-bottom: 2%;
	color: #121212;
	font-weight: bold;
	padding: 0.5em 1em;
	padding-top: 0.6em;
	background: #f6f6f6;
	border-bottom: 0.25em solid #dbdbdb;
	position: relative;
	line-height: 1.4em;
}
#news_content .news_area .news_content h3::after{
    content: "";
    font-size: 28px;
    font-size: 2.2vw;
    width: 11%;
    padding-top: 0.25em;
    height: 0%;
    position: absolute;
    bottom: 0px;
    transform: translateY(100%);
    left: 0%;
    background: #000;
}
#news_content .news_area .news_content h4{
    font-size: 28px;
    font-size: 2.2vw;
    margin-top: 4.4%;
    margin-bottom: 2%;
    color: #121212;
    font-weight: bold;
    padding: 0em 0%;
    padding-top: 0.1em;
    line-height: 1em;
    position: relative;
    display: inline-block;
    padding-left: 0.74em;
    line-height: 1.4em;
    display: block;
}
#news_content .news_area .news_content h4::before{
	content: "";
    font-size: 28px;
    font-size: 2.2vw;
    width: 0.2em;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0%;
    background: #000;
}
#news_content .news_area .news_content h5{
    font-size: 24px;
    font-size: 1.84vw;
    margin-top: 4.4%;
    margin-bottom: 3%;
    color: #121212;
    font-weight: bold;
    padding-top: 0.3em;
    line-height: 1em;
    position: relative;
    padding-left: 1em;
    line-height: 1.4em;
}
#news_content .news_area .news_content h5::before{
    content: "";
    font-size: 24px;
    font-size: 1.84vw;
    width: 0.4em;
    height: 0.4em;
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    left: 0%;
    background: #000;
}
#news_content .news_area .news_content p,
#news_content .news_area .news_content ul li{
	color: #2b2929;
	font-size:16px;
	font-size:1.24vw;
	line-height:2em
}
#news_content .news_area .news_content ul{
	padding-left: 2em;
}
#news_content .news_area .news_content ul li{
	list-style-type: disc;
}
#news_content .news_area .news_content a{}
#news_content .paging{
    margin-top: 7.5%;
    padding: 2.6% 0%;
    border-top: 1px solid #eaeaea;
    margin-bottom: 4.5%;
}
#news_content .news_area .news_content blockquote p{
	font-weight: bold;
}

@media screen and (min-width: 1300px) {
	#news_content .news_area .news_content h2{
		font-size:28px
	}
	#news_content .news_area .news_content h3{
		font-size:28px
	}
	#news_content .news_area .news_content h3::after{
		font-size: 28px;
	}
	#news_content .news_area .news_content h4{
		font-size:28px
	}
	#news_content .news_area .news_content h4::before{
		font-size: 28px;
	}
	#news_content .news_area .news_content h4::after{
		font-size: 28px;
	}
	#news_content .news_area .news_content h5{
		font-size:24px
	}
	#news_content .news_area .news_content h5::before{
		font-size: 24px;
	}
	#news_content .news_area .news_content h5::after{
		font-size: 24px;
	}
	#news_content .news_area .news_content p,
	#news_content .news_area .news_content ul li{
		font-size:16px;
	}
}


@media screen and (max-width: 750px) {
	#news_content .content_box{
		width: 89.4%;
	}
	#news_content .news_area{}
	#news_content .news_area .news_head{}
	#news_content .news_area .news_head .date{}
	#news_content .news_area .news_head .news_categories{}
	#news_content .news_area .news_head .news_categories a,
	#news_content .news_area .news_head .news_categories p{}
	#news_content .news_area .news_title{
        padding-bottom: 4.4%;
        padding-top: 3%;
	}
	#news_content .news_area .news_image{
        width: 100%;
        padding-bottom: 8.8%;
	}
	#news_content .news_area .news_content{}
	#news_content .news_area .news_content h2{
		font-size:28px;
		font-size:3.74vw;
        margin-bottom: 7.6%;
	}
	#news_content .news_area .news_content h2::after{
        width: 5.7%;
        padding-top: 4.8%;
        left: 10%;
	}
	#news_content .news_area .news_content h3{
		font-size:28px;
		font-size:3.74vw;
        margin-top: 8.9%;
        margin-bottom: 5.9%;
	}
	#news_content .news_area .news_content h4{
		font-size:28px;
		font-size:3.74vw;
		margin-top: 8.9%;
        margin-bottom: 4.3%;
	}
	#news_content .news_area .news_content h5{ 
		font-size:24px;
		font-size:3.1vw;
		margin-top: 8.9%;
        margin-bottom: 5.9%;
	}
	#news_content .news_area .news_content p,
	#news_content .news_area .news_content ul li{
		font-size:24px;
		font-size:3.1vw;
		line-height:1.9em
	}
	#news_content .news_area .news_content a{}
}


 /* ==========================================================================
   page - privacy
   ========================================================================== */
#privacy_area{
	border-bottom: 1px solid #e8e8e8;
}
#privacy_content{
    padding-bottom: 5%;
}
#privacy_content dl{
    width: 90%;
    margin: 0 auto;
}
#privacy_content dl dt{
    margin-bottom: 2.7%;
    margin-top: 6.6%;
	border-left: 3px solid #a7a7a7;
}
#privacy_content dl dt p{
    line-height: 1em;
    font-weight: bold;
    padding-left: 0.6em;
    padding-top: 0.1em;
    letter-spacing: 0.05em;
}
#privacy_content dl dd{}
#privacy_content dl dd p{
	margin-bottom: 2.7%;
}
#privacy_content dl dd ul{
	margin-bottom: 2.7%;
}
#privacy_content dl dd ul li{
    margin-bottom: 1%;
	padding-left: 1.9em;
	position: relative;
}
#privacy_content dl dd ul li::after{
	content: "1.";
	display: block;
	position: absolute;
	top: 50%;
	left: 0%;
	transform: translateY(-50%);
}
#privacy_content dl dd ul li:nth-of-type(2)::after{
	content: "2.";
}
#privacy_content dl dd ul li:nth-of-type(3)::after{
	content: "3.";
}
#privacy_content dl dd ul li:nth-of-type(4)::after{
	content: "4.";
}
#privacy_content dl dd ul li:nth-of-type(5)::after{
	content: "5.";
}
#privacy_content dl dd ul li:nth-of-type(6)::after{
	content: "6.";
}
#privacy_content dl dd ul li:nth-of-type(7)::after{
	content: "7.";
}
#privacy_content dl dd ul li:nth-of-type(8)::after{
	content: "8.";
}
#privacy_content dl dd ul li:nth-of-type(9)::after{
	content: "9.";
}
#privacy .part-recruit{
	padding-top: 6%;
}

@media screen and (min-width: 1300px) {
	#privacy .part-recruit{
		padding-top: 78px;
	}
}
   
@media screen and (max-width: 750px) {
	#privacy #site-hero .title{
		flex-direction: column-reverse;
	}
	#privacy #site-hero .title h2{
		width: 100%;
	}
	#privacy #site-hero .title h3{
        width: 100%;
        padding-left: 1em;
        margin-left: 0em;
        margin-bottom: 3%;
        line-height: 1em;
	}
	#privacy_content{}
	#privacy_content dl{
		width: 100%;
	}
	#privacy_content dl dt{
        margin-bottom: 6%;
        margin-top: 8.5%;
        border-left: 0.5em solid #a7a7a7;
	}
	#privacy_content dl dt p{
        line-height: 1.7em;
        padding-left: 1em;
	}
	#privacy_content dl dd{}
	#privacy_content dl dd p{
		margin-bottom: 6%;
	}
	#privacy_content dl dd ul{
		margin-bottom: 6%;
	}
	#privacy_content dl dd ul li{
        margin-bottom: 2%;
	}
	#privacy_content dl dd ul li::after{
        top: 0%;
        transform: none;
	}
	#privacy .part-recruit{
		padding-top: 10%;
	}
}


 /* ==========================================================================
   page - contact
   ========================================================================== */
#contact_area .content_box{
	width: 80%;
}
#contact_content{}
#contact_content .steps{
    padding-top: 5.7%;
    padding-bottom: 5.7%;
    width: 71.7%;
    margin: 0 auto;
}
#contact_content .steps ul{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
}
#contact_content .steps ul li{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    width: 12.8%;
	position: relative;
}
#contact_content .steps ul li:nth-of-type(1){
	z-index: 3;
}
#contact_content .steps ul li:nth-of-type(2)::before,
#contact_content .steps ul li:nth-of-type(3)::before{
    content: "";
    width: 335%;
    padding-top: 1px;
    height: 0%;
    position: absolute;
    top: calc(50% + 1px);
    right: 50%;
    background: #bababa;
}
#contact_content .steps ul li.active:nth-of-type(2)::before,
#contact_content .steps ul li.active:nth-of-type(3)::before{
	background: #000;
}
#contact_content .steps ul li:nth-of-type(2),
#contact_content .steps ul li:nth-of-type(2)::before{
	z-index: 2;
}
#contact_content .steps ul li:nth-of-type(3),
#contact_content .steps ul li:nth-of-type(3)::before{
	z-index: 1;
}

#contact_content .steps ul li .num{
	line-height: 1em;
	color: #bababa;
    padding-bottom: 0.3em;
	font-weight: bold;
}
#contact_content .steps ul li .ball{
    line-height: 1em;
	background: #bababa;
    border-radius: 5em;
    width: 1.2em;
    height: 1.2em;
}
#contact_content .steps ul li .ttl{
    line-height: 1em;
	color: #bababa;
    padding-top: 0.9em;
	font-weight: bold;
}
#contact_content .steps ul li.active .num{
    color: #363636;
}
#contact_content .steps ul li.active .ball{
    background: #000;
}
#contact_content .steps ul li.active .ttl{
    color: #363636;
}
#contact_content #contact_form{
    width: 84.7%;
    margin: 0px;
}
#contact_content .thanks h3{
	color: #0b0b0b;
    text-align: center;
    padding-bottom: 5%;
}
#contact_form{
    max-width: 980px;
    margin: 0 auto;
}
#contact_form table{
    width: 100%;
    margin: 0 auto;
}
#contact_form table tr{
    border: none;
}
#contact_form table tr:nth-of-type(1){
	
}
#contact_form table td{
    padding: 1%;
    padding-left: 0%;
    padding-right: 1.2%;
}
#contact_form table td:nth-of-type(1){
	color: #2e2e2e;
    width: 28.4%;
    padding: 1.2%;
    text-align: right;
    font-weight: bold;
    vertical-align: top;
    padding-top: 2.7%;
}
#contact_form table tr.line_radio td:nth-of-type(1){
    vertical-align: middle;
}
#contact_form table td:nth-of-type(1) .hissu{
    color: #cf000e;
    padding: 0em;
    position: relative;
    top: -0.5em;
    margin-left: 0.3em;
}
#contact_form table td .radioArea{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    border-top: 1px solid #bfbfbf;
    border-bottom: 1px solid #bfbfbf;
    padding: 3% 0%;
}
#contact_form table td:nth-of-type(2) .radioArea .radio_line{
    margin: 0.5em 0em;
}
#contact_form table td:nth-of-type(2) input{
    background: #f0f5f5;
    border: none;
    border-radius: 0.6em;
    line-height: 1em;
    padding: 3.3% 4%;
    font-size: 16px;
    width: 100%;
    box-sizing: border-box;
}
#contact_form table.step_check td:nth-of-type(2) input{
	background: #ffffff;
    border: 1px solid #dddddd;
    color: #bbb;
}
#contact_form table td:nth-of-type(2) textarea{
    background: #f0f5f5;
    border: none;
    border-radius: 0.6em;
    padding: 3.3% 4%;
    font-size: 16px;
    min-height: 170px;
	box-sizing: border-box;
	width: 100%;
}
#contact_form table.step_check td:nth-of-type(2) textarea{
    background: #ffffff;
    border: 1px solid #dddddd;
    color: #bbb;
}
#contact_form table td:nth-of-type(2) .err{
    color: #f10000;
    padding-left: 5px;
    padding-top: 1.5%;
    display: none;
    font-size: 14px;
    margin-bottom: 0px;
}
#contact_form table td:nth-of-type(2) .warning{
    color: #000;
    padding-left: 5px;
    padding-top: 1.5%;
    font-size: 12px;
    font-size: 1vw;
    margin-bottom: 0px;
}
#contact_form table td:nth-of-type(2) .radio_line{
    margin-top: 1em;
}
#contact_form table td:nth-of-type(2) .radio_line input{
    display: inline-block;
    vertical-align: middle;
    vertical-align: baseline;
}
#contact_form table td:nth-of-type(2) .radio_line label{
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 0px;
	font-weight: bold;
    color: #2e2e2e;
}
#contact_area .btn_area{
	margin-top: 2%;
    padding-bottom: 8%;
}
#contact_area .btn_area .privacy{
	text-align: center;
    margin-bottom: 2%;
    color: #161616;
}
#contact_area .btn_area .privacy a{
	color: #161616;
    border-bottom: 1px solid #161616;
}
#contact_area .btn_area .btn{
	display: block;
    position: relative;
    margin-bottom: 0%;
    background: #000;
    line-height: 1em;
    color: #fff;
    padding: 1.7em 0em;
    border: 1px solid #000;
    -moz-transition: all .5s ease;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    cursor: pointer;
    border-radius: 5em;
    text-align: center;
    width: 43.2%;
    margin: 0 auto;
}
#contact_area .btn_area .btn::after{
    content: "";
    max-width: 30px;
    width: 6.7%;
    padding-top: 3%;
    height: 0%;
    position: absolute;
    top: 46%;
    transform: translateY(-50%);
    right: 7%;
    background: url(../images/renew/contact/ico_arrow_white.png) center center no-repeat;
    background-size: contain;
}
#contact_area .btn_area .btn:hover{
    background: #fff;
    color: #000;
}

@media screen and (max-width: 750px) {
	#contact_area .content_box{
		width: 90%;
	}
	#contact_content .steps{
        padding-top: 8.9%;
        padding-bottom: 5.9%;
        width: 100%; 
	}
	#contact_content .steps ul li{
		width: 16%;
	}
	#contact_content .steps ul li:nth-of-type(2)::before, 
	#contact_content .steps ul li:nth-of-type(3)::before{
        width: 260%;
        top: calc(50% + 4px);
	}
	#contact_content #contact_form{
		width: 100%;
	}
	#contact_form table tr{
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: flex-start;
	}
	#contact_form table td:nth-of-type(1){
		width: 100%;
        text-align: left;
		display: flex;
        align-items: center;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-start;
		padding: 0%;
        padding-top: 6%;
	}
	#contact_form table td:nth-of-type(2){
		width: 100%;
        text-align: left;
        padding: 0%;
		padding-top: 2%;
    }
    #contact_form table td:nth-of-type(2) .err{
        margin-top: 1em;
    }
    #contact_form table{
        margin-bottom: 8%;
        margin-top: 2%;
    }
    #contact_form table td:nth-of-type(2) .radio_line{
        margin-top: .1em;
        margin-bottom: .1em;
    }
	#contact_form table td:nth-of-type(2) .radio_line label{
        margin: 0.8em;
	}
	#contact_form table td:nth-of-type(1) .hissu{
        font-weight: normal;
	}
	#contact_form table td .radioArea{
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: flex-start;
        width: 100%;
        padding: 3% 0%;
	}
	#contact_form table td:nth-of-type(2) input{
		font-size: 22px;
        padding: 4.9% 4%;
	}
	#contact_form table td:nth-of-type(2) textarea{
		font-size: 22px;
	}
	#contact_content{
		border-bottom: none;
	}
	#contact_area .btn_area{
		
	}
	#contact_area .btn_area .btn{
        padding: 1.6em 0%;
        width: 66.2%;
    }
	#contact_area .btn_area .privacy{
		margin-bottom: 5%;	
	}
	#contact_content .thanks h3{
        text-align: left;
        padding-bottom: 5%;
        padding-top: 5%;
	}
}


/* ==========================================================================
   page - company
   ========================================================================== */
#company_area{}
#company_content{}
#company #page_hero{
    margin-top: 6.7vw;
}
#company #page_hero .photo_list{
	display: flex;
    align-items: center;
    flex-direction: row;
    white-space: nowrap;
    width: max-content;
    -webkit-animation: slider-move 50s linear infinite;
    animation: slider-move 50s linear infinite;
}
#company #page_hero .photo_list li{
    margin: 0 1.7vw;
}
#company #page_hero .photo_list li.s1{
	width: 23.9vw;
}
#company #page_hero .photo_list li.s2{
	width: 51.4vw;
}
#company #page_hero .photo_list li img{}
   
@media screen and (max-width: 750px) {
	#company #site-hero{
		border-bottom: none;
	}
	#company #page_hero{
		margin-top: 0px;
	}
	#company #page_hero .photo_list li{
		margin: 0 2.7vw;
	}
	#company #page_hero .photo_list li.s1{
        width: 29.6vw;
	}
	#company #page_hero .photo_list li.s2{
        width: 63.8vw;
	}
}

@media screen and (min-width: 1300px) {
	#company #page_hero{
		margin-top: 88px;
	}
	#company #page_hero .photo_list li{
		margin: 0 22px;
	}
	#company #page_hero .photo_list li.s1{
		width: 310px;
	}
	#company #page_hero .photo_list li.s2{
		width: 667px;
	}
}

@-webkit-keyframes slider-move {
  0% {
    -webkit-transform: translate(0);
    transform: translate(0);
  }
  100% {
    -webkit-transform: translate(-50%);
    transform: translate(-50%);
  }
}
@keyframes slider-move {
  0% {
    -webkit-transform: translate(0);
    transform: translate(0);
  }
  100% {
    -webkit-transform: translate(-50%);
    transform: translate(-50%);
  }
}

#company #mission{}
#company #mission .mission_content{
	display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 9.3%;
    margin-bottom: 9%;
}
#company #mission .mission_content .details{
    width: 66.2%;
}
#company #mission .mission_content .details h2{
    width: 71.9%;
}
#company #mission .mission_content .details .text{
    margin-top: 6%;
    line-height: 1.88em;
}
#company #mission .mission_content .ttl_area{
	width: 10%;
	margin-left: 4.6%;
}
#company #mission .mission_content .ttl_area h3{}

@media screen and (max-width: 750px) {
	#company #mission{}
	#company #mission .mission_content{
        flex-direction: column;
        align-items: flex-start;
        margin-top: 13.9%;
        margin-bottom: 20.4%;
	}
	#company #mission .mission_content .details{
        width: 100%;
        margin-top: 8%;
	}
	#company #mission .mission_content .details h2{
        width: 89.7%;
	}
	#company #mission .mission_content .details .text{
        margin-top: 9.7%;
	}
	#company #mission .mission_content .ttl_area{
        width: 100%;
        margin-left: 0%;
	}
	#company #mission .mission_content .ttl_area h3{
        letter-spacing: 0.1em;
	}
}

#company #vision{
	background: #000;
}
#company #vision .vision_content{
	display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    padding-top: 9%;
    padding-bottom: 7.2%;
}
#company #vision .vision_content .details{
	width: 66.2%;
}
#company #vision .vision_content .details h2{
    width: 75.5%;
    padding-bottom: 7.6%;
}
#company #vision .vision_content .details .text{
	color: #fff;
}
#company #vision .vision_content .ttl_area{
	width: 10%;
	margin-left: 4.6%;
}
#company #vision .vision_content .ttl_area h3{
	color: #fff;
}
#company #vision .photo_area{
    padding-bottom: 5.5%;
}
#company #vision .photo_area .photo{
    width: 66.7%;
    margin: 0 auto;
    margin-bottom: 4.5%;
}
#company #vision .photo_area .text{
    color: #fff;
    width: 85.6%;
    text-align: center;
    margin: 0 auto;
}

@media screen and (max-width: 750px) {
	#company #vision{}
	#company #vision .vision_content{
        padding-top: 17%;
        padding-bottom: 14.8%;
        flex-direction: column;
        justify-content: flex-start;
	}
	#company #vision .vision_content .details{
		width: 100%;
        margin-top: 8%;
	}
	#company #vision .vision_content .details h2{
		width: 96.6%;
		padding-bottom: 0px;
	}
	#company #vision .vision_content .details .text{
		margin-top: 12.7%;
	}
	#company #vision .vision_content .ttl_area{
		width: 100%;
        margin-left: 0%;
	}
	#company #vision .vision_content .ttl_area h3{
		letter-spacing: 0.1em;
	}
	#company #vision .photo_area{
        padding-bottom: 16.1%;
	}
	#company #vision .photo_area .photo{
        width: 100%;
        margin-bottom: 12.5%;
	}
	#company #vision .photo_area .text{
        width: 100%;
        text-align: left;
	}
}

#company #brands{
	background: #000;
}
#company #brands h2{
	color: #fff;
	width: 89.9%;
    margin: 0 auto;
    line-height: 1em;
	position: relative;
}
#company #brands h2::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 9%;
    transform: translateY(-50%);
    background: #fff;
    height: 1px;
    width: 91%;
}
#company #brands .brand_list{
    width: 89.9%;
    margin: 0 auto;
    margin-top: 5.5%;
    padding-bottom: 3.4%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
}
#company #brands .brand_list li{
    width: 23.1%;
    margin-left: 2.5%;
    margin-bottom: 5.6%;
}
#company #brands .brand_list li:nth-of-type(4n+1){
	margin-left: 0px;
}
#company #brands .brand_list li .photo{
	opacity: 1;
	-webkit-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
	cursor: pointer;
	position: relative;
}
#company #brands .brand_list li .photo:hover{
	opacity: 0.8;
}
#company #brands .brand_list li .name{
    color: #fff;
    font-weight: bold;
    line-height: 1em;
    margin-top: 9%;
    margin-bottom: 6.6%;
    letter-spacing: 0.05em;
}
#company #brands .brand_list li .link{
	color: #fff;
	line-height: 1em;
	position: relative;
}
#company #brands .brand_list li .link::after{
    content: "";
    width: 1em;
    padding-top: 1em;
    height: 0px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -1.7em;
    background: url(assets/img/company/ico_arrow.png) center no-repeat;
    background-size: contain;
}

@media screen and (max-width: 750px) {
	#company #brands{}
	#company #brands h2{
		width: 100%;
	}
	#company #brands h2::after{
        width: 84%;
        left: 22%;
	}
	#company #brands .brand_list{
        width: 87.2%;
        margin-top: 12.6%;
        padding-bottom: 7.5%;
	}
	#company #brands .brand_list li{
		width: 41.6%;
        margin-left: 16.5%;
        margin-bottom: 9.4%;
	}
	#company #brands .brand_list li:nth-of-type(4n+1){
		margin-left: 16.5%;
	}
	#company #brands .brand_list li:nth-of-type(2n+1){
		margin-left: 0%;
	}
	#company #brands .brand_list li .photo{}
	#company #brands .brand_list li .name{
        margin-top: 9%;
        margin-bottom: 8.2%;
	}
	#company #brands .brand_list li .link{
		letter-spacing: 0.1em;
	}
}

#company #top_profile{}
#company #top_profile .top{
	width: 89.9%;
	margin: 0 auto;
    margin-top: 12.5%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: flex-start;
    position: relative;
    margin-bottom: 2.8%;
}
#company #top_profile .top .ttl_area{
    position: absolute;
    top: 0px;
    left: 0px;
}
#company #top_profile .top .ttl_area h2{
    font-style: italic;
    letter-spacing: 0.02em;
    color: #181818;
    text-indent: -0.1em;
}
#company #top_profile .top .ttl_area h3{}
#company #top_profile .top .photo_area{
    width: 43%;
}
#company #top_profile .top .name_area{
	position: absolute;
    bottom: 0px;
    left: 0px;
}
#company #top_profile .top .name_area .job_title{
    font-weight: bold;
    line-height: 1em;
    letter-spacing: 0.1em;
    margin-bottom: 1em;
    padding-left: 0.2em;
}
#company #top_profile .top .name_area .name{
    font-weight: bold;
    line-height: 1em;
    letter-spacing: 0.2em;
}
#company #top_profile .top .sns_area{
    position: absolute;
    bottom: 1.8%;
    left: 22.7%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    width: 17.5%;
}
#company #top_profile .top .sns_area li{
    width: 10%;
}
#company #top_profile .top .sns_area li.sns_youtube{
	width: 14%;
}
#company #top_profile .top .sns_area li.sns_insta{
    width: 11.4%;
}
#company #top_profile .top .sns_area li.sns_x{
    width: 10.2%;
}
#company #top_profile .top .sns_area li.sns_facebook{
    width: 6%;
}
#company #top_profile .top .sns_area li.sns_spotify{
    width: 13%;
}
#company #top_profile .text{
	width: 89.9%;
	margin: 0 auto;
	margin-bottom: 10.5%;
}

@media screen and (max-width: 750px) {
	#company #top_profile{}
	#company #top_profile .top{
        width: 100%;
        margin-top: 13.5%;
        margin-bottom: 8.2%;
        flex-direction: column;
        align-items: flex-start;
	}
	#company #top_profile .top .ttl_area{
        position: static;
	}
	#company #top_profile .top .ttl_area h2{}
	#company #top_profile .top .ttl_area h3{}
	#company #top_profile .top .photo_area{
        width: 77.1%;
        margin-top: 9%;
        margin-bottom: 7.4%;
	}
	#company #top_profile .top .name_area{
		position: static;
	}
	#company #top_profile .top .name_area .job_title{}
	#company #top_profile .top .name_area .name{}
	#company #top_profile .top .sns_area{
        bottom: 18.8%;
        left: 86%;
        flex-direction: column;
        width: 5.7%;
	}
	#company #top_profile .top .sns_area ul{}
	#company #top_profile .top .sns_area li{
		width: 100%;
        margin-top: 95%;
	}
	#company #top_profile .top .sns_area li.sns_youtube{
		width: 100%;
	}
	#company #top_profile .top .sns_area li.sns_insta{
		width: 78%;
	}
	#company #top_profile .top .sns_area li.sns_x{
		width: 72.8%;
	}
	#company #top_profile .top .sns_area li.sns_facebook{
		width: 41.6%;
	}
	#company #top_profile .top .sns_area li.sns_spotify{
		width: 88.4%;
	}
	#company #top_profile .text{
        width: 100%;
        margin-bottom: 28.1%;
	}
}

#company #team{}
#company #team .ttl_area{
	position: relative;
}
#company #team .ttl_area .team_bg{
    display: flex;
    align-items: center;
    flex-direction: row;
    white-space: nowrap;
    width: max-content;
    -webkit-animation: slider-move 50s linear infinite;
    animation: slider-move 50s linear infinite;
}
#company #team .ttl_area .team_bg li{
    width: 133.4vw;
    margin-left: 4.6vw;
}
#company #team .ttl_area .content_box{
	position: absolute;
    top: 0%;
    left: 50%;
    transform: translateX(-50%);
}
#company #team .ttl_area .ttl_box{
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translateX(-50%);
    width: 89.9%;
	display: flex;
    flex-direction: row-reverse;
}
#company #team .ttl_area .ttl_box .ttl{
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-weight: bold;
    letter-spacing: 0.2em;
    margin-top: -2.1em;
}
#company #team .team_list{
	width: 89.9%;
    margin: 0 auto;
    margin-top: -2.5%;
    padding-bottom: 3.4%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
}
#company #team .team_list li{
    width: 21.4%;
    margin-left: 4.8%;
    margin-bottom: 6.1%;
}
#company #team .team_list li:nth-of-type(4n+1){
	margin-left: 0px;
}
#company #team .team_list li .photo{
    border-radius: 1.3em;
}
#company #team .team_list li .photo img{
	border-radius: inherit;
}
#company #team .team_list li .job_title{
    line-height: 1em;
    font-weight: bold;
    margin-top: 5.8%;
    margin-bottom: 3.6%;
}
#company #team .team_list li .name{
    line-height: 1em;
    font-weight: bold;
    letter-spacing: 0.1em;
}
#company #team .team_list li .name .name_en{
    letter-spacing: 0em;
    font-weight: normal;
    color: #737373;
    margin-left: 1em;
}

@media screen and (max-width: 750px) {
	#company #team{}
	#company #team .ttl_area{}
	#company #team .ttl_area .team_bg{}
	#company #team .ttl_area .team_bg li{
        width: 266.6vw;
        margin-left: 11.6vw;
	}
	#company #team .ttl_area .ttl_box{
        width: 100%;
	}
	#company #team .ttl_area .ttl_box .ttl{
        margin-right: 3%;
        margin-top: -3.5em;
	}
	#company #team .team_list{
        width: 100%;
        margin-top: -5.5%;
        padding-bottom: 3.4%;
	}
	#company #team .team_list li{
        width: 45.4%;
        margin-left: 9%;
        margin-bottom: 7.4%;
	}
	#company #team .team_list li:nth-of-type(4n+1){
		margin-left: 9%;
	}
	#company #team .team_list li:nth-of-type(2n+1){
		margin-left: 0%;
	}
	#company #team .team_list li .photo{
        border-radius: 2em;
	}
	#company #team .team_list li .job_title{
        margin-top: 5.9%;
        margin-bottom: 4.9%;
	}
	#company #team .team_list li .name{
		width: 100%;
	}
	#company #team .team_list li .name .name_en{
        width: 100%;
        display: block;
        margin-left: 0px;
        margin-top: 1%;
	}
}

@media screen and (min-width: 1300px) {
	#company #team .ttl_area .team_bg li{
		width: 1735px;
		margin-left: 60px;
	}
}

#company #history{
	
}
#company #history .ttl_area{
	position: relative;
}
#company #history .ttl_area .hist_bg{
	display: flex;
    align-items: center;
    flex-direction: row;
    white-space: nowrap;
    width: max-content;
    -webkit-animation: slider-move 50s linear infinite;
    animation: slider-move 50s linear infinite;
}
#company #history .ttl_area .hist_bg li{
    width: 50.6vw;
    margin-left: 4.6vw;
}
#company #history .ttl_area .content_box{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
}
#company #history .ttl_area .ttl_box{
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 89.9%;
	display: flex;
    flex-direction: row;
}
#company #history .ttl_area .ttl_box .ttl{
    font-weight: bold;
    letter-spacing: 0.2em;
	position: relative;
}
#company #history .ttl_area .ttl_box .ttl .ttl_en{
    position: absolute;
    left: 0%;
    top: 0%;
    line-height: 1em;
    color: #707070;
    margin-top: -2.1em;
    letter-spacing: 0.4em;
}
#company #history .history_content{
    width: 90%;
    margin: 0 auto;
    padding-bottom: 8.9%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    margin-top: -0.4%;
}
#company #history .history_content dt{
    width: 13.7%;
    border-top: 2px solid #000;
}
#company #history .history_content dt .year{
	letter-spacing: 0.05em;
    line-height: 1em;
    padding-top: 9%;
    padding-left: 3%;
}
#company #history .history_content dd{
    width: 86.3%;
    border-top: 2px dashed #e0dede;
}
#company #history .history_content dd .hist_item{
    border-bottom: 2px dashed #e0dede;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    padding: 1.6% 0%;
    margin-left: 3.8%;
    align-items: baseline;
}
#company #history .history_content dd .hist_item:nth-last-of-type(1){
	border-bottom: none;
}
#company #history .history_content dd:nth-last-of-type(1) .hist_item:nth-last-of-type(1){
	border-bottom: 2px dashed #e0dede;
}
#company #history .history_content dd .hist_item .month{
    width: 5%;
    margin-left: 0.6%;
}
#company #history .history_content dd .hist_item .text{
    width: 82.8%;
    margin-right: 2.3%;
}

@media screen and (max-width: 750px) {
	#company #history{}
	#company #history .ttl_area{}
	#company #history .ttl_area .ttl_box{
		width: 100%;
	}
	#company #history .ttl_area .hist_bg li{
        margin-left: 11.6vw;
        width: 106.1vw;
	}
	#company #history .ttl_area .ttl{}
	#company #history .history_box{
        width: 94.5%;
        margin: 0px;
        margin-left: 5.5%;
	}
	#company #history .history_content{
        width: 100%;
        margin-top: -1%;
        padding-bottom: 17%;
	}
	#company #history .history_content dt{
        width: 17.8%;
	}
	#company #history .history_content dt .year{
        padding-top: 23.7%;
        padding-left: 7.9%;
	}
	#company #history .history_content dd{
		width: 82.2%;
	}
	#company #history .history_content dd .hist_item{
        padding: 3.2% 0%;
        margin-left: 0%;
	}
	#company #history .history_content dd .hist_item .month{
		margin-left: 1.4%;
	}
	#company #history .history_content dd .hist_item .text{
        width: 86.8%;
        margin-right: 3.6%;
	}
}

@media screen and (min-width: 1300px) {
	#company #history .ttl_area .hist_bg li{
		width: 658px;
		margin-left: 60px;
	}
}

#company #companyProfile{
	background: #000;
    border-radius: 5em;
}
#company #companyProfile h2{
    color: #fff;
    font-style: italic;
    letter-spacing: 0.02em;
    text-indent: -0.1em;
    text-align: center;
    padding-top: 8%;
}
#company #companyProfile h3{
    color: #fff;
    text-align: center;
    line-height: 1em;
    margin-top: 1.5%;
    letter-spacing: 0.1em;
}
#company #companyProfile .profile_list{
    margin: 0 auto;
    margin-top: 5.5%;
    width: 86.5%;
    padding-bottom: 8.8%;
	border-top: 1px solid #4d4d4d;
}
#company #companyProfile .profile_list li.list_item{
    border-bottom: 1px solid #4d4d4d;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    padding: 2.5% 0%;
}
#company #companyProfile .profile_list li.list_item .ttl{
    color: #fff;
    width: 15.7%;
    margin-left: 7.9%;
}
#company #companyProfile .profile_list li.list_item .details{
	width: 70.6%;
}
#company #companyProfile .profile_list li.list_item .details .txt{
	color: #fff;
}
#company #companyProfile .profile_list li.list_item .details .details_list{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: baseline;
}
#company #companyProfile .profile_list li.list_item .details .details_list li{
    color: #fff;
    width: 34%;
    line-height: 2em;
}

@media screen and (max-width: 750px) {
	#company #companyProfile{}
	#company #companyProfile h2{
        padding-top: 18.2%;
	}
	#company #companyProfile h3{
        margin-top: 3%;
	}
	#company #companyProfile .profile_list{
        margin-top: 10.2%;
        width: 100%;
        padding-bottom: 22.2%;
	}
	#company #companyProfile .profile_list li.list_item{}
	#company #companyProfile .profile_list li.list_item .ttl{
        width: 23%;
        margin-left: 2.3%;
	}
	#company #companyProfile .profile_list li.list_item .details{
        width: 66.7%;
        margin-right: 1.4%;
	}
	#company #companyProfile .profile_list li.list_item .details .txt{}
	#company #companyProfile .profile_list li.list_item .details .details_list{}
	#company #companyProfile .profile_list li.list_item .details .details_list li{
        width: 50%;
	}
}



#company .part-recruit{
	padding-top: 6%;
}

@media screen and (min-width: 1300px) {
	#company .part-recruit{
		padding-top: 78px;
	}
}

@media screen and (max-width: 750px) {
	#company .part-recruit{
		padding-top: 10%;
	}
}


/* ==========================================================================
   page - strategy
   ========================================================================== */
#strategy{}
#strategy .header_strategy{
	background: url(assets/img/strategy/header_bg.png) center no-repeat;
    background-size: cover;
}

@media screen and (max-width: 750px) {
	#strategy .header_strategy{
		background: url(assets/img/strategy/header_bg_sp.png) center no-repeat;
		background-size: cover;
	}
	#strategy #site-hero .title{
		position: relative;
	}
	#strategy #site-hero .title h3{
		position: absolute;
		bottom: 0.6em;
		right: 8%;
		letter-spacing: 0.1em;
		font-style: italic;
	}
}

#strategy #service{}
#strategy #service h3{
    line-height: 1em;
    padding-top: 7.7%;
    padding-bottom: 7.2%;
}
#strategy #service h2{
    width: 61.3%;
    padding-bottom: 5.9%;
}
#strategy #service .service_img{
    position: absolute;
    top: 25%;
    right: 0%;
    width: 40.5%;
}
#strategy #service .text{
    line-height: 1.7em;
    width: 96%;
    margin-bottom: 10%;
}

@media screen and (max-width: 750px) {
	#strategy #service{}
	#strategy #service h3{
        padding-top: 7.7%;
        padding-bottom: 4.5%;
        padding-left: 3%;
        letter-spacing: 0.1em;
	}
	#strategy #service h2{
        width: 99.3%;
        margin: 0 auto;
        padding-bottom: 8.2%;
	}
	#strategy #service .service_img{
        position: static;
        width: 99.3%;
        margin: 0 auto;
        margin-bottom: 11%;
	}
	#strategy #service .text{
        width: 100%;
        margin-bottom: 21.8%;
	}
}

#strategy #strength{}
#strategy #strength .ttl_area{
	position: relative;
}
#strategy #strength .ttl_area .strength_bg{
    display: flex;
    align-items: center;
    flex-direction: row;
    white-space: nowrap;
    width: max-content;
    -webkit-animation: slider-move 50s linear infinite;
    animation: slider-move 50s linear infinite;
}
#strategy #strength .ttl_area .strength_bg li{
    width: 188.4vw;
    margin-left: 8.6vw;
}
#strategy #strength .ttl_area .ttl_box{
	position: absolute;
    top: 0%;
    left: 50%;
    transform: translateX(-50%);
    width: 90.7%;
    display: flex;
    flex-direction: row-reverse;
}
#strategy #strength .ttl_area .ttl_box .ttl{
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-weight: bold;
    letter-spacing: 0.2em;
    margin-top: -6.6em;
    line-height: 1.5em;
}
#strategy #strength .strength_items{}
#strategy #strength .strength_items .strength_item{
    position: relative;
    padding: 5% 0%;
}
#strategy #strength .strength_items .strength_item::after{
    content: "";
    width: 89.9%;
    height: 1px;
    position: absolute;
    bottom: 0px;
    transform: translateX(-50%);
    left: 50%;
    background: #999999;
}
#strategy #strength .strength_items .strength_item.s4::after{
	display: none;
}
#strategy #strength .strength_items .strength_item .strength_item_bg{
	position: absolute;
	top: 0%;
	right: 0%;
}
#strategy #strength .strength_items .strength_item.s1 .strength_item_bg{
    margin-top: 6.6%;
    margin-right: 4.5%;
    width: 34.7%;
}
#strategy #strength .strength_items .strength_item.s2 .strength_item_bg{
    margin-top: 5.5%;
    margin-right: 5.6%;
    width: 31.6%;
}
#strategy #strength .strength_items .strength_item.s3 .strength_item_bg{
    margin-top: 8.5%;
    margin-right: -1.6%;
    width: 40.5%;
}
#strategy #strength .strength_items .strength_item.s4 .strength_item_bg{
margin-top: 3.9%;
    margin-right: 3.3%;
    width: 35.2%;
}
#strategy #strength .strength_items .strength_item .strength_item_ttl{
	position: relative;
	margin-left: 6.3%;
}
#strategy #strength .strength_items .strength_item .strength_item_ttl span{
	background: #000;
    color: #fff;
    padding: 0em 0.2em;
	padding-bottom: 0.1em;
    position: relative;
    left: -0.2em;
}
#strategy #strength .strength_items .strength_item.s1 .strength_item_ttl{
	margin-top: 9.1%;
	margin-bottom: 11.3%;
}
#strategy #strength .strength_items .strength_item.s2 .strength_item_ttl{
    margin-top: 6.4%;
    margin-bottom: 8.5%;
}
#strategy #strength .strength_items .strength_item.s3 .strength_item_ttl{
    margin-top: 7.4%;
    margin-bottom: 15.6%;
}
#strategy #strength .strength_items .strength_item.s4 .strength_item_ttl{
    margin-top: 6.4%;
    margin-bottom: 16.4%;
}
#strategy #strength .strength_items .strength_item .strength_item_ttl .number{
    line-height: 1em;
    margin-bottom: 2.3%;
    padding-left: 0.4%;
}
#strategy #strength .strength_items .strength_item .strength_item_ttl .subttitle{
    font-weight: 900;
    line-height: 1.5em;
}
#strategy #strength .strength_items .strength_item .strength_item_ttl .subttitle em{
    font-style: normal;
}
#strategy #strength .strength_items .strength_item .strength_item_content{
	position: absolute;
	top: 0%;
	right: 0%;
	width: 34.3%;
}
#strategy #strength .strength_items .strength_item.s1 .strength_item_content{
    margin-top: 25%;
    margin-right: 2%;
}
#strategy #strength .strength_items .strength_item.s2 .strength_item_content{
    margin-top: 17.1%;
    margin-right: 0%;
    width: 36.5%;
}
#strategy #strength .strength_items .strength_item.s3 .strength_item_content{
    margin-top: 33.2%;
    margin-right: 2%;
}
#strategy #strength .strength_items .strength_item.s4 .strength_item_content{
    margin-top: 32.2%;
    margin-right: 0%;
    width: 36%;
}
#strategy #strength .strength_items .strength_item .strength_item_content h4{
    color: #adadad;
    letter-spacing: 0.15em;
    line-height: 1em;
    margin-bottom: 0.9em;
}
#strategy #strength .strength_items .strength_item .strength_item_content .text{
	line-height: 1.8em;
}
#strategy #strength .strength_items .strength_item .strength_item_photo{
    margin: 0 auto;
    width: 93.8%;
    margin-bottom: 2.6%;
	display: none;
}
#strategy #strength .message{
	position: relative;
}
#strategy #strength .message .message_content{
    margin: 0 auto;
    margin-top: 8%;
    width: 89.9%;
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
}
#strategy #strength .message .message_content dt{
    width: 28.3%;
    margin-right: 6.6%;
	position: relative;
}
#strategy #strength .message .message_content dt h4{
    letter-spacing: 0.15em;
    line-height: 1em;
    font-weight: bold;
    transform: rotateZ(90deg) translate(60%, -100%);
    transform-origin: top;
    position: absolute;
    top: 0px;
    right: 0px;
}
#strategy #strength .message .message_content dt .ttl{
    margin-right: 13.4%;
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-weight: 900;
    letter-spacing: 0em;
    line-height: 1.4em;
}
#strategy #strength .message .message_content dt .ttl span{
    background: #000;
    color: #fff;
    position: relative;
    top: -0.2em;
    display: inline-block;
    text-indent: 0.2em;
}
#strategy #strength .message .message_content dt .name_area{
	display: none;
}
#strategy #strength .message .message_content dt .name_area .job_title{}
#strategy #strength .message .message_content dt .name_area .name{}
#strategy #strength .message .message_content dd{
    width: 56.6%;
}
#strategy #strength .message .message_content dd .photo_area{
	position: relative;
}
#strategy #strength .message .message_content dd .photo_area h4{
    letter-spacing: 0.15em;
    line-height: 1em;
    font-weight: bold;
    transform: rotateZ(90deg) translate(-0.3em, -1em);
    transform-origin: left;
    position: absolute;
    top: 0px;
    left: 0px;
}
#strategy #strength .message .message_content dd .photo_area .photo{
    width: 91.2%;
    margin-left: 8%;
    margin-bottom: 10%;
}
#strategy #strength .message .message_content dd .text{}
#strategy #strength .message .message_content dd .message_bot{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    margin-top: 7.5%;
    margin-bottom: 4%;
}
#strategy #strength .message .message_content dd .message_bot .name_area{
	width: 35%;
	display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-end;
}
#strategy #strength .message .message_content dd .message_bot .name_area .job_title{
    line-height: 1.5em;
	letter-spacing: 0.1em;
    font-weight: bold;
}
#strategy #strength .message .message_content dd .message_bot .name_area .name{
    line-height: 1em;
    letter-spacing: 0.1em;
    font-weight: bold;
}
#strategy #strength .message .message_content dd .message_bot .btn_all{
	position: relative;
    width: 37.5%;
    line-height: 1em;
    padding: 1.3em 0em;
    text-align: center;
    background: #fff;
    border: 1px solid #000;
    border-radius: 5em;
}
#strategy #strength .message .message_content dd .message_bot .btn_all:hover{
	color: #fff;
	background: #000;
	opacity: 1;
}
#strategy #strength .message .message_content dd .message_bot .btn_all::after{
    content: "";
    max-width: 13px;
    width: 5.9%;
    padding-top: 4.1%;
    height: 0%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 10%;
    background: url(assets/img/strategy/ico_arrow_right.png) center center no-repeat;
    background-size: contain;
}
#strategy #strength .message .message_bg{
    position: absolute;
    bottom: 0px;
	display: flex;
    align-items: center;
    flex-direction: row;
    white-space: nowrap;
    width: max-content;
    -webkit-animation: slider-move 50s linear infinite;
    animation: slider-move 50s linear infinite;
}
#strategy #strength .message .message_bg li{
    width: 101.8vw;
    margin-left: 6.6vw;
}


@media screen and (min-width: 1300px) {
	#strategy #strength .ttl_area .strength_bg li{
		width: 2449px;
		margin-left: 112px;
	}
	#strategy #strength .message .message_bg li{
		width: 1324px;
		margin-left: 86px;
	}
}

@media screen and (max-width: 750px) {
	#strategy #strength{}
	#strategy #strength .ttl_area{}
	#strategy #strength .ttl_area .strength_bg{}
	#strategy #strength .ttl_area .strength_bg li{
        width: 323.4vw;
	}
	#strategy #strength .ttl_area .ttl_box{}
	#strategy #strength .ttl_area .ttl_box .ttl{
		margin-top: -5.4em;
	}
	#strategy #strength .strength_items{}
	#strategy #strength .strength_items .strength_item{}
	#strategy #strength .strength_items .strength_item::after{
        width: 100%;
	}
	#strategy #strength .strength_items .strength_item .strength_item_bg{}
	#strategy #strength .strength_items .strength_item.s1 .strength_item_bg{
        margin-top: 56%;
        margin-right: -2%;
        width: 60.6%;
	}
	#strategy #strength .strength_items .strength_item.s2 .strength_item_bg{
        margin-top: 43.5%;
        margin-right: -2%;
        width: 60.8%;
	}
	#strategy #strength .strength_items .strength_item.s3 .strength_item_bg{
        margin-top: 45.5%;
        margin-right: -2%;
        width: 70.7%;
	}
	#strategy #strength .strength_items .strength_item.s4 .strength_item_bg{
        margin-top: 31.9%;
        margin-right: -6%;
        width: 58.1%;
	}
	#strategy #strength .strength_items .strength_item .strength_item_ttl{
		margin-left: 0%;
		margin-bottom: 0%;
	}
	#strategy #strength .strength_items .strength_item.s1 .strength_item_ttl{
		margin-top: 19.8%;
	}
	#strategy #strength .strength_items .strength_item.s2 .strength_item_ttl{
        margin-top: 10%;
	}
	#strategy #strength .strength_items .strength_item.s3 .strength_item_ttl{
        margin-top: 10%;
	}
	#strategy #strength .strength_items .strength_item.s4 .strength_item_ttl{
        margin-top: 10%;
	}
	#strategy #strength .strength_items .strength_item .strength_item_ttl .number{}
	#strategy #strength .strength_items .strength_item .strength_item_ttl .subttitle{}
	#strategy #strength .strength_items .strength_item .strength_item_content{
        position: static;
        width: 100%;
        margin-bottom: 10%;
		position: relative;
	}
	#strategy #strength .strength_items .strength_item.s1 .strength_item_content{
        margin-top: 17.2%;
        margin-right: 0%;
        width: 89%;
	}
	#strategy #strength .strength_items .strength_item.s2 .strength_item_content{
        margin-top: 18%;
        margin-right: 0%;
        width: 89%;
        margin-bottom: 14.8%;
	}
	#strategy #strength .strength_items .strength_item.s3 .strength_item_content{
        margin-top: 18%;
        margin-right: 0%;
        width: 89%;
        margin-bottom: 11.3%;
	}
	#strategy #strength .strength_items .strength_item.s4 .strength_item_content{
        margin-top: 18%;
        margin-right: 0%;
        width: 89%;
        margin-bottom: 9.6%;
	}
	#strategy #strength .strength_items .strength_item .strength_item_content h4{}
	#strategy #strength .strength_items .strength_item .strength_item_content .text{
        line-height: 1.6em;
	}
	#strategy #strength .strength_items .strength_item .strength_item_photo{
        width: 99.3%;
        margin-bottom: 12.9%;
	}
	#strategy #strength .message{}
	#strategy #strength .message .message_content{
        margin-top: 0px;
        width: 100%;
		justify-content: flex-end;
	}
	#strategy #strength .message .message_content dt{
        position: absolute;
        top: 0px;
        right: 0px;
	}
	#strategy #strength .message .message_content dt h4{
		display: none;
	}
	#strategy #strength .message .message_content dt .ttl{
        margin-right: 0%;
        margin-top: 28%;
	}
	#strategy #strength .message .message_content dt .name_area{
        display: block;
        margin-top: 39%;
        margin-left: 7%;
	}
	#strategy #strength .message .message_content dt .name_area .job_title{
        font-weight: bold;
        letter-spacing: 0.1em;
        line-height: 1em;
        margin-bottom: 7%;
	}
	#strategy #strength .message .message_content dt .name_area .name{
        font-weight: bold;
        letter-spacing: 0.1em;
	}
	#strategy #strength .message .message_content dd{
        width: 100%;
	}
	#strategy #strength .message .message_content dd .photo_area{
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: flex-start;
	}
	#strategy #strength .message .message_content dd .photo_area h4{
        position: static;
        transform: none;
        margin-top: 15.9%;
        line-height: 1.6em;
        letter-spacing: 0.2em;
	}
	#strategy #strength .message .message_content dd .photo_area .photo{
        width: 56.2%;
        margin-left: 0%;
        margin-bottom: 10.2%;
        margin-top: 23.3%;
	}
	#strategy #strength .message .message_content dd .text{
        line-height: 1.7em;
	}
	#strategy #strength .message .message_content dd .message_bot{
        display: none;
	}
	#strategy #strength .message .message_content dd .message_bot .name_area{}
	#strategy #strength .message .message_content dd .message_bot .name_area .job_title{}
	#strategy #strength .message .message_content dd .message_bot .name_area .name{}
	#strategy #strength .message .message_content dd .message_bot .btn_all{}
	#strategy #strength .message .message_bg{
        bottom: auto;
        top: 0px;
	}
	#strategy #strength .message .message_bg li{
        width: 173.3vw;
	}
}

#strategy #investment{}
#strategy #investment .investment_content{
    display: flex;
    justify-content: flex-end;
    flex-direction: row;
    flex-wrap: nowrap;
	margin-top: 10.1%;
	position: relative;
}
#strategy #investment .photo_area{
    position: absolute;
    left: -20vw;
    top: 0px;
    width: 70.8%;
	z-index: 1;
}
#strategy #investment .photo_area .photo{
    width: 95.2%;
}
#strategy #investment .photo_area .ttl_en{
    letter-spacing: 0.3em;
    line-height: 1em;
    font-weight: bold;
    transform: rotateZ(-90deg) translate(0.7em, -1em);
    transform-origin: right;
    position: absolute;
    top: 0px;
    right: 0px;
}
#strategy #investment .photo_area .ttl{
	display: none;
}
#strategy #investment .details{
    width: 47.9%;
}
#strategy #investment .details dt{
    margin-top: 3.5%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
}
#strategy #investment .details dt .ttl_1{
    font-weight: bold;
    margin-left: 2.8%;
}
#strategy #investment .details dt .ttl_2{
    letter-spacing: 0.1em;
    line-height: 1.3em;
    font-weight: bold;
    background: #000;
    color: #fff;
    padding: 0.15em 0.27em;
    margin-left: 13.6%;
	position: relative;
}
#strategy #investment .details dt .ttl_2::before{
    content: "";
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0%;
    left: -75%;
    background: #e5e5e5;
}
#strategy #investment .details dt .budget{}
#strategy #investment .details dt .budget .max{
    padding-left: 0.5em;
    padding-right: 0.1em;
    font-weight: 900;
    position: relative;
    bottom: 0.2em;
}
#strategy #investment .details dt .budget .number{
    font-weight: bold;
    position: relative;
    bottom: 0.05em;
    line-height: 1em;
}
#strategy #investment .details dt .budget .currency{
    font-weight: 900;
    padding-left: 0.1em;
    position: relative;
    bottom: 0.2em;
}
#strategy #investment .details dd{
	margin-top: 4.5%;
}
#strategy #investment .details dd .investment_items{
    width: 87.6%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
#strategy #investment .details dd .investment_items li{
	width: 30%;
    margin-top: 2.1%;
}
#strategy #investment .details dd .investment_items li.single{
	width: 31.6%;
}
#strategy #investment .details dd .investment_items li.double{
    width: 65.9%;
}
#strategy #investment .details dd .investment_items li p{
    text-align: center;
    background: #f3f3f3;
    border-radius: 0.4em;
    line-height: 1em;
    padding: 0.7em 0em;
	padding-top: 0.8em;
    font-weight: bold;
}
#strategy #investment .details dd .investment_items li p.sep{
	letter-spacing: 0.3em;
}
#strategy #investment .details dd .investment_items li p span{
	display: inline-block;
    line-height: 1em;
}
#strategy #investment .details dd .investment_text{
    margin-top: 6.2%;
}
#strategy #investment .details dd .investment_text li{
    padding-left: 3.6%;
}
#strategy #investment .details dd .investment_text li p{
	position: relative;
}
#strategy #investment .details dd .investment_text li p::before{
    content: "";
    max-width: 14px;
    width: 0.9em;
    padding-top: 0.9em;
    height: 0%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -1.3em;
    background: url(assets/img/strategy/ico_check.png) center center no-repeat;
    background-size: contain;
}

@media screen and (min-width: 1300px) {
	#strategy #investment .photo_area{
		left: -260px;
	}
}

@media screen and (max-width: 750px) {
	#strategy #investment{}
	#strategy #investment .investment_content{
        margin-top: 22%;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: flex-start;
	}
	#strategy #investment .photo_area{
        position: static;
        width: 100%;
        display: flex;
        flex-direction: row-reverse;
        flex-wrap: nowrap;
        align-items: flex-start;
        justify-content: flex-start;
	}
	#strategy #investment .photo_area .photo{
        width: 84.8%;
        position: relative;
        left: 5.8%;
	}
	#strategy #investment .photo_area .ttl_en{
        right: auto;
        left: 0px;
        color: #707070;
        transform: rotateZ(-90deg) translate(-15em, 1.6em);
        transform-origin: left;
	}
	#strategy #investment .photo_area .ttl{
        display: block;
        position: absolute;
        top: 0%;
        left: 0%;
        writing-mode: vertical-rl;
        text-orientation: upright;
        font-weight: 900;
        letter-spacing: 0.2em;
        line-height: 1em;
        margin-left: 7.5%;
	}
	#strategy #investment .photo_area .ttl::after{
        content: "";
        width: 1px;
        height: 128%;
        position: absolute;
        bottom: -145%;
        left: 50%;
        background: #000;
	}
	#strategy #investment .details{
        width: 100%;
	}
	#strategy #investment .details dt{
        margin-top: 4.4%;
	}
	#strategy #investment .details dt .ttl_1{
		display: none;
	}
	#strategy #investment .details dt .ttl_2{
		margin-left: 0%;
        margin-top: 2%;
	}
	#strategy #investment .details dt .ttl_2::before{
        left: auto;
        right: -87%;
        height: 1px;
        width: 61.4%;
        top: 50%;
        background: #000;
	}
	#strategy #investment .details dt .ttl_2 br{
		display: none;
	}
	#strategy #investment .details dt .budget{}
	#strategy #investment .details dt .budget .max{
		padding-left: 3.46em;
	}
	#strategy #investment .details dt .budget .number{}
	#strategy #investment .details dt .budget .currency{}
	#strategy #investment .details dd{
		margin-top: 3.1%;
	}
	#strategy #investment .details dd .investment_items{
        width: 100%;
	}
	#strategy #investment .details dd .investment_items li{
		margin-top: 2.3%;
	}
	#strategy #investment .details dd .investment_items li.single{}
	#strategy #investment .details dd .investment_items li.double{}
	#strategy #investment .details dd .investment_items li p{
        padding: 0.8em 0em;
        padding-top: 0.9em;
	}
	#strategy #investment .details dd .investment_text{}
	#strategy #investment .details dd .investment_text li{}
	#strategy #investment .details dd .investment_text li p{
        line-height: 2.2em;
	}
	#strategy #investment .details dd .investment_text li p::before{
        max-width: 20px;
        width: 1em;
        padding-top: 1.1em;
        left: -1.5em;
	}
}

#strategy #process{
    padding-top: 3.7vw;
}
#strategy #process .banner_area{}
#strategy #process .banner_area .bg_area{}
#strategy #process .banner_area .bg_area .process_bg{
    position: absolute;
    width: 76.2%;
    margin-left: 1.7%;
    opacity: 0.7;
}
#strategy #process .banner_area .ttl_box{
    position: absolute;
    top: 0%;
    right: 0%;
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    margin-right: 4.2%;
}
#strategy #process .banner_area .ttl_box .ttl{
	writing-mode: vertical-rl;
    text-orientation: upright;
    font-weight: 900;
    letter-spacing: 0em;
    line-height: 1em;
}
#strategy #process .banner_area .ttl_box .ttl_en{
    line-height: 1em;
    font-weight: bold;
    transform: rotateZ(-90deg) translate(0.7em, -1.7em);
    transform-origin: right;
    color: #707070;
    letter-spacing: 0.4em;
}
#strategy #process .details_area{}
#strategy #process .details_area .ttl{
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.4em;
    margin-top: -2%;
    position: relative;
    z-index: 2;
	margin-left: 1.7%;
}
#strategy #process .details_area .ttl span{
    background: #fff;
    display: inline-block;
    line-height: 1em;
    padding: 0.1em 0.1em;
}
#strategy #process .details_area .ttl_en{
    line-height: 1em;
    margin-top: 1%;
    margin-left: 2.3%;
    letter-spacing: 0.3em;
}
#strategy #process .details_area .photo{
    margin-top: 7.5%;
}
#strategy #process .details_area .text{
    margin: 0 auto;
    margin-top: 2.5%;
    width: 95%;
    line-height: 1.8em;
}

@media screen and (min-width: 1300px) {
	#strategy #process{
		padding-top: 48px;
	}
}

@media screen and (max-width: 750px) {
	#strategy #process{
		margin-top: 22.7%;
        padding-top: 0px;
	}
	#strategy #process .banner_area{}
	#strategy #process .banner_area .bg_area{}
	#strategy #process .banner_area .bg_area .content_box{
		width: 100%;
	}
	#strategy #process .banner_area .bg_area .process_bg{
        width: 100%;
        margin: 0px;
	}
	#strategy #process .banner_area .ttl_box{
        margin-top: -12.5%;
	}
	#strategy #process .banner_area .ttl_box .ttl{}
	#strategy #process .banner_area .ttl_box .ttl_en{
        transform: rotateZ(-90deg) translate(0.7em, -2em);
	}
	#strategy #process .details_area{}
	#strategy #process .details_area .ttl{
        margin: 0px;
        letter-spacing: 0.05em;
        padding-top: 15%;
	}
	#strategy #process .details_area .ttl span{
		padding: 0px;
        background: none;
	}
	#strategy #process .details_area .ttl_en{
        margin-left: 0.5%;
        margin-top: 2.6%;
	}
	#strategy #process .details_area .photo{
        margin-top: 12%;
	}
	#strategy #process .details_area .text{
        width: 100%;
        margin-top: 9.1%;
	}
}

#strategy #support{
    margin-top: 7.3%;
}
#strategy #support .ttl_area{
    position: absolute;
    left: 0px;
    top: 0px;
    margin-left: 1.7%;
    margin-top: 4%;
}
#strategy #support .ttl_area .ttl{
	line-height: 1em;
    font-style: italic;
    letter-spacing: 0.01em;
}
#strategy #support .ttl_area .ttl_en{
	line-height: 1em;
    font-style: italic;
    letter-spacing: 0.01em;
    margin-top: 3%;
}
#strategy #support .support_content{
    display: flex;
    justify-content: flex-end;
    flex-direction: row;
    flex-wrap: nowrap;
}
#strategy #support .support_content .support_list{
    width: 67.4%;
    margin-bottom: 11.4%;
}
#strategy #support .support_content .support_list li{
    border: 1px solid #b5b5b5;
    border-radius: 1.3em;
    margin-top: 4.4%;
    padding: 3.8%;
    background: #fff;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
}
#strategy #support .support_content .support_list li:nth-of-type(1){
	margin-top: 0px;
}
#strategy #support .support_content .support_list li .ico_area{
    width: 16.9%;
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
}
#strategy #support .support_content .support_list li .ico_area .ico_lbl{
    letter-spacing: 0.2em;
    line-height: 1em;
    font-weight: bold;
    transform: rotateZ(-90deg) translate(-100%, 1em);
    transform-origin: left;
    position: absolute;
    top: 0px;
    left: 0px;
}
#strategy #support .support_content .support_list li .ico_area .ico{
    width: 71.1%;
}
#strategy #support .support_content .support_list li .details_area{
    width: 77.9%;
}
#strategy #support .support_content .support_list li .details_area .ttl{
    line-height: 1em;
    font-weight: bold;
}
#strategy #support .support_content .support_list li .details_area .ttl span{
    display: inline-block;
    line-height: 1em;
    padding-right: 0.3em;
    position: relative;
    top: 0.07em;
}
#strategy #support .support_content .support_list li .details_area .txt{
    margin-top: 0.6em;
}
#strategy #support .bg_area{}
#strategy #support .bg_area .support_bg{
	position: absolute;
    bottom: 0px;
    display: flex;
    align-items: center;
    flex-direction: row;
    white-space: nowrap;
    width: max-content;
    -webkit-animation: slider-move 50s linear infinite;
    animation: slider-move 50s linear infinite;
	opacity: 0.5;
}
#strategy #support .bg_area .support_bg li{
    width: 75.5vw;
    margin-left: 6.6vw;
}

@media screen and (min-width: 1300px) {
	#strategy #support{
		margin-top: 95px;
	}
	#strategy #support .bg_area .support_bg li{
		width: 982px;
		margin-left: 86px;
	}
}

@media screen and (max-width: 750px) {
	#strategy #support{
        margin-top: 14.6%;
	}
	#strategy #support .ttl_area{
        position: static;
        margin: 0px;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: baseline;
	}
	#strategy #support .ttl_area .ttl{}
	#strategy #support .ttl_area .ttl_en{
        margin-top: 0%;
        margin-left: 3%;
	}
	#strategy #support .support_content{
        width: 100%;
        margin-top: 5%;
	}
	#strategy #support .support_content .support_list{
        width: 100%;
        margin-bottom: 34.1%;
	}
	#strategy #support .support_content .support_list li{}
	#strategy #support .support_content .support_list li .ico_area{
        width: 24.7%;
	}
	#strategy #support .support_content .support_list li .ico_area .ico_lbl{
        transform: rotateZ(-90deg) translate(-110%, 1em);
	}
	#strategy #support .support_content .support_list li .ico_area .ico{
        width: 74.3%;
	}
	#strategy #support .support_content .support_list li .details_area{
        width: 69.3%;
	}
	#strategy #support .support_content .support_list li .details_area .ttl{}
	#strategy #support .support_content .support_list li .details_area .txt{
        line-height: 1.4em;
	}
	#strategy #support .bg_area{}
	#strategy #support .bg_area .support_bg{}
	#strategy #support .bg_area .support_bg li{
        width: 107.5vw;
	}
}

#strategy #case{
	background: #f2f2f2;
    margin-top: -15px;
}
#strategy #case .ttl_area{
    position: absolute;
    top: 0px;
    left: 0px;
    margin-left: 2.2%;
    margin-top: 10%;
    z-index: 2;
}
#strategy #case .ttl_area .ttl{
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-weight: bold;
    letter-spacing: 0em;
    line-height: 1em;
}
#strategy #case .ttl_area .ttl_en{
    letter-spacing: 0.2em;
    line-height: 1em;
    font-weight: bold;
    transform: rotateZ(-90deg) translate(-6.4em, -1.2em);
    transform-origin: left;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 11em;
    text-align: right;
    color: #6a6a6a;
}
#strategy #case #case_slider{
    padding-top: 9.7%;
    padding-bottom: 14%;
    margin: 0 auto;
    width: 79.2%;
}
#strategy #case #case_slider .splide__track{
	overflow: visible;
}
#strategy #case #case_slider .splide__slide{
	opacity: 0.3;
}
#strategy #case #case_slider .splide__slide.is-active{
	opacity: 1;
}
#strategy #case #case_slider .splide__arrow{
	border: 1px solid #535353;
    background: #fff;
    width: 7.5vw;
    height: 7.5vw;
    opacity: 1;
}
#strategy #case #case_slider .splide__arrow--next{
	right: -7%;
}
#strategy #case #case_slider .splide__arrow--prev{
	left: -7%;
}
#strategy #case #case_slider .splide__arrow svg{
    width: 18.2%;
    height: auto;
}
#strategy #case #case_slider .splide__pagination{
    bottom: 0px;
    margin-bottom: 8%;
}
#strategy #case #case_slider .splide__pagination li{
	display: block;
    flex-grow: 1;
    position: relative;
}
#strategy #case #case_slider .splide__pagination li::after{
	content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 10px;
    width: 100%;
    height: 1px;
    opacity: .2;
    transition: .8s cubic-bezier(0.19, 1, 0.22, 1);
    background-color: #c9c9c9;
    pointer-events: none;
}
#strategy #case #case_slider .splide__pagination li:has(.is-active)::after{
	opacity: 1;
    height: 2px;
    top: 9px;
	background-color: #000;
}
#strategy #case #case_slider .splide__pagination__page{
	width: 100%;
    height: 20px;
    cursor: pointer;
    background: none;
}
#strategy #case #case_slider .case_item{
    background: #fff;
    border-radius: 2em;
    padding: 4.8%;
}
#strategy #case #case_slider .case_item .brand{
	display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
}
#strategy #case #case_slider .case_item .brand dt{
    width: 55%;
}
#strategy #case #case_slider .case_item .brand dt .brand_logo{
    width: 37%;
}
#strategy #case #case_slider .case_item.case_crossput .brand dt .brand_logo{
	width: 69.3%;
}
#strategy #case #case_slider .case_item.case_putout .brand dt .brand_logo{
    width: 55.3%;
}
#strategy #case #case_slider .case_item .brand dt .brand_sub{
    font-weight: bold;
    color: #313333;
    line-height: 1.6em;
    margin-top: 4.4%;
}
#strategy #case #case_slider .case_item .brand dd{
    width: 44.1%;
}
#strategy #case #case_slider .case_item .brand dd .brand_img{}
#strategy #case #case_slider .case_item .results{
	margin-top: -1%;
}
#strategy #case #case_slider .case_item .results dt{}
#strategy #case #case_slider .case_item .results dt .result_ttl{
    line-height: 1em;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding-left: 1.8em;
	position: relative;
}
#strategy #case #case_slider .case_item .results dt .result_ttl::before{
    content: "";
    max-width: 13px;
    width: 0.9em;
    padding-top: 1.1em;
    height: 0%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0.4em;
    background: url(assets/img/strategy/ico_bulb.png) center center no-repeat;
    background-size: contain;
}
#strategy #case #case_slider .case_item .results dd{}
#strategy #case #case_slider .case_item .results dd .result_txt{
    background: #f2f2f2;
    border-radius: 0.5em;
    padding: 1.8% 2.3%;
    margin-top: 2%;
    line-height: 1.8em;
}
#strategy #case #case_slider .case_item .results dd .result_graph_area{
	margin-top: 5%;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
	position: relative;
}
#strategy #case #case_slider .case_item .results dd .result_graph_area .result_graph{
    position: absolute;
    top: 0%;
    left: 0%;
    width: 38.5%;
    margin-left: -2.4%;
    margin-top: 1%;
}
#strategy #case #case_slider .case_item .results dd .result_graph_area .result_data{
    width: 58.3%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
}
#strategy #case #case_slider .case_item .results dd .result_graph_area .result_data li{
    width: 33%;
    text-align: center;
    height: 6.2em;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
	position: relative;
}
#strategy #case #case_slider .case_item .results dd .result_graph_area .result_data li.data1{
	width: 31.6%;
}
#strategy #case #case_slider .case_item .results dd .result_graph_area .result_data li.data2{
    width: 36%;
}
#strategy #case #case_slider .case_item .results dd .result_graph_area .result_data li.data3{
    width: 31.1%;
}
#strategy #case #case_slider .case_item .results dd .result_graph_area .result_data li.data1::before,
#strategy #case #case_slider .case_item .results dd .result_graph_area .result_data li.data3::before{
    content: "";
    width: 2px;
    height: 100%;
    position: absolute;
    top: 0%;
    left: 0%;
    background: #e5e5e5;
}
#strategy #case #case_slider .case_item .results dd .result_graph_area .result_data li.data1::after,
#strategy #case #case_slider .case_item .results dd .result_graph_area .result_data li.data3::after{
    content: "";
    width: 2px;
    height: 100%;
    position: absolute;
    top: 0%;
    right: 0%;
    background: #e5e5e5;
}
#strategy #case #case_slider .case_item .results dd .result_graph_area .result_data li .ttl{
    font-weight: bold;
    line-height: 1.3em;
    position: relative;
    top: 0.75em;
}
#strategy #case #case_slider .case_item .results dd .result_graph_area .result_data li.data3 .ttl{
    top: 0.15em;
}
#strategy #case #case_slider .case_item .results dd .result_graph_area .result_data li .number{
	font-weight: bold;
    line-height: 1em;
}
#strategy #case #case_slider .case_item .results dd .result_graph_area .result_data li .number span{
	display: inline-block;
	line-height: 1em;
}
#strategy #case #case_slider .case_item .results dd .result_graph_area .result_details{
	position: relative;
	width: 58.3%;
	background: #f5f5f5;
    border-radius: 0.7em;
}
#strategy #case #case_slider .case_item .results dd .result_graph_area .result_details h4{
    display: inline-block;
    background: #000;
    color: #fff;
    line-height: 1em;
    position: absolute;
    top: 0px;
    left: 4.1%;
    padding: 0.6em 1.7em;
    padding-top: 0.7em;
    border-radius: 5em;
    transform: translateY(-50%);
}
#strategy #case #case_slider .case_item .results dd .result_graph_area .result_details .list_single{
    padding: 5.5% 5%;
    padding-bottom: 2%;
} 
#strategy #case #case_slider .case_item .results dd .result_graph_area .result_details .list_single li{
	line-height: 1.5em;
    margin-top: 2%;
}
#strategy #case #case_slider .case_item .results dd .result_graph_area .result_details .list_single li:nth-of-type(1){
	margin: 0px;
}
#strategy #case #case_slider .case_item .results dd .result_graph_area .result_details .list_double{
    padding: 5.5% 4%;
    padding-bottom: 2%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
#strategy #case #case_slider .case_item .results dd .result_graph_area .result_details .list_double li{
    line-height: 1.5em;
    margin-top: 0.5%;
    width: 49%;
}
#strategy #case #case_slider .case_item .results dd .result_graph_area .result_details .list_double li:nth-of-type(1),
#strategy #case #case_slider .case_item .results dd .result_graph_area .result_details .list_double li:nth-of-type(2){
	margin: 0px;
}


@media screen and (min-width: 1300px) {
	#strategy #case #case_slider .splide__arrow{
		width: 90px;
		height: 90px;
	}
	#strategy .part-recruit{
		padding-top: 78px;
	}
}

@media screen and (max-width: 750px) {
	#strategy #case{}
	#strategy #case .ttl_area{
        position: static;
        margin: 0px;
        display: flex;
        flex-direction: column-reverse;
        flex-wrap: nowrap;
        align-items: flex-start;
        padding-top: 6%;
	}
	#strategy #case .ttl_area .ttl{
        writing-mode: horizontal-tb;
	}
	#strategy #case .ttl_area .ttl_en{
        transform: none;
        width: auto;
        text-align: left;
        position: static;
        color: #000;
        margin-bottom: 2.5%;
	}
	#strategy #case #case_slider{
        padding-top: 6.7%;
        padding-bottom: 20%;
        width: 97.4%;
	}
	#strategy #case #case_slider .splide__arrow{
		display: none;
	}
	#strategy #case #case_slider .case_item{
        padding: 9.1%;
        padding-top: 9.9%;
        padding-bottom: 6.1%;
	}
	#strategy #case #case_slider .case_item .brand{
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: flex-start;
	}
	#strategy #case #case_slider .case_item .brand dt{
        width: 100%;
	}
	#strategy #case #case_slider .case_item .brand dt .brand_logo{
        width: 39.7%;
	}
	#strategy #case #case_slider .case_item .brand dt .brand_sub{
        margin-top: 4.7%;
	}
	#strategy #case #case_slider .case_item .brand dd{
        width: 100%;
        margin-top: 4.7%;
	}
	#strategy #case #case_slider .case_item .brand dd .brand_img{}
	#strategy #case #case_slider .case_item .results{
        margin-top: 5.7%;
	}
	#strategy #case #case_slider .case_item .results dt{}
	#strategy #case #case_slider .case_item .results dt .result_ttl{}
	#strategy #case #case_slider .case_item .results dt .result_ttl::before{
        max-width: 16px;
        width: 0.8em;
        padding-top: 1.5em;
        left: 0.4em;
	}
	#strategy #case #case_slider .case_item .results dd{}
	#strategy #case #case_slider .case_item .results dd .result_txt{
        padding: 3.8% 6.3%;
        margin-top: 2.8%;
        line-height: 1.6em;
	}
	#strategy #case #case_slider .case_item .results dd .result_graph_area{
        margin-top: 5.6%;
        flex-direction: column-reverse;
        flex-wrap: nowrap;
        align-items: center;
	}
	#strategy #case #case_slider .case_item .results dd .result_graph_area .result_graph{
        position: static;
        width: 88.7%;
        margin-left: 0%;
        margin-top: 5%;
	}
	#strategy #case #case_slider .case_item .results dd .result_graph_area .result_data{
        width: 100%;
        margin-top: 7.5%;
	}
	#strategy #case #case_slider .case_item .results dd .result_graph_area .result_data li{}
	#strategy #case #case_slider .case_item .results dd .result_graph_area .result_data li.data1,
	#strategy #case #case_slider .case_item .results dd .result_graph_area .result_data li.data2,
	#strategy #case #case_slider .case_item .results dd .result_graph_area .result_data li.data3{
        width: 32.6%;
	}
	#strategy #case #case_slider .case_item .results dd .result_graph_area .result_data li .ttl{}
	#strategy #case #case_slider .case_item .results dd .result_graph_area .result_data li .number{}
	#strategy #case #case_slider .case_item .results dd .result_graph_area .result_details{
		width: 100%;
        margin-top: 5%;
	}
	#strategy #case #case_slider .case_item .results dd .result_graph_area .result_details .list_double{
        padding: 8.5% 4%;
        padding-bottom: 5%;
	}
	#strategy #case #case_slider .case_item .results dd .result_graph_area .result_details .list_double li{
		width: 100%;
		margin-top: 1%;
	}
	#strategy #case #case_slider .case_item .results dd .result_graph_area .result_details .list_double li:nth-of-type(1){
		margin-top: 1%;
	}
	#strategy #case #case_slider .case_item .results dd .result_graph_area .result_details .list_double li:nth-of-type(2){
		margin-top: 1%;
	}
}

#strategy .part-recruit{
	padding-top: 6%;
}

@media screen and (min-width: 1300px) {
	#strategy .part-recruit{
		padding-top: 78px;
	}
}

@media screen and (max-width: 750px) {
	#strategy .part-recruit{
		padding-top: 10%;
	}
}



/* ==========================================================================
   page - business - system solution
   ========================================================================== */
   
#system_solution{}
#system_solution .header_system_solution{
	background: url(assets/img/system_solution/header_bg.png) center no-repeat;
    background-size: cover;
	overflow-x: hidden;
}
#system_solution .system_solution_overflow{
	overflow-x: hidden;
}

@media screen and (max-width: 750px) {
	#system_solution .system_solution_overflow{
		overflow-x: unset;
	}
	#system_solution .header_system_solution{
		background: url(assets/img/system_solution/header_bg_sp.png) center no-repeat;
		background-size: cover;
	}
	#system_solution #site-hero.white .hero_inner{
		padding-top: 40.1%;
	}
	#system_solution #site-hero .title{
		flex-direction: column;
        margin-bottom: 5%;
	}
	#system_solution #site-hero .title h3{
		letter-spacing: 0.1em;
		font-style: italic;
		margin: 0px;
	}
}
   
#system_solution .part-recruit{
	padding-top: 6%;
	overflow-x: hidden;
}

@media screen and (min-width: 1300px) {
	#system_solution .part-recruit{
		padding-top: 78px;
	}
}

@media screen and (max-width: 750px) {
	#system_solution .part-recruit{
		padding-top: 10%;
	}
}

#system_solution footer{
	overflow-x: hidden;
}


#system_solution #service{}
#system_solution #service .content_box{
	border-bottom: 1px solid #999999;
}
#system_solution #service .service_bg{
    position: absolute;
    top: 0px;
    left: 0px;
    width: 102.4%;
    margin-top: 1.5%;
    margin-left: 35%;
    opacity: 0.6;
}
#system_solution #service h3{
    position: relative;
    line-height: 1em;
    margin-top: 7.4%;
    margin-bottom: 2.5%;
}
#system_solution #service .service_logo{
    position: relative;
    width: 28.4%;
    margin-bottom: 6.1%;
}
#system_solution #service .ttl{
    position: relative;
    width: 72.4%;
    margin-bottom: 7.9%;
}
#system_solution #service .text{
	position: relative;
    width: 59.3%;
    line-height: 1.8em;
    padding-bottom: 9.7%;
}
#system_solution #service .btn_all{
    position: absolute;
    right: 0px;
    top: 0px;
    line-height: 1em;
    display: block;
    width: 19.1%;
    text-align: center;
    color: #fff;
    background: #000;
    padding: 1.5em 0em;
    border-radius: 5em;
	border: 1px solid #000;
    margin-top: 40%;
}
#system_solution #service .btn_all:hover{
	opacity: 1;
	color: #000;
	background: #fff;
}
#system_solution #service .btn_all::after{
    content: "";
    max-width: 11px;
    width: 5%;
    padding-top: 4.6%;
    height: 0%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 12%;
    background: url(assets/img/system_solution/ico_arrow_ur.png) center center no-repeat;
    background-size: contain;
}

@media screen and (max-width: 750px) {
	#system_solution #service{}
	#system_solution #service .service_bg{
        width: 89.2%;
        margin-top: 0%;
        margin-left: 16%;
	}
	#system_solution #service h3{
        margin-top: 3%;
        margin-bottom: 4.4%;
        padding-top: 11.4%;
        letter-spacing: 0.2em;
	}
	#system_solution #service .service_logo{
        width: 49.5%;
        margin-bottom: 11.9%;
	}
	#system_solution #service .ttl{
        width: 79.6%;
        margin-bottom: 9%;
	}
	#system_solution #service .text{
        width: 100%;
        padding-bottom: 11.2%;
	}
	#system_solution #service .btn_all{
        position: relative;
        margin-top: 0%;
        width: 45.1%;
        margin-bottom: 10.6%;
        padding: 1.3em 0em;
	}
	#system_solution #service .btn_all::after{
        background: url(assets/img/system_solution/ico_arrow_ur_sp.png) center center no-repeat;
        background-size: contain;
        max-width: 14px;
        width: 4.7%;
        padding-top: 4.6%;
	}
}

#system_solution #vision{}
#system_solution #vision .message_content{
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 5%;
}
#system_solution #vision .message_content dt{
    width: 25.5%;
	position: relative;
}
#system_solution #vision .message_content dt .ttl_en{
    letter-spacing: 0.15em;
    line-height: 1em;
    font-weight: bold;
    transform: rotateZ(90deg) translate(60%, -100%);
    transform-origin: right;
    position: absolute;
    top: 0px;
    right: 10%;
    margin-top: 44%;
}
#system_solution #vision .message_content dt .ttl{
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-weight: bold;
    letter-spacing: 0em;
    line-height: 1.4em;
    margin-top: 30%;
    position: relative;
    left: 2%;
	z-index: 2;
}
#system_solution #vision .message_content dt .ttl span{
    background: #000;
    color: #fff;
    position: relative;
    top: -0.2em;
    display: inline-block;
    text-indent: 0em;
    padding-bottom: 0.4em;
}
#system_solution #vision .message_content dd{
    width: 73.8%;
}
#system_solution #vision .message_content dd .ttl_en{
	line-height: 1em;
    margin-top: 9.8%;
    color: #fff;
    background: #000;
    display: inline-block;
    text-align: center;
    letter-spacing: 0.2em;
    padding: 0.4em 0.8em;
    padding-bottom: 0.5em;
}
#system_solution #vision .message_content dd .recore_logo{
    margin-top: 2.3%;
    width: 98.3%;
    margin-bottom: 2.3%;
}
#system_solution #vision .message_content dd .text{
    line-height: 1.8em;
}
#system_solution #vision .vision_img{
    position: absolute;
    top: 0px;
    margin-top: 33.4%;
    width: 69.5%;
    z-index: 2;
}

@media screen and (max-width: 750px) {
	#system_solution #vision{}
	#system_solution #vision .message_content{
        position: relative;
		justify-content: flex-end;
	}
	#system_solution #vision .message_content dt{
        position: absolute;
        width: 44%;
        top: 0%;
        right: 0%;
	}
	#system_solution #vision .message_content dt .ttl_en{
        margin-top: 74%;
	}
	#system_solution #vision .message_content dt .ttl{
        margin-top: 55.6%;
		left: 4%;
	}
	#system_solution #vision .message_content dd{
        width: 100%;
	}
	#system_solution #vision .message_content dd .ttl_en{
        margin-top: 10.6%;
	}
	#system_solution #vision .message_content dd .recore_logo{
        margin-top: 8.8%;
        width: 49.5%;
        margin-bottom: 5.1%;
	}
	#system_solution #vision .message_content dd .text{
        width: 60%;
	}
	#system_solution #vision .vision_img{
        position: relative;
        margin-top: 7%;
        width: 105.5%;
        margin-left: -2.5%;
	}
}

#system_solution #strength{}
#system_solution #strength .ttl_area{
    position: relative;
    margin-top: -4%;
}
#system_solution #strength .ttl_area .bg_area{
    overflow-x: hidden;
    width: 100vw;
    position: absolute;
    top: 0px;
}
#system_solution #strength .ttl_area .strength_bg{
    position: relative;
    top: 0px;
    display: flex;
    align-items: center;
    flex-direction: row;
    white-space: nowrap;
    width: max-content;
    -webkit-animation: slider-move 50s linear infinite;
    animation: slider-move 50s linear infinite;
    z-index: 1;
}
#system_solution #strength .ttl_area .strength_bg li{
    width: 134.8vw;
    margin-left: 6.6vw;
}
#system_solution #strength .ttl_area .ttl_box{
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: flex-start;
    right: 0px;
    margin-right: 5.1%;
    padding-top: 9%;
    z-index: 2;
}
#system_solution #strength .ttl_area .ttl_box .ttl{
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-top: 0px;
    line-height: 1.4em;
}
#system_solution #strength .ttl_area .ttl_box .ttl_en{
	letter-spacing: 0.4em;
    line-height: 1em;
    font-weight: bold;
    transform: rotateZ(-90deg) translate(0.7em, -1em);
    transform-origin: right;
    position: absolute;
    top: 0px;
    right: 0px;
    display: block;
    width: 25em;
    margin-right: -2.8%;
    color: #707070;
    text-align: right;
    margin-top: 9.8%;
}
#system_solution #strength .strength_items{
    margin-top: -4.7%;
}
#system_solution #strength .strength_items .strength_item{
	position: sticky;
	top: 0;
	padding-top: 1.7%;
    background: #fff;
}
#system_solution #strength .strength_items .strength_item.s2,
#system_solution #strength .strength_items .strength_item.s3{ 
	border-top: 1px solid #999999;
}
#system_solution #strength .strength_items .strength_item .strength_item_ttl{}
#system_solution #strength .strength_items .strength_item .strength_item_ttl .number{
	line-height: 1em;
}
#system_solution #strength .strength_items .strength_item .strength_item_ttl .subttitle{
    font-weight: 900;
    line-height: 1.4em;
    margin-top: 0.6%;
}
#system_solution #strength .strength_items .strength_item.s2 .strength_item_img{
    position: absolute;
    top: 0px;
    right: 0px;
    margin-top: 4%;
	width: 41.1%;
    margin-right: 1%;
}
#system_solution #strength .strength_items .strength_item.s3 .strength_item_img{
    position: absolute;
    top: 0px;
    right: 0px;
    margin-top: 3%;
	width: 43.3%;
}
#system_solution #strength .strength_items .strength_item .strength_item_content{}
#system_solution #strength .strength_items .strength_item.s1 .strength_item_content .strength_01_list{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 5%;
    padding-bottom: 6%;
}
#system_solution #strength .strength_items .strength_item.s1 .strength_item_content .strength_01_list li{
	width: 28%;
    padding-bottom: 1.2%;
	position: relative;
}
#system_solution #strength .strength_items .strength_item.s1 .strength_item_content .strength_01_list li:nth-of-type(1)::after{
    content: "";
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0%;
    right: -13%;
    background: #cccccc;
}
#system_solution #strength .strength_items .strength_item.s1 .strength_item_content .strength_01_list li:nth-of-type(3)::before{
    content: "";
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0%;
    left: -17%;
    background: #cccccc;
}
#system_solution #strength .strength_items .strength_item.s1 .strength_item_content .strength_01_list li h4{
    line-height: 1em;
    letter-spacing: 0.15em;
    background: #e5e5e5;
    display: inline-block;
    padding: 0.3em 0.7em;
    padding-top: 0.4em;
}
#system_solution #strength .strength_items .strength_item.s1 .strength_item_content .strength_01_list li h3{
    line-height: 1.6em;
    margin-top: 3%;
}
#system_solution #strength .strength_items .strength_item.s1 .strength_item_content .strength_01_list li h3 span{
	background: #000;
    color: #fff;
    padding: 0.1em 0.3em;
    padding-bottom: 0.25em;
    display: inline-block;
    line-height: 1em;
    letter-spacing: 0.1em;
}
#system_solution #strength .strength_items .strength_item.s1 .strength_item_content .strength_01_list li .strength_item_icon{
    width: 63.6%;
    margin: 0 auto;
    margin-top: 8.2%;
}
#system_solution #strength .strength_items .strength_item.s1 .strength_item_content .strength_01_list li .text{
    margin-top: 9%;
    line-height: 1.6em;
}
#system_solution #strength .strength_items .strength_item.s2 .strength_item_content .ttl_en{
    color: #adadad;
    line-height: 1em;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-top: 6.7%;
    margin-bottom: 1.3%;
}
#system_solution #strength .strength_items .strength_item.s2 .strength_item_content .text{
	width: 55.1%;
    padding-bottom: 5%;
    line-height: 1.8em;
}
#system_solution #strength .strength_items .strength_item.s3 .strength_item_content .ttl_en{
	color: #adadad;
    line-height: 1em;
    font-weight: bold;
    letter-spacing: 0.1em;
	margin-top: 5.5%;
    margin-bottom: 1.3%;
}
#system_solution #strength .strength_items .strength_item.s3 .strength_item_content .text{
    width: 55.1%;
    padding-bottom: 5%;
    line-height: 1.8em;
}
#system_solution #strength .strength_items .thoughts{
	position: relative;
    padding-top: 6.6%;
    background: #fff;
	border-top: 1px solid #999999;
}
#system_solution #strength .strength_items .thoughts .ttl_en{
	letter-spacing: 0.4em;
    line-height: 1em;
    font-weight: bold;
    transform: rotateZ(-90deg) translate(-100%, 0em);
    transform-origin: left;
    position: absolute;
    top: 0px;
    left: 0px;
    display: block;
    margin-left: 1%;
    text-align: right;
    margin-top: 6%;
}
#system_solution #strength .strength_items .thoughts .ttl{
    font-weight: bold;
    line-height: 1em;
    margin-bottom: 2.4%;
    margin-left: 4.6%;
}
#system_solution #strength .strength_items .thoughts .ttl_area{
    margin-top: 8.4%;
    margin-left: 25%;
    z-index: 2;
}
#system_solution #strength .strength_items .thoughts .ttl_area .subttl_en{
    color: #999999;
    letter-spacing: 0.15em;
    padding-left: 1.6em;
}
#system_solution #strength .strength_items .thoughts .ttl_area .subttl_en span{ 
	position: relative;
}
#system_solution #strength .strength_items .thoughts .ttl_area .subttl_en span::before{
    content: "";
    max-width: 10px;
    width: 0.8em;
    padding-top: 7.2%;
    height: 0%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -1.3em;
    background: url(assets/img/system_solution/arrow_right_grey.png) center center no-repeat;
    background-size: contain;
}
#system_solution #strength .strength_items .ttl_area .subttl{
    width: 11.1em;
    font-weight: bold;
    line-height: 1.5em;
}
#system_solution #strength .strength_items .ttl_area .subttl span{
    display: inline-block;
    background: #000;
    color: #fff;
    line-height: 1em;
    padding: 0.1em 0.15em;
    padding-bottom: 0.2em;
    padding-right: 0em;
}
#system_solution #strength .strength_items .thoughts .text{
    margin-left: 4.6%;
    width: 57.7%;
    line-height: 1.8em;
}
#system_solution #strength .strength_items .thoughts .thoughts_btn{
    display: block;
    position: absolute;
    top: 0%;
    right: 0%;
    z-index: 2;
    margin-top: 13.5%;
    width: 20.9%;
}
#system_solution #strength .strength_items .thoughts .thoughts_btn:hover{
	opacity: 0.8;
}

@media screen and (min-width: 1300px) {
	#system_solution #strength .ttl_area .strength_bg li{
        width: 1752px;
        margin-left: 86px;
	}
}

@media screen and (max-width: 750px) {
	#system_solution #strength{}
	#system_solution #strength .ttl_area{}
	#system_solution #strength .ttl_area .strength_bg{}
	#system_solution #strength .ttl_area .strength_bg li{
        width: 231.3vw;
	}
	#system_solution #strength .ttl_area .ttl_box{
        margin-right: 10.4%;
        padding-top: 15.6%;
	}
	#system_solution #strength .ttl_area .ttl_box .ttl{
        letter-spacing: 0em;
        line-height: 1.3em;
	}
	#system_solution #strength .ttl_area .ttl_box .ttl_en{
        margin-top: 17.8%;
        margin-right: -6.8%;
	}
	#system_solution #strength .strength_items{
		margin-top: 8.8%;
	}
	#system_solution #strength .strength_items .strength_item{
		position: relative;
        padding-top: 0%;
	}
	#system_solution #strength .strength_items .strength_item.s2{
        border-top: none;
        margin-top: 14.8%;
	}
	#system_solution #strength .strength_items .strength_item.s3{
		padding-top: 14.8%;
		margin-top: 0px;
	}
	#system_solution #strength .strength_items .strength_item.s3{}
	#system_solution #strength .strength_items .strength_item .strength_item_ttl{}
	#system_solution #strength .strength_items .strength_item .strength_item_ttl .number{}
	#system_solution #strength .strength_items .strength_item .strength_item_ttl .subttitle{
        margin-top: 2.1%;
	}
	#system_solution #strength .strength_items .strength_item .strength_item_content{}
	#system_solution #strength .strength_items .strength_item.s1 .strength_item_content .strength_01_list{
        flex-direction: column;
        margin-top: 3%;
        padding-bottom: 0%;
	}
	#system_solution #strength .strength_items .strength_item.s1 .strength_item_content .strength_01_list li{
        width: 100%;
        padding-bottom: 8.9%;
        padding-top: 8.9%;
        border-bottom: 1px solid #999999;
		position: relative;
	}
	#system_solution #strength .strength_items .strength_item.s1 .strength_item_content .strength_01_list li:nth-of-type(1)::after,
	#system_solution #strength .strength_items .strength_item.s1 .strength_item_content .strength_01_list li:nth-of-type(3)::before{
		display: none; 
	}
	#system_solution #strength .strength_items .strength_item.s1 .strength_item_content .strength_01_list li h4{
        letter-spacing: 0.2em;
        padding: 0.3em 0.7em;
        padding-top: 0.5em;
	}
	#system_solution #strength .strength_items .strength_item.s1 .strength_item_content .strength_01_list li h3{
        margin-top: 3.8%;
        line-height: 1.7em;
	}
	#system_solution #strength .strength_items .strength_item.s1 .strength_item_content .strength_01_list li h3 span{
		letter-spacing: 0em;
	}
	#system_solution #strength .strength_items .strength_item.s1 .strength_item_content .strength_01_list li .strength_item_icon{
        width: 42.7%;
        margin: 0px;
        position: absolute;
        top: 50%;
        right: 0px;
        transform: translateY(-50%);
	}
	#system_solution #strength .strength_items .strength_item.s1 .strength_item_content .strength_01_list li .text{
        margin-top: 3.3%;
        width: 53.5%;
	}
	#system_solution #strength .strength_items .strength_item.s2 .strength_item_img{
        position: relative;
        width: 103.8%;
        margin: 0px;
        margin-top: 11.8%;
        margin-left: -2.5%;
	}
	#system_solution #strength .strength_items .strength_item.s3 .strength_item_img{
        position: relative;
        width: 99.3%;
        margin: 0 auto;
        margin-top: 9%;
	}
	#system_solution #strength .strength_items .strength_item.s2 .strength_item_content .ttl_en{
        margin-top: 11.2%;
        margin-bottom: 2.2%;
	}
	#system_solution #strength .strength_items .strength_item.s3 .strength_item_content .ttl_en{
		margin-top: 11.2%;
        margin-bottom: 2.2%;
	}
	#system_solution #strength .strength_items .strength_item.s2 .strength_item_content .text{
        width: 100%;
        padding-bottom: 10.3%;
	}
	#system_solution #strength .strength_items .strength_item.s3 .strength_item_content .text{
        width: 100%;
        padding-bottom: 10.3%;
	}
	#system_solution #strength .strength_items .thoughts{
        padding-top: 14%;
	}
	#system_solution #strength .strength_items .thoughts .ttl_en{
        position: relative;
        margin: 0%;
        text-align: left;
        transform: none;
        margin-bottom: 4.2%;
	}
	#system_solution #strength .strength_items .thoughts .ttl{
        margin: 0px;
	}
	#system_solution #strength .strength_items .thoughts .ttl_area{
        margin: 0px;
        margin-top: 14.7%;
	}
	#system_solution #strength .strength_items .thoughts .ttl_area .subttl_en{}
	#system_solution #strength .strength_items .ttl_area .subttl{
        margin-top: 3%;
	}
	#system_solution #strength .strength_items .ttl_area .subttl span{
		padding-left: 0px;
	}
	#system_solution #strength .strength_items .thoughts .text{
        width: 100%;
        margin: 0px;
        margin-top: 10.1%;
	}
	#system_solution #strength .strength_items .thoughts .thoughts_btn{
        margin-top: 9.5%;
        width: 36.5%;
	}
}

#system_solution #value{
    margin-top: -16.5vw;
}
#system_solution #value .ttl_area{
	position: relative;
}
#system_solution #value .ttl_area .value_bg{
    width: 166.1%;
    margin-left: -19.4%;
}
#system_solution #value .ttl_area .ttl_box{
    position: absolute;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: flex-start;
    right: 0px;
    top: 0px;
    margin-top: 28.9%;
    margin-right: 5.1%;
    z-index: 2;
}
#system_solution #value .ttl_area .ttl_box .ttl{
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-top: 0px;
    line-height: 1.4em;
}
#system_solution #value .ttl_area .ttl_box .ttl_en{
	letter-spacing: 0.4em;
    line-height: 1em;
    font-weight: bold;
    transform: rotateZ(-90deg) translate(0.7em, -1em);
    transform-origin: right;
    position: absolute;
    top: 0px;
    right: 0px;
    display: block;
    width: 25em;
    margin-right: -2.7em;
    color: #707070;
    text-align: right;
    margin-top: 5%;
}
#system_solution #value .map_area{
    position: relative;
}
#system_solution #value .map_area .value_map{
    position: relative;
    margin-top: -11.9%;
    width: 120%;
    margin-left: -16.3%;
    z-index: 1;
}
#system_solution #value .details_area{
    position: absolute;
	top: 0px;
	left: 0px;
    z-index: 2; 
    margin-top: 54%;
}
#system_solution #value .map_area .details_area .stores_ttl{
    font-weight: bold;
    margin-left: 0.2em;
}
#system_solution #value .map_area .details_area .stores_number{
    margin-top: 1.5%;
}
#system_solution #value .map_area .details_area .stores_number span{
    font-weight: bold;
    margin-left: 0.2em;
}
#system_solution #value .map_area .details_area .stores_sub{
    margin-top: -2%;
    font-weight: bold;
    line-height: 1.3em;
}
#system_solution #value .value_list{
    position: absolute;
	top: 0px;
	left: 0px;
    z-index: 2;
    margin-top: 8%;
}
#system_solution #value .value_list li{
	position: relative;
    width: 44.1%;
    padding-left: 3.3%;
    padding-top: 3%;
    padding-bottom: 3.3%;
	padding-right: 1%;
	background: #000;
	color: #fff;
}
#system_solution #value .value_list li:nth-of-type(1){}
#system_solution #value .value_list li:nth-of-type(2){
    background: #fff;
    color: #000;
    position: absolute;
    top: 0px;
    left: 28.2%;
    margin-top: 20.3%;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
}
#system_solution #value .value_list li:nth-of-type(3){
    position: absolute;
    top: 0px;
    right: 0px;
    margin-top: 43.1%;
}
#system_solution #value .value_list li .value_list_ttl{
    letter-spacing: 0.1em;
    position: absolute;
    right: 7%;
    text-align: right;
    line-height: 1.5em;
}
#system_solution #value .value_list li .value_list_number{
    position: relative;
    margin-top: -0.1em;
    margin-bottom: 10%;
}
#system_solution #value .value_list li .value_list_number span{
    margin-left: 0.4em;
}
#system_solution #value .value_list li .value_list_text{
    width: 42.6%;
    line-height: 1.8em;
}
#system_solution #value .value_list li:nth-of-type(2) .value_list_text{
	width: 45.6%;
}
#system_solution #value .value_list li:nth-of-type(3) .value_list_text{
    width: 47%;
}

@media screen and (min-width: 1300px) {
	#system_solution #value{
		margin-top: -214px;
	}
}

@media screen and (max-width: 750px) {
	#system_solution #value{
        margin-top: 0%;
	}
	#system_solution #value .ttl_area{}
	#system_solution #value .ttl_area .value_bg{
        width: 111.2%;
        margin-left: -6.5%;
	}
	#system_solution #value .ttl_area .ttl_box{
        margin-top: 20%;
	}
	#system_solution #value .ttl_area .ttl_box .ttl{}
	#system_solution #value .ttl_area .ttl_box .ttl_en{}
	#system_solution #value .map_area{
        padding-bottom: 17.8%;
	}
	#system_solution #value .map_area .value_map{
        position: absolute;
        margin-top: 111.2%;
        width: 112%;
        margin-left: -5.4%;
	}
	#system_solution #value .map_area .details_area{
        position: relative;
        margin-top: 10.3%;
	}
	#system_solution #value .map_area .details_area .stores_ttl{}
	#system_solution #value .map_area .details_area .stores_number{}
	#system_solution #value .map_area .details_area .stores_sub{
        margin-top: -1%;
        font-weight: 900;
	}
	#system_solution #value .value_list{
		position: relative;
        margin-top: 3.7%;
	}
	#system_solution #value .value_list li{
        width: 77.1%;
        padding-left: 6.6%;
        padding-top: 5.8%;
        padding-bottom: 15.4%;
        padding-right: 4.5%;
	}
	#system_solution #value .value_list li:nth-of-type(2){
        position: relative;
        left: 22%;
        margin-top: -9.7%;
        box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
	}
	#system_solution #value .value_list li:nth-of-type(3){
        position: relative;
        margin-top: -9%;
        right: auto;
        padding-bottom: 7.4%;
	}
	#system_solution #value .value_list li .value_list_ttl{}
	#system_solution #value .value_list li .value_list_number{
        margin-bottom: 8%;
	}
	#system_solution #value .value_list li .value_list_text{
        width: 78.6%;
	}
	#system_solution #value .value_list li:nth-of-type(2) .value_list_text{
        width: 77.6%;
	}
	#system_solution #value .value_list li:nth-of-type(3) .value_list_text{
        width: 76.5%;
	}
}

#system_solution #support{}
#system_solution #support .ttl_area{}
#system_solution #support .ttl_area .ttl_en{
    line-height: 1em;
    letter-spacing: 0.1em;
    margin-left: 0.3em; 
    padding-top: 4.2%;
}
#system_solution #support .ttl_area .ttl{
    font-weight: bold;
    letter-spacing: 0.02em;
    line-height: 1.4em;
    margin-top: 6%;
    position: relative;
    z-index: 2;
}
#system_solution #support .ttl_area .ttl span{
    background: #fff;
    padding-right: 0.4em;
}
#system_solution #support .ttl_area .subttl{
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1em;
    margin-top: 4%;
}
#system_solution #support .ttl_area .support_photo{
    position: absolute;
    top: 0px;
    right: 0px;
    z-index: 1;
    width: 59.9%;
}
#system_solution #support .support_list{
    padding-top: 10%;
    padding-bottom: 3%;
}
#system_solution #support .support_list li{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    margin-top: 6.7%;
}
#system_solution #support .support_list li .ico_area{
    width: 14%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
    position: relative;
}
#system_solution #support .support_list li .ico_area .ico_lbl{
    letter-spacing: 0.2em;
    line-height: 1em;
    font-weight: bold;
    transform: rotateZ(-90deg) translate(-45%, 265%);
    transform-origin: left;
    position: absolute;
    top: 50%;
    left: 0%;
    text-align: center;
    width: 10.3em;
    margin-top: 0%;
}
#system_solution #support .support_list li .ico_area .ico{
	width: 60%;
}
#system_solution #support .support_list li .number_area{
    width: 13.7%;
    margin-left: 2.3%;
}
#system_solution #support .support_list li .number_area .number{
    line-height: 1em;
    text-align: center;
}
#system_solution #support .support_list li .number_area .number span{
    font-weight: bold;
    margin-left: 0.2em;
}
#system_solution #support .support_list li:nth-of-type(3) .number_area .number span{
	margin-left: 0.1em;
	margin-right: 0.1em;
}
#system_solution #support .support_list li .number_area .number_sub{
    background: #000;
    color: #fff;
    text-align: center;
    line-height: 1em;
    padding: 0.3em 0em;
    padding-top: 0.4em;
}
#system_solution #support .support_list li .details_area{
    width: 67.2%;
    margin-left: 2.6%;
    padding-left: 1.7%;
    position: relative;
}
#system_solution #support .support_list li .details_area::before{
    content: "";
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0%;
    left: 0%;
    background: #cccccc;
}
#system_solution #support .support_list li .details_area .cat_area{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
}
#system_solution #support .support_list li .details_area .cat_area .cat{
    line-height: 1em;
    background: #000;
    color: #fff;
    padding: 0.4em 0.5em;
    padding-top: 0.5em;
    border-radius: 5em;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    width: 8.6em;
    text-align: center;
}
#system_solution #support .support_list li .details_area .cat_area .ttl{
    line-height: 1em;
    margin-left: 0.7em;
    background: #e9e9e9;
    padding: 0.05em 0.3em;
    padding-top: 0.2em;
}
#system_solution #support .support_list li .details_area .txt{
    line-height: 1.6em;
    margin-top: 1.8%;
}

@media screen and (max-width: 750px) {
	#system_solution #support{}
	#system_solution #support .ttl_area{}
	#system_solution #support .ttl_area .ttl_en{
        padding: 0px;
        margin: 0px;
        font-weight: bold;
        transform: rotateZ(-90deg) translate(-100%, 0em);
        transform-origin: left;
        position: absolute;
        top: 0px;
        left: 0px;
        display: block;
        width: 25em;
        margin-left: 2.7em;
        color: #707070;
        text-align: right;
        margin-top: -1%;
	}
	#system_solution #support .ttl_area .ttl{
        margin: 0px;
        padding-top: 43%;
	}
	#system_solution #support .ttl_area .subttl{}
	#system_solution #support .ttl_area .support_photo{
        width: 89.4%;
        right: -6%;
	}
	#system_solution #support .support_list{
        padding-top: 0%;
        padding-bottom: 5%;
        margin-top: -5%;
	}
	#system_solution #support .support_list li{
		margin-top: 17%;
        flex-wrap: wrap;
	}
	#system_solution #support .support_list li .ico_area{
        width: 23.2%;
	}
	#system_solution #support .support_list li .ico_area .ico_lbl{
        transform: rotateZ(-90deg) translate(-45%, 43.2%);
	}
	#system_solution #support .support_list li .ico_area .ico{
        width: 74.8%;
	}
	#system_solution #support .support_list li .number_area{
        width: 31.2%;
        margin-left: 4.2%;
	}
	#system_solution #support .support_list li .number_area .number{}
	#system_solution #support .support_list li .number_area .number_sub{}
	#system_solution #support .support_list li .details_area{
        width: 100%;
        margin-left: 0%;
        padding-left: 0%;
	}
	#system_solution #support .support_list li .details_area::before{
		display: none;
	}
	#system_solution #support .support_list li .details_area .cat_area{
        flex-direction: column;
        align-items: center;
        position: absolute;
        width: 33.4%;
        right: 0px;
        top: 0px;
        margin-top: -14.5%;
	}
	#system_solution #support .support_list li .details_area .cat_area::before{
		content: "";
		width: 1px;
		height: 100%;
		position: absolute;
		top: 0%;
		left: -12%;
		background: #cccccc;
	}
	#system_solution #support .support_list li .details_area .cat_area .cat{
        width: 100%;
        margin-bottom: 8%;
	}
	#system_solution #support .support_list li .details_area .cat_area .ttl{
        margin: 0px;
        width: 100%;
        text-align: center;
        padding: 0.2em 0em;
        padding-top: 0.4em;
	}
	#system_solution #support .support_list li .details_area .txt{
        margin-top: 4.5%;
	}
}


/* ==========================================================================
   page - business - system solution
   ========================================================================== */
   
#ec_marketing{}
#ec_marketing .header_ec_marketing{
	background: url(assets/img/ec_marketing/header_bg.png) center no-repeat;
    background-size: cover;
	overflow-x: hidden;
}
#ec_marketing .ec_marketing_overflow{
	overflow-x: hidden;
}

@media screen and (max-width: 750px) {
	#ec_marketing .ec_marketing_overflow{
		overflow-x: unset;
	}
	#ec_marketing .header_ec_marketing{
		background: url(assets/img/ec_marketing/header_bg_sp.png) center no-repeat;
		background-size: cover;
	}
	#ec_marketing #site-hero.white .hero_inner{
		padding-top: 40.1%;
	}
	#ec_marketing #site-hero .title{
		flex-direction: column;
        margin-bottom: 5%;
	}
	#ec_marketing #site-hero .title h3{
		letter-spacing: 0.1em;
		font-style: italic;
		margin: 0px;
	}
}
   
#ec_marketing .part-recruit{
	padding-top: 6%;
	overflow-x: hidden;
}

@media screen and (min-width: 1300px) {
	#ec_marketing .part-recruit{
		padding-top: 78px;
	}
}

@media screen and (max-width: 750px) {
	#ec_marketing .part-recruit{
		padding-top: 10%;
	}
}

#ec_marketing footer{
	overflow-x: hidden;
}

#ec_marketing #service{}
#ec_marketing #service .content_box{
	border-bottom: 1px solid #999999;
}
#ec_marketing #service .service_bg{
    position: absolute;
    top: 0px;
    left: 0px;
    width: 102.4%;
    margin-top: -2%;
    margin-left: 34%;
    opacity: 0.6;
}
#ec_marketing #service .logo_area{
	margin-top: 10.7%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-end;
}
#ec_marketing #service .logo_area h3{
    position: relative;
    line-height: 1em;
    letter-spacing: 0.1em;
    margin-left: 3%;
}
#ec_marketing #service .logo_area .service_logo{
    position: relative;
    width: 19.8%;
}
#ec_marketing #service .ttl{
    position: relative;
    width: 97.6%;
    margin-top: 6%;
    margin-bottom: 8.8%;
}
#ec_marketing #service .text{
    position: relative;
    width: 68.3%;
    line-height: 1.8em;
    padding-bottom: 9.7%;
}
#ec_marketing #service .btn_all{
    position: absolute;
    right: 0px;
    top: 0px;
    line-height: 1em;
    display: block;
    width: 19.1%;
    text-align: center;
    color: #fff;
    background: #000;
    padding: 1.5em 0em;
    border-radius: 5em;
	border: 1px solid #000;
    margin-top: 36%;
}
#ec_marketing #service .btn_all:hover{
	opacity: 1;
	color: #000;
	background: #fff;
}
#ec_marketing #service .btn_all::after{
    content: "";
    max-width: 11px;
    width: 5%;
    padding-top: 4.6%;
    height: 0%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 12%;
    background: url(assets/img/ec_marketing/ico_arrow_ur.png) center center no-repeat;
    background-size: contain;
}

@media screen and (max-width: 750px) {
	#ec_marketing #service{}
	#ec_marketing #service .service_bg{
        width: 88.6%;
        margin-top: 4.9%;
        margin-left: 18.6%;
	}
	#ec_marketing #service .logo_area{
        margin-top: 0%;
        padding-top: 14.8%;
	}
	#ec_marketing #service .logo_area h3{
        letter-spacing: 0.2em;
	}
	#ec_marketing #service .logo_area .service_logo{
        width: 34.6%;
        margin-bottom: 0%;
	}
	#ec_marketing #service .ttl{
        width: 100.6%;
        margin-bottom: 12.4%;
        margin-top: 13.9%;
	}
	#ec_marketing #service .text{
        width: 100%;
        padding-bottom: 7.5%;
	}
	#ec_marketing #service .btn_all{
        position: relative;
        margin-top: 0%;
        width: 45.1%;
        margin-bottom: 6.5%;
        padding: 1.3em 0em;
	}
	#ec_marketing #service .btn_all::after{
        background: url(assets/img/ec_marketing/ico_arrow_ur_sp.png) center center no-repeat;
        background-size: contain;
        max-width: 14px;
        width: 4.7%;
        padding-top: 4.6%;
	}
}


#ec_marketing #vision{}
#ec_marketing #vision .message_content{
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 5%;
}
#ec_marketing #vision .message_content dt{
    width: 22.9%;
    position: relative;
    margin-right: 3%;
}
#ec_marketing #vision .message_content dt .ttl_en{
    letter-spacing: 0.15em;
    line-height: 1em;
    font-weight: bold;
    transform: rotateZ(90deg) translate(60%, -100%);
    transform-origin: right;
    position: absolute;
    top: 0px;
    right: 6%;
    margin-top: 42%;
}
#ec_marketing #vision .message_content dt .ttl{
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-weight: bold;
    letter-spacing: 0em;
    line-height: 1.4em;
    margin-top: 25.2%;
    position: relative;
    left: 0%;
	z-index: 2;
}
#ec_marketing #vision .message_content dt .ttl span{
    background: #000;
    color: #fff;
    position: relative;
    top: 0.1em;
    display: inline-block;
    text-indent: 0em;
    padding-bottom: 0em;
}
#ec_marketing #vision .message_content dd{
    width: 66.1%;
    margin-left: 3.4%;
}
#ec_marketing #vision .message_content dd .ttl_en{
	line-height: 1em;
    margin-top: 8.6%;
    color: #fff;
    background: #000;
    display: inline-block;
    text-align: center;
    letter-spacing: 0.2em;
    padding: 0.4em 0.8em;
    padding-bottom: 0.5em;
}
#ec_marketing #vision .message_content dd .sobani_logo{
    margin-top: 6.5%;
    width: 90.7%;
    margin-bottom: 8.3%;
    position: relative;
    left: -4.6%;
}
#ec_marketing #vision .message_content dd .text{
    line-height: 1.8em;
}
#ec_marketing #vision .message_content dd .details_list{
    margin-top: 6%;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
}
#ec_marketing #vision .message_content dd .details_list li{
    line-height: 1em;
    margin-top: 0.7em;
    background: #000;
    color: #fff;
    display: inline-block;
    padding: 0.2em 0em;
    padding-top: 0.3em;
    padding-left: 1.8em;
	position: relative;
}
#ec_marketing #vision .message_content dd .details_list li::after{
    content: "";
    max-width: 12px;
    width: 7.8%;
    padding-top: 6.4%;
    height: 0%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0.5em;
    background: url(assets/img/ec_marketing/ico_arrow_right.png) center center no-repeat;
    background-size: contain;
}

@media screen and (max-width: 750px) {
	#ec_marketing #vision{}
	#ec_marketing #vision .message_content{
        position: relative;
        justify-content: flex-end;
        margin-bottom: 13%;
	}
	#ec_marketing #vision .message_content dt{
        position: absolute;
        width: 40.8%;
        top: 0%;
        right: 0%;
        margin-right: -2%;
        margin-top: 58%;
	}
	#ec_marketing #vision .message_content dt .ttl_en{
        margin-top: 0%;
        transform: rotateZ(90deg) translate(100%, -100%);
	}
	#ec_marketing #vision .message_content dt .ttl{
        margin-top: 0%;
        left: 8%;
        line-height: 1.3em;
	}
	#ec_marketing #vision .message_content dd{
        width: 100%;
        margin: 0px;
	}
	#ec_marketing #vision .message_content dd .ttl_en{
        margin-top: 11.2%;
	}
	#ec_marketing #vision .message_content dd .sobani_logo{
        margin-top: 8.8%;
        width: 104.8%;
        margin-bottom: 11.8%;
        left: -4.6%;
	}
	#ec_marketing #vision .message_content dd .details_area{
		display: flex;
        flex-direction: column-reverse;
        flex-wrap: nowrap;
        align-items: flex-start;
	}
	#ec_marketing #vision .message_content dd .details_list{
		margin-top: 0px;
	}
	#ec_marketing #vision .message_content dd .text{
        width: 54.9%;
        margin-top: 6.7%;
	}
}

#ec_marketing #strength{}
#ec_marketing #strength .ttl_area{
    position: relative;
    margin-top: -4%;
}
#ec_marketing #strength .ttl_area .bg_area{
    overflow-x: hidden;
    width: 100vw;
    position: absolute;
    top: 0px;
}
#ec_marketing #strength .ttl_area .strength_bg{
    position: relative;
    top: 0px;
    display: flex;
    align-items: center;
    flex-direction: row;
    white-space: nowrap;
    width: max-content;
    -webkit-animation: slider-move 50s linear infinite;
    animation: slider-move 50s linear infinite;
    z-index: 1;
}
#ec_marketing #strength .ttl_area .strength_bg li{
    width: 134.8vw;
    margin-left: 6.6vw;
}
#ec_marketing #strength .ttl_area .ttl_box{
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: flex-start;
    right: 0px;
    margin-right: 5.1%;
    padding-top: 9%;
    z-index: 2;
}
#ec_marketing #strength .ttl_area .ttl_box .ttl{
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-top: 0px;
    line-height: 1.4em;
}
#ec_marketing #strength .ttl_area .ttl_box .ttl_en{
	letter-spacing: 0.4em;
    line-height: 1em;
    font-weight: bold;
    transform: rotateZ(-90deg) translate(0.7em, -1em);
    transform-origin: right;
    position: absolute;
    top: 0px;
    right: 0px;
    display: block;
    width: 25em;
    margin-right: -2.8%;
    color: #707070;
    text-align: right;
    margin-top: 9.8%;
}
#ec_marketing #strength .strength_items{
    margin-top: -4.7%;
}
#ec_marketing #strength .strength_items .strength_item{
	position: sticky;
	top: 0;
	padding-top: 2%;
    background: #fff;
}
#ec_marketing #strength .strength_items .strength_item.s2{ 
	border-top: 1px solid #999999;
}
#ec_marketing #strength .strength_items .strength_item .strength_item_ttl{}
#ec_marketing #strength .strength_items .strength_item .strength_item_ttl .number{
	line-height: 1em;
}
#ec_marketing #strength .strength_items .strength_item .strength_item_ttl .subttitle{
    font-weight: 900;
    line-height: 1.4em;
    margin-top: 0.6%;
}
#ec_marketing #strength .strength_items .strength_item.s1 .strength_item_img{
    position: absolute;
    top: 0px;
    right: 0px;
    margin-top: 15%;
    width: 37.7%;
    margin-right: 0.5%;
}
#ec_marketing #strength .strength_items .strength_item.s2 .strength_item_img{
    position: absolute;
    top: 0px;
    right: 0px;
    margin-top: 3%;
    margin-right: 4%;
    width: 33.6%;
}
#ec_marketing #strength .strength_items .strength_item .strength_item_content{}
#ec_marketing #strength .strength_items .strength_item.s1 .strength_item_content .ttl_en{
    color: #adadad;
    line-height: 1em;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-top: 6%;
    margin-bottom: 1.3%;
}
#ec_marketing #strength .strength_items .strength_item.s1 .strength_item_content .text{
	width: 54.7%;
    padding-bottom: 7%;
    line-height: 1.8em;
}
#ec_marketing #strength .strength_items .strength_item.s2 .strength_item_content .ttl_en{
    color: #adadad;
    line-height: 1em;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-top: 6.2%;
    margin-bottom: 1.3%;
}
#ec_marketing #strength .strength_items .strength_item.s2 .strength_item_content .text{
    width: 55.1%;
    padding-bottom: 7%;
    line-height: 1.8em;
}
#ec_marketing #strength .strength_items .thoughts{
	position: relative;
    padding-top: 6.6%;
    background: #fff;
	border-top: 1px solid #999999;
}
#ec_marketing #strength .strength_items .thoughts .ttl_box{
    position: absolute;
    left: 0px;
    top: 0px;
    margin-top: 12.7%;
    margin-left: 8.4%;
    z-index: 2;
}
#ec_marketing #strength .strength_items .thoughts .ttl_box .ttl_en{
    letter-spacing: 0.4em;
    line-height: 1em;
    font-weight: bold;
    transform: rotateZ(-90deg) translate(-100%, 0em);
    transform-origin: left;
    position: absolute;
    top: 0px;
    left: 0px;
    display: block;
    margin-left: 10%;
    text-align: right;
    margin-top: -15%;
    width: 16em;
    color: #666666;
}
#ec_marketing #strength .strength_items .thoughts .ttl_box .ttl{
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-top: 0px;
    line-height: 1em;
    margin-left: 1.2em;
}
#ec_marketing #strength .strength_items .thoughts .details_area{
    margin-top: 21.2%;
    margin-left: 32.7%;
    position: relative;
    z-index: 2;
}
#ec_marketing #strength .strength_items .thoughts .details_area .subttl{
    font-weight: bold;
    line-height: 1.3em;
}
#ec_marketing #strength .strength_items .thoughts .details_area .text{
    width: 93.2%;
    line-height: 1.8em;
    margin-top: 3%;
}
#ec_marketing #strength .strength_items .thoughts .thoughts_btn{
    display: block;
    position: absolute;
    top: 0%;
    right: 0%;
    z-index: 2;
    margin-top: 7.5%;
    width: 20.9%;
    margin-right: 6%;
}
#ec_marketing #strength .strength_items .thoughts .thoughts_btn:hover{
	opacity: 0.8;
}

#thoughts_bg_area{
    margin-top: -34.1%;
    z-index: 1;
    position: relative;
}
#thoughts_bg_area .thoughts_bg{
    width: 248.3%;
    opacity: 0.6;
    margin-left: -18.1%;
}

@media screen and (min-width: 1300px) {
	#ec_marketing #strength .ttl_area .strength_bg li{
        width: 1752px;
        margin-left: 86px;
	}
	#thoughts_bg_area{
		margin-top: -443px;
	}
	#thoughts_bg_area .thoughts_bg{
		width: 2930px;
		margin-left: -213px;
	}
}

@media screen and (max-width: 750px) {
	#ec_marketing #strength{}
	#ec_marketing #strength .ttl_area{}
	#ec_marketing #strength .ttl_area .strength_bg{}
	#ec_marketing #strength .ttl_area .strength_bg li{
        width: 224.3vw;
	}
	#ec_marketing #strength .ttl_area .ttl_box{
        margin-right: 10.4%;
        padding-top: 15.6%;
	}
	#ec_marketing #strength .ttl_area .ttl_box .ttl{
        letter-spacing: 0em;
        line-height: 1.3em;
	}
	#ec_marketing #strength .ttl_area .ttl_box .ttl_en{
        margin-top: 17.8%;
        margin-right: -6.8%;
	}
	#ec_marketing #strength .strength_items{
		margin-top: 8.8%;
	}
	#ec_marketing #strength .strength_items .strength_item{
		position: relative;
        padding-top: 0%;
	}
	#ec_marketing #strength .strength_items .strength_item.s1{
        border-top: none;
        margin-top: 14.8%;
	}
	#ec_marketing #strength .strength_items .strength_item.s2{
		padding-top: 14.8%;
		margin-top: 0px;
	}
	#ec_marketing #strength .strength_items .strength_item .strength_item_ttl{}
	#ec_marketing #strength .strength_items .strength_item .strength_item_ttl .number{}
	#ec_marketing #strength .strength_items .strength_item .strength_item_ttl .subttitle{
        margin-top: 2.1%;
	}
	#ec_marketing #strength .strength_items .strength_item .strength_item_content{}
	#ec_marketing #strength .strength_items .strength_item.s1 .strength_item_img{
        position: relative;
        margin: 0 auto;
        width: 71.6%;
        margin-top: 11%;
	}
	#ec_marketing #strength .strength_items .strength_item.s2 .strength_item_img{
        position: relative;
        width: 64.9%;
        margin: 0 auto;
        margin-top: 9%;
	}
	#ec_marketing #strength .strength_items .strength_item.s1 .strength_item_content .ttl_en{
        margin-top: 11.2%;
        margin-bottom: 2.2%;
	}
	#ec_marketing #strength .strength_items .strength_item.s2 .strength_item_content .ttl_en{
		margin-top: 11.2%;
        margin-bottom: 2.2%;
	}
	#ec_marketing #strength .strength_items .strength_item.s1 .strength_item_content .text{
        width: 100%;
        padding-bottom: 10.3%;
	}
	#ec_marketing #strength .strength_items .strength_item.s2 .strength_item_content .text{
        width: 100%;
        padding-bottom: 10.3%;
	}
	#ec_marketing #strength .strength_items .thoughts{
        padding-top: 0%;
	}
	#ec_marketing #strength .strength_items .thoughts .ttl_box{
		margin-top: 15.7%;
        margin-left: 3.8%;
	}
	#ec_marketing #strength .strength_items .thoughts .ttl_en{
        position: relative;
        margin: 0%;
        text-align: left;
        transform: none;
        margin-bottom: 4.2%;
	}
	#ec_marketing #strength .strength_items .thoughts .text{
        width: 100%;
        margin: 0px;
        margin-top: 10.1%;
	}
	#ec_marketing #strength .strength_items .thoughts .thoughts_btn{
        margin-top: 19.6%;
        width: 39.8%;
        margin-right: 1.5%;
	}
	#ec_marketing #strength .strength_items .thoughts .details_area{
		margin-top: 65.9%;
        margin-left: 0%;
	}
	#ec_marketing #strength .strength_items .thoughts .details_area .text{
        width: 100%;
        margin-top: 5%;
	}
	#thoughts_bg_area{
        margin-top: -9.1%;
        z-index: 2;
	}
	#thoughts_bg_area .thoughts_bg{
        width: 112%;
        margin-left: -6%;
	}
}

#ec_marketing #solutions{
    position: relative;
    margin-top: -14%;
}
#ec_marketing #solutions .solutions_bg_color{
	background: #f8f8f8;
	position: relative;
    z-index: 1;
}
#ec_marketing #solutions .ttlBtn{
    width: 31.9%;
    margin-bottom: -18%;
    position: relative;
    z-index: 2;
}
#ec_marketing #solutions .service_btn{
    position: absolute;
    top: 0px;
    right: 0px;
    margin-right: 6.4%;
    margin-top: 77.3%;
    width: 21%;
}
#ec_marketing #solutions .service_list{
    margin: 0 auto;
    padding-top: 19.1%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    width: 89.9%;
}
#ec_marketing #solutions .service_list li{
	width: 31.2%;
    background: #fff;
    border-radius: 0.9em;
    margin-top: 5.2%;
    position: relative;
    padding: 2.9% 3.3%;
}
#ec_marketing #solutions .service_list li:nth-of-type(2),
#ec_marketing #solutions .service_list li:nth-of-type(5){
    margin-top: -4.2%;
}
#ec_marketing #solutions .service_list li:nth-of-type(3),
#ec_marketing #solutions .service_list li:nth-of-type(6){
    margin-top: -13.7%;
}
#ec_marketing #solutions .service_list li .service_number{
    line-height: 1em;
    display: inline-block;
    background: #e5e5e5;
    letter-spacing: 0.1em;
    padding: 0.4em 0.7em;
}
#ec_marketing #solutions .service_list li .service_icon{
    margin: 0 auto;
    width: 56.8%;
    margin-top: 12.7%;
    margin-bottom: 15.3%;
}
#ec_marketing #solutions .service_list li .service_name{
	line-height: 1em;
    display: block;
    text-align: center;
    background: #101010;
    color: #fff;
    padding: 0.2em 0em;
    padding-top: 0.3em;
}
#ec_marketing #solutions .text{
    width: 62.9%;
    margin-left: 5.5%;
    line-height: 1.6em;
    margin-top: 3.6%;
    padding-bottom: 25.5%;
}
#ec_marketing #solutions .ttl_area{
	margin-top: -19%;
    margin-left: 35%;
    position: relative;
    z-index: 2;
    padding-bottom: 1%;
}
#ec_marketing #solutions .ttl_area .subttl_en{
    color: #999999;
    letter-spacing: 0.15em;
    padding-left: 1.6em;
}
#ec_marketing #solutions .ttl_area .subttl_en span{ 
	position: relative;
}
#ec_marketing #solutions .ttl_area .subttl_en span::before{
    content: "";
    max-width: 10px;
    width: 0.8em;
    padding-top: 7.2%;
    height: 0%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -1.3em;
    background: url(assets/img/system_solution/arrow_right_grey.png) center center no-repeat;
    background-size: contain;
}
#ec_marketing #solutions .ttl_area .subttl{
    width: 11.1em;
    font-weight: bold;
    line-height: 1.5em;
}
#ec_marketing #solutions .ttl_area .subttl span{
    display: inline-block;
    background: #000;
    color: #fff;
    line-height: 1em;
    padding: 0.1em 0.15em;
    padding-bottom: 0.2em;
    padding-right: 0em;
}
#ec_marketing #solutions .bg_area{
	overflow-x: hidden;
    width: 100vw;
    position: absolute;
    bottom: 0px;
}
#ec_marketing #solutions .bg_area .solution_bg{
    position: relative;
    top: 0px;
    display: flex;
    align-items: center;
    flex-direction: row;
    white-space: nowrap;
    width: max-content;
    -webkit-animation: slider-move 50s linear infinite;
    animation: slider-move 50s linear infinite;
    z-index: 1;
}
#ec_marketing #solutions .bg_area .solution_bg li{
    width: 98.8vw;
    margin-left: 6.6vw;
}

@media screen and (min-width: 1300px) {
	#ec_marketing #solutions{
		margin-top: -182px;
	}
	#ec_marketing #solutions .bg_area .solution_bg li{
		width: 1284px;
        margin-left: 86px;
	}
}

@media screen and (max-width: 750px) {
	#ec_marketing #solutions{
		margin-top: -33%;
	}
	#ec_marketing #solutions .ttlBtn{
        width: 63.9%;
        margin-bottom: -41%;
	}
	#ec_marketing #solutions .service_btn{
        margin-right: -1%;
        margin-top: 22.3%;
        width: 39.8%;
	}
	#ec_marketing #solutions .service_list{
        width: 100%;
        padding-top: 63.7%;
	}
	#ec_marketing #solutions .service_list li{
        margin-top: 4.9%;
        width: 47.5%;
        padding: 2.6% 2.6%;
        padding-bottom: 4.5%;
	}
	#ec_marketing #solutions .service_list li:nth-of-type(2), 
	#ec_marketing #solutions .service_list li:nth-of-type(5){
		margin-top: 4.9%;
	}
	#ec_marketing #solutions .service_list li:nth-of-type(3), 
	#ec_marketing #solutions .service_list li:nth-of-type(6){
		margin-top: 4.9%;
	}
	#ec_marketing #solutions .service_list li .service_number{
        letter-spacing: 0.2em;
        padding: 0.5em 0.7em;
	}
	#ec_marketing #solutions .service_list li .service_icon{
        width: 51.9%;
        margin-top: 10.5%;
        margin-bottom: 10.6%;
	}
	#ec_marketing #solutions .service_list li .service_name{
        padding: 0.3em 0em;
        padding-top: 0.4em;
	}
	#ec_marketing #solutions .text{
        width: 100%;
        margin-left: 0%;
        margin-top: 7.3%;
        padding-bottom: 31.9%;
	}
	#ec_marketing #solutions .ttl_area {
        margin: 0px;
        margin-top: -18.3%;
	}
	#ec_marketing #solutions .ttl_area  .subttl_en{}
	#ec_marketing #solutions .ttl_area  .subttl{
        margin-top: 3%;
	}
	#ec_marketing #solutions .ttl_area  .subttl span{
		padding-left: 0px;
	}
	#ec_marketing #solutions .bg_area{
        margin-top: -46%;
        position: relative;
        margin-bottom: 20%;
	}
	#ec_marketing #solutions .bg_area .solution_bg{}
	#ec_marketing #solutions .bg_area .solution_bg li{
		width: 168.8vw;
	}
}



/* ==========================================================================
   page - business - brand growth
   ========================================================================== */
#brand_growth{}
#brand_growth .header_brand_growth{
	background: url(assets/img/brand_growth/header_bg.png) center no-repeat;
    background-size: cover;
	overflow-x: hidden;
}
#brand_growth .brand_growth_overflow{
	overflow-x: hidden;
} 

@media screen and (max-width: 750px) {
	#brand_growth .brand_growth_overflow{
		overflow-x: unset;
	}
	#brand_growth .header_brand_growth{
		background: url(assets/img/brand_growth/header_bg_sp.png) center no-repeat;
		background-size: cover;
	}
	#brand_growth #site-hero.white .hero_inner{
		padding-top: 40.1%;
	}
	#brand_growth #site-hero .title{
		flex-direction: column;
        margin-bottom: 5%;
	}
	#brand_growth #site-hero .title h3{
		letter-spacing: 0.1em;
		font-style: italic;
		margin: 0px;
	}
}
   
#brand_growth .part-recruit{
	padding-top: 6%;
	overflow-x: hidden;
}

@media screen and (min-width: 1300px) {
	#brand_growth .part-recruit{
		padding-top: 78px;
	}
}

@media screen and (max-width: 750px) {
	#brand_growth .part-recruit{
		padding-top: 10%;
	}
}

#brand_growth footer{
	overflow-x: hidden;
}


#brand_growth #service{}
#brand_growth #service .content_box{}
#brand_growth #service .service_bg{
    position: absolute;
    top: 0px;
    left: 0px;
    width: 102.4%;
    margin-top: 5.2%;
    margin-left: 34.7%;
    opacity: 0.6;
}
#brand_growth #service h3{
    position: relative;
    line-height: 1em;
    margin-top: 0%;
    margin-bottom: 7%;
    padding-top: 9.4%;
}
#brand_growth #service .ttl{
    position: relative;
    width: 71.9%;
    margin-bottom: 6.4%;
}
#brand_growth #service .text{
	position: relative;
    width: 63%;
    line-height: 1.8em;
    padding-bottom: 9.7%;
}
#brand_growth #service .btn_all{
    position: absolute;
    right: 0px;
    top: 0px;
    line-height: 1em;
    display: block;
    width: 19.1%;
    text-align: center;
    color: #fff;
    background: #000;
    padding: 1.5em 0em;
    border-radius: 5em;
	border: 1px solid #000;
    margin-top: 40.7%;
}
#brand_growth #service .btn_all:hover{
	opacity: 1;
	color: #000;
	background: #fff;
}
#brand_growth #service .btn_all::after{
    content: "";
    max-width: 9px;
    width: 4.1%;
    padding-top: 7%;
    height: 0%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 12%;
    background: url(assets/img/brand_growth/ico_arrow_down.png) center center no-repeat;
    background-size: contain;
}

@media screen and (max-width: 750px) {
	#brand_growth #service{}
	#brand_growth #service .service_bg{
        width: 89.2%;
        margin-top: 3.8%;
        margin-left: 16%;
	}
	#brand_growth #service h3{
        margin-top: 0%;
        margin-bottom: 11.8%;
        padding-top: 18.9%;
        letter-spacing: 0.2em;
	}
	#brand_growth #service .ttl{
        width: 99.9%;
        margin-bottom: 11%;
	}
	#brand_growth #service .text{
        width: 100%;
        padding-bottom: 7.2%;
	}
	#brand_growth #service .btn_all{
        position: relative;
        margin-top: 0%;
        width: 45.1%;
        margin-bottom: 15.6%;
        padding: 1.3em 0em;
	}
	#brand_growth #service .btn_all::after{
        background: url(assets/img/brand_growth/ico_arrow_down_sp.png) center center no-repeat;
        background-size: contain;
        max-width: 11px;
        width: 3.7%;
        padding-top: 6.3%;
	}
}

#brand_growth #brands{
	background: #f6f6f6;
	padding-top: 11.2%;
}
#brand_growth #brands h2{
	width: 100%;
    margin: 0 auto;
    line-height: 1em;
	position: relative;
}
#brand_growth #brands h2::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 8%;
    transform: translateY(-50%);
    height: 1px;
    width: 92%;
    background: #c5c5c5;
}
#brand_growth #brands .brand_list{
    width: 89.9%;
    margin: 0 auto;
    margin-top: 5.5%;
    padding-bottom: 2.5%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
}
#brand_growth #brands .brand_list li{
    width: 23.1%;
    margin-left: 2.5%;
    margin-bottom: 4.8%;
}
#brand_growth #brands .brand_list li:nth-of-type(4n+1){
	margin-left: 0px;
}
#brand_growth #brands .brand_list li .photo{
	opacity: 1;
	-webkit-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
	cursor: pointer;
	position: relative;
}
#brand_growth #brands .brand_list li .photo:hover{
	opacity: 0.8;
}
#brand_growth #brands .brand_list li .name{
    font-weight: bold;
    line-height: 1em;
    margin-top: 9%;
    margin-bottom: 5%;
    letter-spacing: 0.05em;
}
#brand_growth #brands .brand_list li .link{
	line-height: 1em;
	position: relative;
    display: inline-block;
}
#brand_growth #brands .brand_list li .link::after{
    content: "";
    width: 0.6em;
    padding-top: 1em;
    height: 0px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -1.3em;
    background: url(assets/img/brand_growth/ico_arrow_down_black.png) center no-repeat;
    background-size: contain;
}

@media screen and (min-width: 1300px) {
	#brand_growth #brands{
		padding-top: 145px;
	}
}
@media screen and (max-width: 750px) {
	#brand_growth #brands{}
	#brand_growth #brands h2{
		width: 100%;
	}
	#brand_growth #brands h2::after{
        width: 84%;
        left: 22%;
	}
	#brand_growth #brands .brand_list{
        width: 92.2%;
        margin-top: 12.6%;
        padding-bottom: 7.5%;
        justify-content: space-between;
	}
	#brand_growth #brands .brand_list li{
        width: 45.8%;
        margin-left: 0%;
        margin-bottom: 6.5%;
	}
	#brand_growth #brands .brand_list li:nth-of-type(4n+1){
		margin-left: 0%;
	}
	#brand_growth #brands .brand_list li:nth-of-type(2n+1){
		margin-left: 0%;
	}
	#brand_growth #brands .brand_list li .photo{}
	#brand_growth #brands .brand_list li .name{
        margin-top: 9%;
        margin-bottom: 6%;
	}
	#brand_growth #brands .brand_list li .link{
		letter-spacing: 0.1em;
	}
}

#brand_growth #brands_details{
	background: #f6f6f6;
}
#brand_growth #brands_details .bg_area{
	position: absolute;
    top: 0%;
    bottom: 0%;
    width: 100%;
}
#brand_growth #brands_details .bg{
    position: absolute;
    z-index: 1;
    width: 16.9%;
    top: 0%;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 6%;
    margin-left: -47%;
}
#brand_growth #brands_details dl{
    border-top: 1px solid #c5c5c5;
    padding-top: 1.7%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
    padding-bottom: 10.6%;
}
#brand_growth #brands_details dl dt{
	width: 20%;
	position: relative;
    align-self: stretch;
}
#brand_growth #brands_details dl dt .ttl_area{
    margin-top: 63.3%;
    padding-bottom: 48.8%;
    position: relative;
    z-index: 2;
}
#brand_growth #brands_details dl dt .ttl_area .ttl{
	line-height: 1em;
    font-weight: bold;
}
#brand_growth #brands_details dl dt .ttl_area .ttl_en{
    line-height: 1em;
    margin-top: 6.8%;
    letter-spacing: 0.3em;
    color: #494949;
}
#brand_growth #brands_details dl dt #brand_menu{
    position: sticky;
    top: 40px;
    z-index: 2;
    background: #fff;
    padding: 21.1% 0%;
    padding-left: 29.7%;
    padding-right: 5%;
    border-radius: 1em;
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.1);
}
#brand_growth #brands_details dl dt #brand_menu ul{}
#brand_growth #brands_details dl dt #brand_menu ul .brand_menu_item{
    line-height: 1em;
    margin-top: 1.4em;
    color: #cccccc;
    font-weight: bold;
	position: relative;
}
#brand_growth #brands_details dl dt #brand_menu ul .brand_menu_item a{
	display: block;
	line-height: 1em;
	cursor: pointer;
}
#brand_growth #brands_details dl dt #brand_menu ul .brand_menu_item.active{
	color: #000;
}
#brand_growth #brands_details dl dt #brand_menu ul .brand_menu_item.active::before{
    content: "";
    display: block;
    position: absolute;
    left: -1.7em;
    top: 50%;
    transform: translateY(-50%);
    width: 0.5em;
    height: 0.5em;
    background: #000;
    border-radius: 5em;
}
#brand_growth #brands_details dl dt #brand_menu ul .brand_menu_item:nth-of-type(1){
	margin-top: 0em;
}
#brand_growth #brands_details dl dd{
    width: 73.8%;
}
#brand_growth #brands_details dl dd .brand_item{
    background: #fff;
    border-radius: 1.5em;
    margin-top: 5.8%;
    padding: 6.9% 8.1%;
    position: relative;
	box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.1);
	z-index: 2;
}
#brand_growth #brands_details dl dd .brand_item .number{
    letter-spacing: 0.1em;
    color: #8c8c8c;
    font-weight: bold;
    line-height: 1em;
}
#brand_growth #brands_details dl dd .brand_item .brand_ico{
    margin-top: 6.8%;
    margin-bottom: 6.8%;
}
#brand_growth #brands_details dl dd #brand_puttout.brand_item .brand_ico{
    width: 35.7%;
}
#brand_growth #brands_details dl dd #brand_crossput.brand_item .brand_ico{
    width: 41.2%;
	margin-bottom: 4.9%;
}
#brand_growth #brands_details dl dd #brand_fastdeer.brand_item .brand_ico{
    width: 25.4%;
}
#brand_growth #brands_details dl dd #brand_s4r.brand_item .brand_ico{
    width: 17.6%;
    margin-top: 4.6%;
    margin-bottom: 3.1%;
}
#brand_growth #brands_details dl dd #brand_yuhaku.brand_item .brand_ico{
    width: 24.8%;
    margin-top: 5.7%;
    margin-bottom: 4.4%;
}
#brand_growth #brands_details dl dd #brand_kika.brand_item .brand_ico{
    width: 26.1%;
}
#brand_growth #brands_details dl dd #brand_stoole.brand_item .brand_ico{
    width: 26.1%;
    margin-top: 5.8%;
    margin-bottom: 4.8%;
}
#brand_growth #brands_details dl dd .brand_item .brand_photo{
    position: absolute;
    top: 0%;
    right: 8%;
    width: 44.6%;
    margin-top: 6.9%;
}
#brand_growth #brands_details dl dd .brand_item .brand_type{
    line-height: 1em;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-bottom: 1.8%;
}
#brand_growth #brands_details dl dd .brand_item .brand_text{
    width: 41.2%;
    line-height: 1.8em;
}
#brand_growth #brands_details dl dd .brand_item .store_links{
    position: absolute;
    top: 0%;
    left: 47.1%;
    margin-top: 36.3%;
    width: 23%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
}
#brand_growth #brands_details dl dd .brand_item .store_links li{
	line-height: 1em;
}
#brand_growth #brands_details dl dd .brand_item .store_links li a{
    line-height: 1em;
    background: #ebeaea;
    margin-top: 0.7em;
    display: inline-block;
    padding: 0.6em 0em;
    padding-top: 0.7em;
    padding-left: 1.3em;
    padding-right: 2.4em;
	margin-right: 0.8em;
    border-radius: 5em;
	position: relative;
}
#brand_growth #brands_details dl dd .brand_item .store_links li a::after{
    content: "";
    max-width: 10px;
    width: 0.8em;
    padding-top: 0.8em;
    height: 0%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 1em;
    background: url(assets/img/brand_growth/ico_link.png) center center no-repeat;
    background-size: contain;
}
#brand_growth #brands_details dl dd .brand_item .brand_link{
    width: 13.4%;
    display: block;
    position: absolute;
    top: 0%;
    right: 5.7%;
    margin-top: 31.5%;
}

@media screen and (min-width: 1300px) {
	#brand_growth #brands_details .bg{
		margin-left: -611px;
	}
}
@media screen and (max-width: 750px) {
	#brand_growth #brands_details{}
	#brand_growth #brands_details .bg_area{}
	#brand_growth #brands_details .bg{
        margin-top: -16%;
        margin-left: -8%;
        width: 28.2%;
	}
	#brand_growth #brands_details dl{
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: flex-start;
        padding-top: 15.6%;
		padding-bottom: 20%;
	}
	#brand_growth #brands_details dl dt{
		width: 100%;
	}
	#brand_growth #brands_details dl dt .ttl_area{
        margin-top: 0%;
        padding-bottom: 4.5%;
	}
	#brand_growth #brands_details dl dt .ttl_area .ttl{}
	#brand_growth #brands_details dl dt .ttl_area .ttl_en{
        margin-top: 3.4%;
	}
	#brand_growth #brands_details dl dt #brand_menu{
		display: none;
		margin-top: 0px!important;
	}
	#brand_growth #brands_details dl dt #brand_menu ul{}
	#brand_growth #brands_details dl dt #brand_menu ul .brand_menu_item{}
	#brand_growth #brands_details dl dd{
        width: 100%;
	}
	#brand_growth #brands_details dl dd .brand_item{
        margin-top: 7.8%;
        padding: 8.9%;
	}
	#brand_growth #brands_details dl dd .brand_item .number{}
	#brand_growth #brands_details dl dd .brand_item .brand_ico{
        margin-top: 9.1%;
        margin-bottom: 10%;
	}
	#brand_growth #brands_details dl dd #brand_puttout.brand_item .brand_ico{
        width: 66%;
	}
	#brand_growth #brands_details dl dd #brand_crossput.brand_item .brand_ico{
        margin-bottom: 10%;
        width: 77.2%;
	}
	#brand_growth #brands_details dl dd #brand_fastdeer.brand_item .brand_ico{
        width: 54.5%;
	}
	#brand_growth #brands_details dl dd #brand_s4r.brand_item .brand_ico{
        margin-top: 9.1%;
        margin-bottom: 10%;
        width: 29.1%;
	}
	#brand_growth #brands_details dl dd #brand_yuhaku.brand_item .brand_ico{
        margin-top: 9.1%;
        margin-bottom: 10%;
        width: 46.4%;
	}
	#brand_growth #brands_details dl dd #brand_kika.brand_item .brand_ico{
        width: 57.7%;
	}
	#brand_growth #brands_details dl dd #brand_stoole.brand_item .brand_ico{
        margin-top: 9.1%;
        margin-bottom: 10%;
        width: 43.3%;
	}
	#brand_growth #brands_details dl dd .brand_item .brand_photo{
        position: static;
        margin: 0px;
        width: 100%;
	}
	#brand_growth #brands_details dl dd .brand_item .brand_type{
        margin-top: 8.2%;
        margin-bottom: 5%;
	}
	#brand_growth #brands_details dl dd .brand_item .brand_text{
        width: 100%;
	}
	#brand_growth #brands_details dl dd .brand_item .store_links{
        position: static;
        margin-top: 7.3%;
        width: 70%;
	}
	#brand_growth #brands_details dl dd .brand_item .store_links li{}
	#brand_growth #brands_details dl dd .brand_item .store_links li a{}
	#brand_growth #brands_details dl dd .brand_item .store_links li a::after{
        background: url(assets/img/brand_growth/ico_link_sp.png) center center no-repeat;
        background-size: contain;
        max-width: 14px;
        width: 0.7em;
        padding-top: 0.7em;
	}
	#brand_growth #brands_details dl dd .brand_item .brand_link{
        width: 24.3%;
        right: 5%;
        margin-top: 0%;
        top: auto;
        bottom: 0%;
        margin-bottom: 7%;
	}
}