/*
Theme Name: チップマン
Theme URI: https://www.tipman.jp/
Description: K's Studio
Version: 1.0.0
Author: K's Studio
Author URI: https://ksstudio.jp/
*/

@charset 'UTF-8';

body {
  background:#edf7f2;
}

body:before {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:radial-gradient(circle at 50% 100%, rgba(237, 246, 241, 1.0) 80%, rgba(204, 213, 208,1.0) 100%);
  content:'';
}

body.home:before {
  position:fixed;
}

body.page-template-page-product:before {
  background:none;
}

#wptime-plugin-preloader {
  background-size:250px 250px !important;
}

h1 {
  font-size:96px;
  font-weight:900;
}

h3 {
  font-size:48px;
  font-weight:900;
}

h4 {
  font-size:24px;
  font-weight:500;
}

.container-fluid {
  overflow:hidden;
  position:relative;
  max-width:1200px;
  margin:0 auto;
  padding:0 10px;
}

.content {
  overflow:hidden;
  max-width:1200px;
  margin:0 auto;
  padding:0 10px;
}

.content_inner {
  max-width:1000px;
  margin:0 auto;
}

.st-Header .header_inner {
  position:relative;
  max-width:1180px;
  width:100%;
  margin:0 auto;
}

.st-Header .logo {
  position:absolute;
  z-index:9999;
  top:18px;
  left:15px;
  width:130px;
  height:34px;
  transition:1s all;
}

.st-Header .navigation {
  height:60px;
}

.home .st-Header .navigation {
  background:none;
}

.st-Header .is-scroll {
  background:#edf7f2;
}

.st-Header .nav-list {
  display:block;
}

.st-Header nav {
  float:left;
  margin:17px 20px 0 200px;
}

.st-Header nav ul {
  list-style:none;
  margin:0;
  padding:0;
  font-size:18px;
  font-weight:600;
}

.st-Header nav ul ul {
  display:none;
}

.st-Header nav ul li {
  position:relative;
  float:left;
}

.st-Header nav ul li.current-menu-item a,
.st-Header nav ul li.current-page-ancestor a {
  color:#cc4131;
}

.st-Header nav ul li.lang{
  margin-left:40px;
}

.st-Header nav ul li.lang::before{
  position:absolute;
  content: "|";
  top:2px;
  left:0;
}

.st-Header nav ul li a,
.st-Header nav ul li a:visited {
  display:block;
  padding:0 15px;
}

.st-Header nav ul li ul li {
  min-width:180px;
}

.st-Header nav ul li ul li a {
  display:block;
  padding:15px;
  line-height:20px;
}

.st-Header .nav-dropdown {
  display:none;
  position:absolute;
  z-index:1;
  box-shadow:0 3px 12px rgba(0, 0, 0, 0.15);
}

.st-Header .nav-mobile {
  display:none;
  position:absolute;
  top:6px;
  right:12px;
  width:48px;
  height:48px;
  border-radius:50%;
  border-radius:5px;
  -webkit-border-radius:5px;
  -moz-border-radius:5px;
  background:none;
  background:#333333;
}

.st-Header #nav-toggle {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  cursor:pointer;
}

.st-Header #nav-toggle p {
  position:absolute;
  top:12px;
  left:12px;
  padding:10px 15px 20px 0px;
}

.st-Header #nav-toggle span,
.st-Header #nav-toggle span:before,
.st-Header #nav-toggle span:after {
  display:block;
  position:absolute;
  width:26px;
  height:4px;
  border-radius:1px;
  background:#ffffff;
  content:'';
  cursor:pointer;
  transition:all 300ms ease-in-out;
}

.st-Header #nav-toggle span:before {
  top:-11px;
}

.st-Header #nav-toggle span:after {
  bottom:-11px;
}

.st-Header #nav-toggle.active span {
  background-color:transparent;
}

.st-Header #nav-toggle.active span:before,
.st-Header #nav-toggle.active span:after {
  top:0;
}

.st-Header #nav-toggle.active span:before {
  transform:rotate(315deg);
}

.st-Header #nav-toggle.active span:after {
  transform:rotate(-315deg);
}

.st-pagereturn {
  position:fixed;
  z-index:99;
  top:20px;
  right:10px;
  line-height:1;
}

.st-pagereturn .pagereturn {
  width:52px;
}

.st-pagetop {
  position:fixed;
  z-index:99;
  right:10px;
  bottom:30px;
  line-height:1;
}

.st-pagetop a {
  font-size:48px;
}

.copylight {
  position:fixed;
  z-index:4 !important;
  bottom:70px;
  left:-30px;
  font-size:12px;
  font-weight:700;
  transform:rotate(-90deg);
}

/*------------------------------------------------------
  ページ共通
-------------------------------------------------------*/
.h1_under_line {
  margin:20px 0 40px 0;
  border-bottom:1px solid #333333;
}

.h1_under_line_bottom {
  margin:120px 0 40px 0;
  border-bottom:1px solid #333333;
}

.return_top_btn {
  width:360px;
  margin:0 auto 0px auto;
  border:4px solid #333333;
  font-size:36px;
  text-align:center;
  line-height:100px;
}

.return_top_btn a {
  display:block;
}

.return_top_btn a:hover,
.return_top_btn a:active,
.return_top_btn a:focus {
  color:#ffffff !important;
}

/*------------------------------------------------------
  トップページ
-------------------------------------------------------*/
.home :focus {
  outline:none;
}

.home .box {
  position:relative;
  height: 100vh;
  height: -webkit-fill-available;
}

.home .grid {
  display:flex;
  position:absolute;
  top:0;
  width:100%;
  height:100%;
}

.home .grid div {
  width:50%;
  height:100%;
  border-top:0px;
  border-right:4px solid;
  border-bottom:0px;
  border-left:0px;
}

.home .grid .line10 {
  border-image:linear-gradient(180deg, #CC4131, #CC7C36);
  border-image-slice:1;
}

.home .grid .line9 {
  border-image:linear-gradient(180deg, #CC7C36, #CC7C36);
  border-image-slice:1;
}

.home .grid .line8 {
  border-image:linear-gradient(180deg, #CC7C36, #CBB548);
  border-image-slice:1;
}

.home .grid .line7 {
  border-image:linear-gradient(180deg, #CBB548, #7CAF5B);
  border-image-slice:1;
}

.home .grid .line6 {
  border-image:linear-gradient(180deg, #7CAF5B, #519E98);
  border-image-slice:1;
}

.home .grid .line5 {
  border-image:linear-gradient(180deg, #519E98, #49679E);
  border-image-slice:1;
}

.home .grid .line4 {
  border-image:linear-gradient(180deg, #49679E, #4F437C);
  border-image-slice:1;
}

.home .grid .line3 {
  border-image:linear-gradient(180deg, #4F437C, #945C96);
  border-image-slice:1;
}

.home .grid .line3a {
  border-image:linear-gradient(180deg, #4F437C, #AD5993);
  border-image-slice:1;
}

.home .grid .line2 {
  border-image:linear-gradient(180deg, #945C96, #AD5993);
  border-image-slice:1;
}

.home .grid .line1 {
  border-image:linear-gradient(180deg, #AD5993, #b7588f);
  border-image-slice:1;
}

.home-product .section_inner {
  position:relative;
  min-height:100vh;
  height:auto;
  padding:50px 0 40px 0;
}

.home-product .title {
  max-width:1000px;
  margin:30px auto;
}

.home-product .product {
  position:absolute;
  top:53%;
  left:50%;
  transform:translateY(-50%) translateX(-50%);
}

.home-product .product img {
  max-width:430px;
  max-height:480px;
}

.home-product .product img:hover {
  transform:scale(1.1);
}

.home-product .product_name_area {
  position:absolute;
  top:50%;
  right:30px;
  width:300px;
  height:300px;
  padding-left:30px;
  border:8px solid #333333;
  transform:translateY(-50%) translateX(0%);
}

.home-product .product_new {
  font-size:28px;
  font-weight:700;
  line-height:1.2;
  color: #cc4131;
  border-bottom: 3px solid #cc4131;
  display: inline-block;
  margin-bottom:2px;
}

.home-product .product_name {
  font-size:40px;
  font-weight:900;
  line-height:1.3;
}

.home-product .left_arrow {
  width:40px;
  height:40px;
  padding-top:5px;
}

.home-product .product_up {
  position:absolute;
  top:calc(50% - 280px);
  right:10px;
  width:24px;
  height:257px;
}

.home-product .product_down {
  position:absolute;
  top:calc(50% + 10px);
  right:10px;
  width:24px;
  height:257px;
}

.home-select .select_product {
  position:fixed;
  top:50%;
  width:310px;
  padding:3px 2px 3px 2px;
  border:none;
  border-bottom:2px solid #333333;
  background:#edf7f2;
  font-size:16px;
}

.home-select .select_product select {
  box-sizing:border-box;
  width:100%;
  padding:0px 2px 0px 0px;
  border:none;
	cursor: pointer;
  background:#edf7f2;
  font-size:16px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.home-select .select_product select::-ms-expand {
  display: none;
}

.home-select .select_product::before {
	position: absolute;
	top: 3px;
	right: 2px;
	content: '▼';
	pointer-events: none;
}

.load_svg polygon,
.load_svg path {
  transition:0.4s ease-in-out;
  -webkit-transition:0.4s ease-in-out;
  -moz-transition:0.4s ease-in-out;
  -o-transition:0.4s ease-in-out;
}

a:hover .load_svg polygon,
a:hover .load_svg path {
  fill:#cc4131;
}

/*------------------------------------------------------
  PRODUCT個別
-------------------------------------------------------*/
.st-product {
  padding:0px 0 100px 0;
}

.st-product .product_head {
  animation:bg_animate 1.5s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}

@keyframes bg_animate {
  0% {
    opacity:0;
    transform:translateY(-1000px);
  }

  100% {
    opacity:1;
    transform:translateY(0);
  }
}

.st-product .product_head .product_name_area {
  position:absolute;
  bottom:70px;
  left:50%;
  color:#ffffff;
  transform:translateX(-50%);
}

.st-product .product_head .product_title {
  font-size:72px;
  font-weight:900;
  text-align:center;
  line-height:1.35;
}

.st-product .product_head .product_title_small {
  font-size:56px;
  font-weight:900;
  text-align:center;
  line-height:1.35;
}

.st-product .product_head .product_title_small2 {
  font-size:45px;
  font-weight:900;
  text-align:center;
  line-height:1.35;
}

.st-product .product_head .product_title_small3 {
  font-size:52px;
  font-weight:900;
  text-align:center;
  line-height:1.35;
}

.st-product .product_head .product_frame {
  width:300px;
  height:300px;
  border:5px solid #ffffff;
}

.st-product .product_head .product_name {
  margin:0 auto;
  font-size:40px;
  font-weight:900;
  text-align:center;
  line-height:1.3;
}

.st-product .product_head .product_name .japanese {
  margin-top:20px;
  font-size:16px;
  font-weight:500;
}

.st-product .product_head .photo {
  padding-top:50px;
  text-align:center;
}


.st-product .product_title_area .product_title {
  font-size:46px;
  font-weight:900;
  line-height:1.4;
  padding-left:30px;
}

.st-product .product_title_area .product_title_ja {
  padding-left:30px;
}

.st-product .product_main {
  margin:80px 0 80px 0;
}

.st-product .product_main .photo {
  text-align:center;
  padding:0 40px;
}

.st-product .product_main .photo img{
  width:100%;
}

.st-product .product_main .description {
  margin:0 auto 20px 50px;
  font-size:46px;
  line-height:1.4;
  display: table;
}

.st-product .product_main .description_frame {
  width:440px;
  height:440px;
  padding:30px;
  background:#333333;
  color:#ffffff;
  display: table;
  margin:0 auto;
}

.st-product .product_detail {
  margin-bottom:100px;
}

.st-product .product_detail .title {
  font-size:20px;
  font-weight:700;
}

.st-product .product_detail .description {
  max-width:420px;
  width:90%;
  margin:20px 30px 30px 30px;
}

.st-product .product_detail .bikou {
  max-width:420px;
  width:90%;
  margin:0px 30px 0px 30px;
  padding-left:1em;
  text-indent:-1em;
}

.st-product .product_detail table {
  max-width:460px;
  width:95%;
  margin:13px 0 0 30px;
}

.st-product .product_detail table tr {
  border-bottom:1px solid #333333;
}

.st-product .product_detail table th {
  width:125px;
  padding:10px 0 3px 0;
  line-height: 1.4;
}

.st-product .product_detail table td {
  line-height: 1.4;
  padding:10px 0 3px 0;
}

.st-product .photolist {
  margin:120px -20px 0 -20px;
}

.st-product .photolist .col-md-6 {
  padding:0 20px 100px 20px;
}

.st-product .photolist .photo {
  box-shadow:10px 10px 10px rgba(51,51,51,0.3);
}

.st-product .photolist .text {
  max-width:450px;
  margin:0 auto;
  display: table;
}

.st-product .photolist .number {
  width:100px;
  height:100px;
  margin:30px auto 30px auto;
  background:#333333;
  color:#ffffff;
  font-size:36px;
  font-weight:700;
  text-align:center;
  line-height:100px;
}

.st-product .option_area {
  margin:20px 0 80px 0;
  padding:0px 20px 0px 20px;
  background:url('../img/product/option_bg.png') 0 center no-repeat;
  color:#ffffff;
}

.st-product .option_area_mt{
  margin-top:-30px;
}

.st-product .option_area .photo {
  text-align:center;
  padding:30px 0 30px 0;
}

.st-product .option_area .photo2 {
  text-align:center;
  padding:0;
}

.st-product .option_area .photo2 img{
  max-height: 420px;
}

.st-product .option_area .product_name_area {
  max-width:600px;
  margin:0px auto 0 auto;
}

.st-product .option_area .product_name {
  font-size:40px;
  font-weight:900;
  text-align:center;
  line-height:1.3;
}

.st-product .option_area .product_name_ja {
  margin-top:20px;
  text-align:center;
}

.st-product .option_area .message {
  margin-top:30px;
  text-align:center;
}

.st-product .option_area .title {
  padding:20px 0 20px 0;
}

.st-product .related_area {
  margin:20px 0 80px 0;
  padding:0px 20px 0px 20px;
  border:7px solid #333333;
  height:320px;
}

.st-product .related_area .photo{
  text-align:center;
  margin-top:-30px;
}

.st-product .related_area .photo img{
  max-height:360px;
  transition:0.6s all;
}

.st-product .related_area a:hover .photo img {
  transform:scale(1.1);
  transition:0.6s all;
}

.st-product .related_area .product_name_area{
  display: table;
  margin: 0 auto;
}

.st-product .related_area .product_name{
  font-size: 52px;
  line-height: 1.0;
  font-weight: 900;
  text-align: center;
}

.st-product .related_area .product_title{
  font-size:24px;
  text-align: center;
}

.st-product .related_area .product_title .arrow{
  width:36px;
  height:36px;
  margin-right:30px;
}

/*------------------------------------------------------
  COMPANY
-------------------------------------------------------*/
.st-company {
  padding:70px 0 100px 0;
}

.st-company .playmovie {
  margin-bottom:100px;
}

.st-company .overview_area {
  margin:20px 0 80px 0;
}

.st-company .company_title {
  margin-bottom:15px;
  border-bottom:1px solid #333333;
  font-size:20px;
  font-weight:700;
}

.st-company table {
  font-size:20px;
}

.st-company table th {
  width:190px;
  padding:0px 0 7px 0;
}

.st-company .overview_table {
  margin-left:80px;
}

.st-company .company_table {
  margin:30px 0 80px 0;
}

.st-company .company_table th {
  width:120px;
}

.st-company .maplink {
  font-size:20px;
  font-weight:500px;
  text-align:right;
}

.st-company .maplink a {
  border-bottom:1px solid #333333;
}

.st-company .maplink a:hover {
  border-bottom:1px solid #cc4131;
}

.st-company .history_table {
  margin:20px auto 100px auto;
}

.st-company .history_table td.year {
  width:70px;
  font-size:24px;
  font-weight:700;
}

.st-company .history_table td.month {
  width:125px;
  text-align: center;
}

.st-company .history_table td.monthlast {
  padding-bottom:40px;
}

.st-company .history_table td.contents {
  padding-bottom:20px;
}

.st-company .history_table td span {
  border-bottom:1px solid #333333;
}

/*------------------------------------------------------
  MOVIE
-------------------------------------------------------*/
.st-group {
  padding:150px 0 100px 0;
}

.st-group .googlemap {
  margin-bottom:80px;
}

.st-group .company_title {
  margin-bottom:15px;
  border-bottom:1px solid #333333;
  font-size:20px;
  font-weight:700;
}

.st-group .company_title .new{
  color: #cc4131;
  font-size:1.15em;
  margin-left:16px;
}

.st-group .company_area {
  margin-bottom:50px;
}

.st-group .company_area .photo img {
  width:100%;
}

.st-group .company_data {
  margin:10px 0 0 30px;
  padding:10px 0 10px 20px;
  border-left:10px solid #333333;
}

.st-group .company_data .address {
  margin-bottom:15px;
}

.st-group .maplink {
  font-size:20px;
  font-weight:500px;
  text-align:right;
}

.st-group .company_last {
  margin-bottom:120px;
}

/*------------------------------------------------------
  MOVIE
-------------------------------------------------------*/
.st-movie {
  padding:150px 0 100px 0;
}

.st-movie .movie_area {
  margin-bottom:100px;
}

.st-movie .type {
  font-weight:900;
}

.st-movie .name1 {
  width:110px;
  margin:15px 0 5px 0;
  background:#333333;
  color:#ffffff;
  font-weight:900;
  text-align:center;
  transition:0.4s ease-in-out;
  -webkit-transition:0.4s ease-in-out;
  -moz-transition:0.4s ease-in-out;
  -o-transition:0.4s ease-in-out;
}

.st-movie a:hover .name1 {
  background:#cc4131;
}

.st-movie .name1_none {
  height:50px;
}

.st-movie .name2 {
  padding:0 20px 0 20px;
  font-size:32px;
  font-weight:300;
  line-height:1.3;
}

.st-movie .playmovie {
  position:relative;
}

.st-movie .playmovie img {
  width:100%;
}

.st-movie .playmovie .far {
  position:absolute;
  top:50%;
  left:50%;
  margin:0;/*余計な隙間を除く*/
  padding:0;/*余計な隙間を除く*/
  font-size:60px;/*サイズ*/
  transform:translate(-50%,-50%);
  -webkit-transform:translate(-50%,-50%);
  -ms-transform:translate(-50%,-50%);
}

/*------------------------------------------------------
  RECRUIT
-------------------------------------------------------*/
.st-recruit {
  padding:150px 0 100px 0;
}

.st-recruit .recruit_menu_area {
  margin:0 0px 50px 0px;
  text-align:center;
}

.st-recruit .recruit_menu_area .recruit_menu {
  padding:45px 5px 0 5px;
}

.st-recruit .recruit_menu_area .recruit_menu .menu {
  border:4px solid #333333;
  transition:0.3s ease-in-out;
  -webkit-transition:0.3s ease-in-out;
  -moz-transition:0.3s ease-in-out;
  -o-transition:0.3s ease-in-out;
}

.st-recruit .recruit_menu_area .recruit_menu .menu .english {
  background:#333333;
  color:#ffffff;
  font-size:18px;
  font-weight:700;
  line-height:1.6;
  transition:0.3s ease-in-out;
  -webkit-transition:0.3s ease-in-out;
  -moz-transition:0.3s ease-in-out;
  -o-transition:0.3s ease-in-out;
}

.st-recruit .recruit_menu_area .recruit_menu .menu .japanese {
  line-height:1.6;
}

.st-recruit .recruit_menu_area .recruit_menu a:hover .menu,
.st-recruit .recruit_menu_area .active .menu {
  border:4px solid #cc4131;
  color:#cc4131;
}

.st-recruit .recruit_menu_area .recruit_menu a:hover .menu .english,
.st-recruit .recruit_menu_area .active .menu .english {
  background:#cc4131;
}

.st-recruit .application_top_btn {
  margin:80px 0 120px 0;
  text-align:center;
}

.st-recruit .whatis {
  margin-top:200px;
}

.st-recruit .subtitle {
  text-align:center;
}

.st-recruit .subtitle span,
.st-recruit .subtitle span:after {
  display:inline-block;
}

.st-recruit .subtitle span {
  position:relative;
  margin-bottom:50px;
  line-height:1em;
}

.st-recruit .subtitle span:after {
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  height:2px;
  background:#333333;
  content:'';
}

.st-recruit .subtitle2 {
  font-size:32px;
  font-weight:700;
}

.st-recruit .subtitle2 span,
.st-recruit .subtitle2 span:after {
  display:inline-block;
}

.st-recruit .subtitle2 span {
  position:relative;
  margin-bottom:25px;
  line-height:1.6em;
}

.st-recruit .subtitle2 span:after {
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  height:2px;
  background:#333333;
  content:'';
}

.st-recruit .culture_bg {
  position:relative;
  height:440px;
  margin:0px 0 50px 0;
  background-image:url('../img/recruit/culture_main.jpg');
  background-repeat:no-repeat;
  background-attachment:fixed;
  background-position:center center;
}

.st-recruit .office_bg {
  position:relative;
  height:440px;
  margin:0px 0 50px 0;
  background-image:url('../img/recruit/office_main.jpg');
  background-repeat:no-repeat;
  background-attachment:fixed;
  background-position:center center;
}

.st-recruit .benefit_bg {
  position:relative;
  height:440px;
  margin:0px 0 50px 0;
  background-image:url('../img/recruit/benefit_main.jpg');
  background-repeat:no-repeat;
  background-attachment:fixed;
  background-position:center center;
}

.st-recruit .culture_inner {
  padding-top:78px;
}

.st-recruit .office_inner {
  padding-top:78px;
  text-align:right;
}

.st-recruit .benefit_inner {
  padding-top:108px;
  text-align:right;
}

.st-recruit .white_area {
  max-width:1000px;
  margin:0px auto 0 auto;
  padding:60px 80px 80px;
  background:#ffffff;
}

.st-recruit .guide-nav {
  margin:40px 0 30px 0;
}

.st-recruit .nav-tabs {
  border-bottom:none;
}

.st-recruit .guide-nav .nav-item {
  width:calc(25% - 4px);
  margin:0 2px 0 2px;
  margin-bottom:20px;
  border:none;
  background:#333333;
}

.st-recruit .guide-nav .nav-item a {
  height:60px;
  padding-top:12px;
  border:none;
  color:#ffffff;
  text-align:center;
}

.st-recruit .guide-nav .nav-link {
  padding:0;
  border-radius:0;
}

.st-recruit .guide-nav .nav-item a:hover,
.st-recruit .guide-nav .nav-link.active {
  background:#cc4131;
  color:#ffffff;
}

.st-recruit .guide_area {
  width:100%;
  padding:30px 40px 50px 40px;
  border:2px solid #333333;
}

.st-recruit .photo {
  margin:30px 0 40px 0;
}

.st-recruit .photo2 {
  margin:0px 0 40px 0;
}

.st-recruit .photo img,
.st-recruit .photo2 img {
  width:100%;
}

.st-recruit .message {
  margin-bottom:25px;
  font-size:18px;
  font-weight:500;
}

.st-recruit .message2 {
  margin-bottom:40px;
  font-size:24px;
  font-weight:700;
}

.st-recruit .youkou_title {
  font-size:40px;
  font-weight:700;
  text-align:center;
}

.st-recruit .occupation_title {
  display:inline-block;
  width:100%;
  padding:15px 20px 15px 20px;
  background:#333333;
  color:#ffffff;
  font-size:20px;
  font-weight:500;
  text-align:center;
  line-height:1.2;
}

.st-recruit .occupation_title span {
  margin-left:10px;
  font-size:16px;
}

.st-recruit .guide_title {
  margin-bottom:5px;
  font-size:20px;
  font-weight:bold;
}

.st-recruit .guide_kubun {
  display:inline-block;
  padding:1px 10px 1px 10px;
  background:#333333;
  color:#ffffff;
}

.st-recruit .guide_txt {
  margin-bottom:30px;
}

.st-recruit .guide_txt span {
  margin-left:20px;
  font-size:14px;
}

.st-recruit .guide_txt .bikou {
  margin-left:0px;
  font-size:14px;
}

.st-recruit .guide_line {
  margin:50px 0 40px 0;
  border-bottom:1px dashed #333333;
}

.st-recruit .guide_bikou {
  padding-left:1em;
  font-size:14px;
  text-indent:-1em;
}

/*------------------------------------------------------
  CONTACT
-------------------------------------------------------*/
.st-contact {
  padding:150px 0 100px 0;
}

.st-contact .message {
  padding:16px 0 30px 28px;
}

.st-contact .companylink {
  font-weight:700;
  text-align:right;
}

.st-contact .companylink a {
  border-bottom:1px solid #333333;
}

.st-contact .companylink a:hover {
  border-bottom:1px solid #cc4131;
}

.st-contact .form-title {
  font-size:56px;
  font-weight:900;
}

.st-contact .form-title span {
  display:inline-block;
  width:200px;
  margin-left:20px;
  background:#333333;
  color:#ffffff;
  font-size:16px;
  font-weight:500;
  text-align:center;
  line-height:30px;
}

.st-contact .contact_table {
  max-width:1000px;
  width:100%;
  margin:0 auto 45px auto;
  border:1px solid #333333;
}

.st-contact .contact_table th {
  width:340px;
  padding:10px 0px 10px 20px;
  background:#333333;
  color:#ffffff;
  vertical-align:top;
}

.st-contact .contact_table th.need {
  background-image:url(../img/common/ico_need.png);
  background-repeat:no-repeat;
  background-position:280px 14px;
}

.st-contact .contact_table th.need-en {
  background-image:url(../img/common/ico_need-en.png);
  background-repeat:no-repeat;
  background-position:253px 14px;
}

.st-contact .contact_table th.noneed {
  background-image:url(../img/common/ico_noneed.png);
  background-repeat:no-repeat;
  background-position:280px 14px;
}

.st-contact .contact_table th.noneed-en {
  background-image:url(../img/common/ico_noneed-en.png);
  background-repeat:no-repeat;
  background-position:253px 14px;
}

.st-contact .contact_table td {
  padding:10px 20px 10px 20px;
}

.st-contact .contact_table td .short {
  width:70px;
}

.st-contact .contact_table td .short2 {
  width:200px;
}

.st-contact .privacy_area {
  margin-top:70px;
  padding:40px 0 50px 0;
  border-top:1px solid #333333;
}

.st-contact .check {
  display:none; /* まず、＜input＞タグの表示を消します*/
}

.st-contact label {
  display:inline-block;
  position:relative;/* ＜label＞を位置の指標になる指示を書きます*/
  padding:3px 3px 3px 30px;
  cursor:pointer;
}

.st-contact .check+span::before,
.st-contact .check+span::after {
  position:absolute;
  top:50%;
  content:'';
  transition:all 0.2s;
  -webkit-transition:all 0.2s;
}

.st-contact .check+span::before {
  left:0;
  width:20px;
  height:20px;
  margin-top:-10px;
  border:2px solid #333333;
  background:#ffffff;/* ラジオボタンの元の色の指定*/
}

.st-contact .check+span:hover::before {
  background:#ffffff;/* ラジオボタンのマウスオーバーしたときの色の指定*/
}

.st-contact .check+span::after {
  left:4px;
  width:12px;
  height:12px;
  margin-top:-6px;
  background:#333333;/* ラジオボタンのチェックした時の色の指定*/
  opacity:0;
  transform:scale(2);
  -webkit-transform:scale(2);
}

.st-contact .check:checked+span::before {
  border:2px solid #333333;/* ラジオボタンのチェックした時の枠の線の指定*/
  background:#ffffff;
}

.st-contact .check:checked+span::after {
  opacity:1;
  transform:scale(1);
  -webkit-transform:scale(1);
}

.st-contact .radio {
  display:none; /* まず、＜input＞タグの表示を消します*/
}

.st-contact .radio+span::before,
.st-contact .radio+span::after {
  position:absolute;
  top:50%;
  border-radius:100%;
  content:'';
  transition:all 0.2s;
  -webkit-transition:all 0.2s;
}

.st-contact .radio+span::before {
  left:0;
  width:20px;
  height:20px;
  margin-top:-10px;
  border:2px solid #333333;
  background:#ffffff;/* ラジオボタンの元の色の指定*/
}

.st-contact .radio+span:hover::before {
  background:#ffffff;/* ラジオボタンのマウスオーバーしたときの色の指定*/
}

.st-contact .radio+span::after {
  left:4px;
  width:12px;
  height:12px;
  margin-top:-6px;
  background:#333333;/* ラジオボタンのチェックした時の色の指定*/
  opacity:0;
  transform:scale(2);
  -webkit-transform:scale(2);
}

.st-contact .radio:checked+span::before {
  border:2px solid #333333;/* ラジオボタンのチェックした時の枠の線の指定*/
  background:#ffffff;
}

.st-contact .radio:checked+span::after {
  opacity:1;
  transform:scale(1);
  -webkit-transform:scale(1);
}

.st-contact .privacy {
  overflow:auto;
  height:260px;
  border:1px solid #333333;
}

.st-contact .privacy::-webkit-scrollbar {
  width:15px;
}

.st-contact .privacy::-webkit-scrollbar-thumb {
  background:#333333;
}

.st-contact .privacy::-webkit-scrollbar-track {
  /*    background: #EDF7F2;*/
  border-left:1px solid #333333;
}

.st-contact .privacy-content {
  padding:20px 20px 0 20px;
  font-size:14px;
}

.st-contact .privacy-section {
  margin-bottom:30px;
}

.st-contact .privacy-section ul li {
  list-style:disc;
  margin-left:20px;
}

.st-contact .privacy-title {
  margin:20px 0;
  font-size:18px;
  font-weight:700;
}

.st-contact .privacy-check {
  text-align:center;
}

.st-contact .privacy-check .mwform-checkbox-field-text {
  font-size:20px;
  font-weight:700;
}

.st-contact .botton_area {
  padding:30px 0 60px 0;
  text-align:center;
}

.st-contact .button {
  width:360px;
  padding:20px 0;
  font-size:22px;
  font-weight:400;
}

.st-contact .button-small {
  width:180px;
  margin-top:30px;
  padding:8px 0;
  font-size:16px;
  font-weight:400;
  letter-spacing:0.2em;
}

.st-contact .button-black {
  background:#333333;
  color:#ffffff;
  transition:0.4s ease-in-out;
  -webkit-transition:0.4s ease-in-out;
  -moz-transition:0.4s ease-in-out;
  -o-transition:0.4s ease-in-out;
}

.st-contact .button-black:hover {
  background:#cc4131;
}

/*------------------------------------------------------
  NOT FOUND
-------------------------------------------------------*/
.st-notfound {
  padding:150px 0 100px 0;
}

.st-notfound .notfound_area {
  margin:100px 0 100px 0;
}

@media (max-width: 1260px) {
  .home-select .select_product {
    left:40px;
  }
}

@media (max-width: 1200px) {
  .st-Header .nav-list {
    display:none;
  }

  .st-Header .nav-mobile {
    display:block;
  }

  .st-Header nav {
    width:100%;
    margin:0;
    padding:0px 0 15px;
  }

  .st-Header nav ul {
    display:none;
    margin-top:60px;
    border-top:1px solid #ffffff;
    background:#333333;
  }

  .st-Header nav ul ul {
    display:block;
    margin-top:0px;
    border-top:1px solid #ffffff;
    font-weight:400;
  }

  .st-Header nav ul li {
    float:none;
    border-bottom:1px solid #ffffff;
  }

  .st-Header nav ul li.current-menu-item a,
  .st-Header nav ul li.current-page-ancestor a {
    color:#ffffff;
  }

  .st-Header nav ul li.lang{
    margin-left:0px;
  }

  .st-Header nav ul li.lang::before{
    content: "";
  }

  .st-Header nav ul li a:hover,
  .st-Header nav ul li a:visited:hover {
    background:#cc4131;
    color:#ffffff;
  }

  .st-Header nav ul li a,
  .st-Header nav ul li a:visited {
    padding:12px 10px 12px 30px;
    color:#ffffff;
    line-height:20px;
  }

  .st-Header nav ul li a:after {
    position:absolute;
    top:12px;
    right:15px;
    font-weight:bold;
    content:'＞';
  }

  .st-Header nav ul li a:before {
    height:0px;
  }

  .st-Header nav ul li ul li a,
  .st-Header nav ul li ul li a:visited {
    padding:10px;
    color:#ffffff;
    line-height:20px;
  }

  .st-Header nav ul li ul li:last-child {
    border-bottom:none;
  }

  .st-Header nav ul li ul li a {
    padding-left:50px;
  }

  .st-Header .nav-dropdown {
    position:static;
  }

  .home-product .product_name_area {
    width:250px;
    height:250px;
    padding-left:15px;
    border:6px solid #333333;
  }

  .home-product .product_name {
    font-size:36px;
  }

  .home-product .product_new {
    font-size:24px;
  }

  .home-product .left_arrow {
    width:36px;
    height:36px;
  }

  .st-product .product_main .description_frame {
    width:100%;
    height:400px;
  }

  .st-product .product_detail table {
    width:90%;
  }
}

@media (max-width: 992px) {
  h1 {
    font-size:72px;
  }

  h3 {
    font-size:38px;
  }

  /*------------------------------------------------------
  トップページ
-------------------------------------------------------*/

  .home-product .title {
    max-width:90%;
  }

  .home-product .product img {
    max-width:340px;
    max-height:450px;
  }

  .home-product .product_name_area {
    width:200px;
    height:200px;
    padding-left:13px;
    border:5px solid #333333;
  }

  .home-product .product_name {
    font-size:28px;
  }

  .home-product .product_new {
    font-size:20px;
  }

  .home-product .product_name_ja{
    font-size:13px;
  }

  .home-product .left_arrow {
    width:28px;
    height:28px;
  }

  .home-select .select_product {
    width:300px;
    top:85%;
    left:calc(50% - 150px);
  }

  /*------------------------------------------------------
  PRPDUCT個別
-------------------------------------------------------*/
  .st-product {
    padding:0px 0 100px 0;
  }

  .st-product .product_name_area {
    top:25px;
    bottom:auto;
  }

  .st-product .related_area .product_name{
    font-size: 46px;
  }


/*------------------------------------------------------
  COMPANY
-------------------------------------------------------*/
  .st-company {
    padding:70px 0 100px 0;
  }

  /*------------------------------------------------------
  GROUP
-------------------------------------------------------*/
  .st-group {
    padding:120px 0 100px 0;
  }

  /*------------------------------------------------------
  MOVIE
-------------------------------------------------------*/
  .st-movie {
    padding:120px 0 100px 0;
  }

  .st-movie .name2 {
    font-size:28px;
  }

  /*------------------------------------------------------
  RECRUIT
-------------------------------------------------------*/
  .st-recruit {
    padding:120px 0 100px 0;
  }

  /*------------------------------------------------------
  CONTACT
-------------------------------------------------------*/
  .st-contact {
    padding:120px 0 100px 0;
  }

  /*------------------------------------------------------
  NOT FOUND
-------------------------------------------------------*/
  .st-notfound {
    padding:120px 0 100px 0;
  }
}

@media (max-width: 767px) {
  html,
  body {
    font-size:16px;
  }

  body:before {
    height:60%;
    background:radial-gradient(circle at 50% 100%, rgba(237, 246, 241, 1.0) 80%, rgba(204, 213, 208,1.0) 100%);
  }

  h1 {
    font-size:42px;
    line-height:1.0;
  }

  h3 {
    font-size:32px;
  }

  h4 {
    font-size:18px;
  }

  #wptime-plugin-preloader {
    background-size:150px 150px !important;
  }

  .copylight {
    position:fixed;
    bottom:5px;
    left:calc(50% - 60px);
    font-size:13px;
    transform:rotate(0deg);
  }

  /*------------------------------------------------------
  ページ共通
-------------------------------------------------------*/

  .h1_under_line {
    margin:15px 0 30px 0;
  }

  .h1_under_line_bottom {
    margin:100px 0 40px 0;
    border-bottom:1px solid #333333;
  }

  .return_top_btn {
    width:300px;
    border:3px solid #333333;
    font-size:28px;
    text-align:center;
    line-height:70px;
  }

  /*------------------------------------------------------
  トップページ
-------------------------------------------------------*/
  .home-product .product {
    top:50%;
  }

  .home-product .product_up {
    top:calc(50% - 240px);
    right:5px;
    width:20px;
    height:214px;
  }

  .home-product .product_down {
    top:calc(50% + 10px);
    right:5px;
    width:20px;
    height:214px;
  }

  .home-product .product img {
    max-width:250px;
    max-height:300px;
  }

  .home-select .select_product {
    top:84%;
  }

  .home-product .product_name_area {
    position:relative;
    top:-10px;
    left:calc(50% - 160px);
    width:330px;
    height:auto;
    padding:0px;
    border:none;
    text-align:center;
  }

  .home-product .product_new {
    font-size:18px;
  }

  .home-product .product_name {
    font-size:22px;
  }

  .home-product .product_name_ja{
    font-size:14px;
  }

  /*------------------------------------------------------
  PRODUCT個別
-------------------------------------------------------*/
  .st-product .product_head .product_title {
    margin-top:30px;
    font-size:48px;
  }

  .st-product .product_head .product_title_small {
    margin-top:30px;
    font-size:44px;
  }

  .st-product .product_head .product_title_small2 {
    margin-top:30px;
    font-size:40px;
  }

  .st-product .product_head .product_frame {
    display:flex;
    width:260px;
    height:260px;
    margin:0px auto 0px auto;
  }

  .st-product .product_head .product_name {
    font-size:36px;
  }

  .st-product .product_head .product_name_area {
    position:static;
    bottom:0;
    left:0;
    transform:none;
  }

  .st-product .product_head .photo {
    padding-top:30px;
  }

  .st-product .product_head .photo img {
    max-width:300px;
    max-height:300px;
  }

  .st-product .product_main {
    margin:50px 0 50px 0;
    padding:0px;
  }

  .st-product .product_main .photo img {
    max-width:300px;
    max-height:500px;
  }

  .st-product .product_main .description {
    margin:30px auto 20px auto;
    font-size:32px;
  }

  .st-product .product_main .description_frame {
    width:100%;
    height:auto;
    padding:70px 30px 70px 30px;
  }

  .st-product .product_title_area .product_title {
    font-size:32px;
    padding-left: 0px;
  }

  .st-product .product_title_area .product_title_ja {
    padding-left: 0px;
  }

  .st-product .product_detail {
    margin-bottom:50px;
  }

  .st-product .product_detail .col-12 {
    margin-bottom:30px;
  }

  .st-product .product_detail .title {
    font-size:18px;
  }

  .st-product .product_detail .description {
    max-width:none;
    width:auto;
    margin:15px 10px 15px 15px;
  }

  .st-product .product_detail .bikou {
    max-width:none;
    width:auto;
    margin:0px 10px 0px 15px;
  }

  .st-product .product_detail table {
    max-width:none;
    width:95%;
    margin:8px 0 0 15px;
  }

  .st-product .product_detail table th {
    width:100px;
    padding:7px 0 0 0;
  }

  .st-product .product_detail table td {
    padding-left:10px;
  }

  .st-product .photolist {
    margin:80px 0 0 0;
  }

  .st-product .photolist .col-md-6 {
    padding:0 0px 60px 0px;
  }

  .st-product .photolist .photo {
    width:300px;
    margin:0 auto;
    box-shadow:7px 7px 7px rgba(51,51,51,0.3);
  }

  .st-product .photolist .photo2 {
    width:300px;
    margin:0 auto;
  }

  .st-product .photolist .text {
    width:auto;
  }

  .st-product .photolist .number {
    width:60px;
    height:60px;
    margin:15px auto 15px auto;
    font-size:24px;
    font-weight:700;
    line-height:60px;
  }

  .st-product .option_area{
    background: #333333;
    margin-bottom:50px;
  }

  .st-product .option_area_mt{
    margin-top:20px;
  }

  .st-product .option_area .product_name_area {
    width:auto;
    margin:20px auto 20px auto;
  }

  .st-product .option_area .product_name {
    font-size:32px;
  }

  .st-product .option_area .photo,
  .st-product .option_area .photo2{
    margin:0 0 20px 0;
  }

  .st-product .option_area .photo img,
  .st-product .option_area .photo2 img{
    max-height: 300px;
  }

  .st-product .related_area {
    margin:20px 0 50px 0;
    padding:20px 20px 20px 20px;
    border:5px solid #333333;
    height:auto;
  }

  .st-product .related_area .photo{
    margin:0px 0 20px 0;
  }

  .st-product .related_area .photo img{
    max-height:260px;
  }

  .st-product .related_area .product_name{
    font-size: 32px;
  }

  .st-product .related_area .product_title{
    font-size:20px;
  }

  .st-product .related_area .product_title .arrow{
    width:30px;
    height:30px;
    margin-right:20px;
  }

  /*------------------------------------------------------
  COMPANY
-------------------------------------------------------*/
  .st-company .playmovie {
    margin-bottom:60px;
  }

  .st-company .overview_area {
    margin:15px 0 50px 0;
  }

  .st-company .company_title {
    font-size:18px;
  }

  .st-company table {
    font-size:16px;
  }

  .st-company table th {
    width:100px;
    padding:0px 0 3px 0;
  }

  .st-company .overview_table {
    margin:20px 0 0 0;
  }

  .st-company .company_table {
    margin:20px 0 50px 0;
  }

  .st-company .company_table th {
    width:80px;
  }

  .st-company .maplink {
    font-size:16px;
  }

  .st-company .maplink a {
    border-bottom:1px solid #333333;
  }

  .st-company .maplink a:hover {
    border-bottom:1px solid #cc4131;
  }

  .st-company .history_table {
    margin:20px auto 80px auto;
  }

  .st-company .history_table td.year {
    width:50px;
    font-size:20px;
  }

  .st-company .history_table td.month {
    width:90px;
  }

  .st-company .history_table td.monthlast {
    padding-bottom:30px;
  }

  .st-company .history_table td.contents {
    padding-bottom:10px;
  }

  /*------------------------------------------------------
  GROUP
-------------------------------------------------------*/
  .st-group {
    padding:100px 0 100px 0;
  }

  .st-group .company_title {
    font-size:18px;
  }

  .st-group .googlemap {
    margin-bottom:60px;
  }

  .st-group .company_area {
    margin-bottom:40px;
  }

  .st-group .company_data {
    margin:20px 0 0 10px;
    padding:10px 0 10px 20px;
    border-left:6px solid #333333;
  }

  .st-group .maplink {
    font-size:16px;
  }

  .st-group .company_last {
    margin-bottom:100px;
  }

  /*------------------------------------------------------
  MOVIE
-------------------------------------------------------*/

  .st-movie {
    margin:100px 0 150px 0;
  }

  .st-movie .movie_area {
    max-width:360px;
    margin:0 auto 50px auto;
  }

  .st-movie .name1_none {
    height:10px;
  }

  .st-movie .name2 {
    padding:0 15px 0 15px;
    font-size:24px;
  }

  /*------------------------------------------------------
  RECRUIT
-------------------------------------------------------*/
  .st-recruit {
    padding:100px 0 100px 0;
  }

  .st-recruit .recruit_menu_area .recruit_menu {
    padding:20px 5px 0 5px;
  }

  .st-recruit .application_top_btn {
    margin:50px 0 100px 0;
  }

  .st-recruit .whatis {
    margin-top:100px;
  }

  .st-recruit .subtitle2 {
    font-size:18px;
  }

  .st-recruit .recruitsub_bg {
    margin:0px 0 30px 0;
  }

  .st-recruit .white_area {
    margin:0px;
    padding:30px 10px 30px 10px;
  }

  .st-recruit .guide-nav {
    margin:30px 0 20px 0;
  }

  .st-recruit .guide-nav .nav-item {
    width:calc(50% - 3px);
  }

  .st-recruit .guide-nav .nav-item:nth-child(odd) {
    margin:0 3px 20px 0px;
  }

  .st-recruit .guide-nav .nav-item:nth-child(even) {
    margin:0 0px 20px 3px;
  }

  .st-recruit .guide_area {
    padding:20px 10px 30px 10px;
    border:1px solid #333333;
  }

  .st-recruit .guide_title {
    font-size:18px;
  }

  .st-recruit .message {
    margin-bottom:20px;
    font-size:16px;
    font-weight:400;
  }

  .st-recruit .message2 {
    margin-bottom:25px;
    font-size:18px;
    font-weight:700;
  }

  .st-recruit .youkou_title {
    font-size:28px;
  }

  .st-recruit .photo {
    margin:20px 0 30px 0;
  }

  /*------------------------------------------------------
  CONTACT
-------------------------------------------------------*/
  .st-contact {
    padding:100px 0 100px 0;
  }

  .st-contact .message {
    padding:16px 0 24px 12px;
  }

  .st-contact .form-title {
    font-size:32px;
    line-height:1.2;
  }

  .st-contact .form-title span {
    width:100%;
    margin:0 0px 20px 0px;
    font-size:16px;
    line-height:40px;
  }

  .st-contact .contact_table th {
    display:block;
    width:100%;
    padding:6px 0px 6px 10px;
  }

  .st-contact .contact_table td {
    display:block;
    width:100%;
    min-height:40px;
    padding:6px 10px 6px 10px;
  }

  .st-contact .contact_table th.need {
    background-position:220px 9px;
  }

  .st-contact .contact_table th.need-en {
    background-position:200px 9px;
  }

  .st-contact .contact_table th.noneed {
    background-position:220px 9px;
  }

  .st-contact .contact_table th.noneed-en {
    background-position:200px 9px;
  }

  .st-contact .privacy-check .mwform-checkbox-field-text {
    font-size:16px;
  }

  .st-contact .button {
    width:300px;
    font-size:18px;
  }

  .st-contact .button-small {
    width:180px;
  }

  .st-contact .privacy-content {
    padding:20px 10px 0px 10px;
  }

  /*------------------------------------------------------
  NOT FOUND
-------------------------------------------------------*/
  .st-notfound {
    padding:100px 0 100px 0;
  }
}

@media(max-width: 540px) {
  .st-pagereturn {
    right:5px;
  }

  .st-pagereturn .pagereturn {
    width:43px;
  }

  .st-pagetop {
    right:5px;
  }

  .st-pagetop a {
    font-size:40px;
  }

  .home-product .product img {
    max-width:240px;
    max-height:290px;
  }

  .st-product .option_area .title img{
    max-height: 220px;
  }
}

@media(max-width: 330px) {
  .home-product .product_up {
    top:calc(50% - 200px);
    width:16px;
    height:161px;
  }

  .home-product .product_down {
    top:calc(50% + 5px);
    width:16px;
    height:161px;
  }

  .home-product .product img {
    max-width:220px;
    max-height:250px;
  }

  .home-product .product_name_area {
    left:calc(50% - 150px);
    width:300px;
  }

  .home-product .product_new {
    font-size:16px;
    margin-bottom: 1px;
  }

  .home-product .product_name {
    font-size:20px;
  }

  .st-recruit .guide-nav .nav-item a {
    padding-top:15px;
    font-size:14px;
  }
}
