@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/
body {
	position: relative;
	overflow-x: hidden;
}
.wrap {
	width: 100%;
}
.breadcrumb {
	max-width: 1256px;
	margin: 1em auto;
	padding: 0 0.4em;
}
/* header */
.header-container,
.header-container-in,
.header-in {
	height: 90px;
}
.site-name-text-link {
	padding: 0;
}
.logo-header {
	max-height: 100px !important;
	padding-left: 1em !important;
}
.logo-header img {
	max-height: 100px !important;
}
.navi-in > ul li {
	width: auto;
}
.navi-in a {
	padding: 1em;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
}
.navi-in a::after {
	content: '';
	display: block;
	height: 4px;
	width: 0%;
	background: #ffce00;
	position: absolute;
	bottom: 0;
	left: 10%;
	transition: .1s;
}
.navi-in a:hover {
	background-color: transparent;
}
.navi-in a:hover::after {
	width: 80%;
}

/* main */
.content {
	margin-top: 0;
}
.main {
	padding: 0;
	border: none;
}
.date-tags {
	display: none;
}
article {
	margin-bottom: 0 !important;	
}
.entry-content {
	margin: 0;
}

/* Footer */
footer {
	background-color: #2c2c2c !important;
	color: #fff;
}
.footer-left,
.footer-right {
	display: none;
}
.footer-center {
	width: 100%;
}
footer .textwidget {
	text-align: center;
	padding: 1em;
}
footer .textwidget p {
	font-size: 24px;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	margin-bottom: 0.3em;
}
footer .textwidget p img {
	width: 186px;
	height: auto;
}
footer .textwidget ul {
	list-style-type: none;
	margin-bottom: 2em;
	padding: 0;
}

/* HOME */
.home-top-image {
	position: relative;
	margin-bottom: 0;
}
.home-top-copy {
	max-width: 1256px;
	margin: 0 auto !important;
	line-height: 0.8;
	position: absolute;
	bottom: 50px;
	right: 0;
	left: 0;
	z-index: 999;
}
.home-top-copy p {
	margin-bottom: 0;
}
.home-top-copy p span {
	display: inline-block;
}
.home-top-copy p span:nth-of-type(2) {
	margin-top: -2.5em;
}
.home-top-copy p span:nth-of-type(3) {
	margin-top: -1.7em;
}
.home-top-copy p span img {
	display: block;
	max-width: 100%;
	height: auto;
}

.home-scrolldown {
	position: relative;
	height: 120px;
	margin-bottom: 8em;
}
.home-about {
	width: 100%;
	max-width: 1256px;
	margin: 0 auto 5em auto;
	display: flex;
}
.home-about > p {
	width: 50%;
	margin: 0;
}
.home-about > p span:nth-of-type(2) {
	margin-top: -2em;
}
.home-about > p span:nth-of-type(3) {
	margin-top: -1.4em;
}
.home-about > p span img {
	display: block;
	max-width: 100%;
	height: auto;
}
.home-about > div {
	width: 50%;
	border-bottom: dotted 3px #000;
	padding-bottom: 3em;
}
.home-about h1 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
	font-size: 54px;
	margin-bottom: 1em;
}
.home-about div > p {
	font-size: 20px;
}
.home-business,
.home-recruit {
	display: flex;
	position: relative;
	padding: 8em 0;
}
.home-business > div:first-child,
.home-recruit > div {
	width: 100%;
	max-width: 1256px;
	margin: 0 auto;
}
.home-business h1,
.home-recruit h1 {
	font-family: "Figtree", sans-serif;
	font-optical-sizing: auto;
	font-weight: 800;
	font-style: italic;
	font-size: 124px;
}
.home-business h2,
.home-recruit h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
	font-size: 46px;
	margin-bottom: 1em;
	padding: 0;
	background-color: transparent;
}
.home-business {
	background: url( "images/home-business-bg.jpg" );
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	margin-bottom: 6em;
}
.home-business div h1,
.home-business div h2,
.home-business div p,
.home-business div div,
.home-recruit div h1,
.home-recruit div h2 {
	max-width: 640px;
}
.home-business > div:last-child,
.home-recruit > div:last-child {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 45%;
}
.home-business div p {
	margin-bottom: 3em;
	font-size: 20px;
}
.home-business div div {
	border-bottom: dotted 3px #000;
	padding-bottom: 4em;
	margin-bottom: 4em;
}
.home-business > div:last-child {
	right: 0;
}
.home-recruit {
	background: url( "images/home-recruit-bg.jpg" );
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	flex-direction: column-reverse;
	margin-bottom: 0;
}
.home-recruit div h1,
.home-recruit div h2,
.home-recruit div p {
	color: #fff;
}
.home-recruit div h1,
.home-recruit div h2,
.home-recruit div p,
.home-recruit div div {
	margin-left: auto;
}
.home-recruit div p {
	margin-bottom: 0;
	font-size: 20px;
	background-color: #2c2c2c;
	padding: 1.5em 2em 4em 2em;
}
.home-recruit div p,
.home-recruit div div {
	width: calc(640px + 2em);
}
.home-recruit div div {
	margin-top: -1.5em;
}
.home-recruit > div:last-child {
	left: 0;
}

/* page */
.page-wrap h1 {
	text-align: center;
	max-width: 500px;
	margin: 0 auto 2em auto;
	color: #fff;
}
.page-wrap h1 span:first-child {
	display: inline-block;
	font-family: "Figtree", sans-serif;
	font-optical-sizing: auto;
	font-weight: 800;
	font-style: italic;
	font-size: 90px;
}
.page-wrap h1 span:last-child {
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	font-size: 30px;
}
.page-wrap h2 {
	text-align: center;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 46px;
	background-color: transparent;
	padding: 0;
	margin: 0 auto 1em auto;
	max-width: 834px;
	color: #fff;
}
.page-wrap h3 {
	border: none;
	padding: 0;
	text-align: center;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 30px;
}
.page-wrap h3::after {
	content: "";
	display: block;
	width: 80px;
	height: 7px;
	background-color: #ffce00;
	margin: 1em auto;
}
.page-wrap h4 {
	border: none;
	padding: 0;
	margin-bottom: 1em;
	font-size: 24px;
}
.page-wrap > p {
	margin-bottom: 2em;
}
.page-wrap > div:first-child {
	margin-bottom: 8em;
	padding: 5em 0 7em 0;
	background-repeat: no-repeat;
	background-size: cover;
}
.page-wrap > div:first-child p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 22px;
	color: #fff;
	max-width: 834px;
	margin: 0 auto;
}
.page-wrap table {
	max-width: 834px;
	margin: 0 auto 2em auto;
}
.page-wrap table tr,
.page-wrap table th {
	background-color: transparent;
}
.page-wrap table th {
	border-bottom: solid 3px #000;
}
.page-wrap table th,
.page-wrap table td {
	font-size: 18px;
}
.page-wrap .column-1 {
	width: 20%;
}
/* about */
.page-about-intro {
	background-image: url( "images/page-about-bg.jpg" );
	background-position: center center;
}
.page-about-strengths {
	margin: 0 auto 7em auto;
}
.page-about-strengths h3 {
	margin-bottom: 3em;
}
.page-about-strengths-box,
.page-business-features-box {
	display: flex;
}
.page-about-strengths > div:nth-of-type(2n),
.page-business-features > div:nth-of-type(2n) {
	flex-direction: row-reverse;
}
.page-about-strengths-box div:first-child,
.page-about-strengths-box div:last-child,
.page-business-features-box div:first-child,
.page-business-features-box div:last-child {
	width: 50%;
}
.page-about-strengths > div:nth-of-type(2n-1) div:first-child,
.page-business-features > div:nth-of-type(2n-1) div:first-child {
	padding: 6% 6% 0 12%;	
}
.page-about-strengths > div:nth-of-type(2n) div:first-child,
.page-business-features > div:nth-of-type(2n) div:first-child {
	padding: 6% 12% 0 6%;	
}
.page-about-strengths-box h4,
.page-about-recruit h4,
.page-business-features-box h4 {
	font-size: 32px;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
}
.page-about-strengths-box div:last-child span,
.page-business-features-box div:last-child span {
	width: 100%;
}
.page-about-strengths-box span img,
.page-business-features-box span img {
	width: 100%;
	height: auto;
}
.page-about-recruit {
	max-width: 834px;
	margin: 0 auto;
}
.page-about-recruit p span {
	width: 100%;
}
.page-about-recruit p span img {
	width: 100% !important;
	height: auto;
}
.page-about-recruit h4 {
	text-align: center;
}
.page-about-recruit p:nth-of-type(2) {
	font-size: 20px;
}
.page-about .btn-01 {
	margin-top: 5em;
}
/* business */
.page-business-intro {
	background-image: url( "images/page-business-bg.jpg" );
	background-position: center center;
}
.page-business-features > div:not(:first-of-type) {
	margin-bottom: 8em;
}
/* works */
.page-works-intro {
	background-image: url( "images/page-works-bg.jpg" );
	background-position: center center;
}
/* company */
.page-company-intro {
	text-align: center;
	background-image: url( "images/page-conpany-bg.jpg" );
	background-position: center center;
}
.page-company-intro h1 {
	margin-bottom: 1.5em;
}
.page-company-intro p {
	max-width: 285px;
	margin: 0 auto;
}
.page-company-intro h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 42px;
	text-align: center;
	padding: 0;
	color: #fff;
}
.page-company table {
	margin-bottom: 5em;
}
/* recruit */
.page-recruit-intro {
	background-image: url( "images/page-recruit-bg.jpg" );
	background-position: top 10% center;
	margin-bottom: 0 !important;
}
.page-recruit-message {
	background-color: #e5ebf1;
	padding: 3em 1em;
	margin-bottom: 6em;
	position: relative;
}
.page-recruit-message > div {
	max-width: 1256px;
	margin: 0 auto;
	display: flex;
	gap: 2em;
	background-color: #fff;
	padding: 3em;
}
.page-recruit-message div h2 {
	display: inline-block;
	font-family: "Figtree", sans-serif;
	font-optical-sizing: auto;
	font-weight: 800;
	font-style: italic;
	font-size: 90px;
	text-align: left;
	color: #000;
	margin-bottom: 0.3em;
}
.page-recruit-message div h3 {
	text-align: left;
}
.page-recruit-message div h3::after {
	content: none;
}
.page-recruit-message div div:first-child {
	width: 60%;
}
.page-recruit-message div div:last-child {
	position: absolute;
	right: 13%;
	top: 16%;
	width: 28%;
}
.page-recruit-message div div span,
.page-recruit-message div div span img {
	width: 100%;
	height: auto;
}
.page-recruit-features {
	margin-bottom: 6em;
}
.page-recruit-features ul {
	max-width: 1256px;
	margin: 0 auto 4em auto;
	padding: 0 0 4em 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 2em 1em;
}
.page-recruit-features ul li {
	list-style-type: none;
	width: 48%;
	margin: 0;
}
.page-recruit-features ul li:last-child {
	width: 100%;
}
.page-recruit-features ul li span:first-child {
	display: inline-block;
	font-size: 22px;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	color: #fff;
	background-color: #000;
	padding: 0.2em 1em;
	z-index: 10;
	position: relative;
}
.page-recruit-features ul li span:last-child {
	display: block;
	padding: 2em;
	margin-top: -1.3em;
	background-color: #f2f3f4;
}

/* contact */
.page-contact,
.page-privacy-policy {
	max-width: 834px;
	margin: 0 auto;
}
.page-contact h1,
.page-privacy-policy h1 {
	color: #000;
	margin-top: 2em;
	max-width: 100%;
}
.page-contact > p {
	text-align: center;
	font-size: 20px;
	margin-bottom: 3em;
}
.page-contact dl p {
	margin: 0;
}
.page-contact dt {
	font-weight: bold;
	margin-bottom: 0.5em;
}
.page-contact dt span {
	display: inline-block;
	padding: 0.1em 0.5em;
	margin-left: 1em;
	border: solid 2px #1a1a1a;
	font-size: 14px;
}
.page-contact dd {
	margin-left: 0;
	margin-bottom: 2em;
}

/* parts */
/* recapture hidden */
.grecaptcha-badge { visibility: hidden; }

/* scroll */
.scroll_down {
	position:absolute;
	bottom:1%;
	right:50%;
	animation: arrowmove 1s ease-in-out infinite;
}
.scroll_down a {
	position: absolute;
	left: -24px;
	bottom: 17px;
	color: #000;
	font-size: 14px;
	font-family: 'Figtree', sans-serif;
	font-weight: 600;
	letter-spacing: .2em;
	writing-mode: vertical-rl;
	text-decoration: none;
	text-transform: uppercase;
}
.scroll_down::before {
    content: "";
    position: absolute;
    bottom: 5px;
    right: -6px;
    width: 3px;
    height: 20px;
    background: #000;
    transform: skewX(-31deg);
}
.scroll_down::after {
	content:"";
	position: absolute;
	bottom: 5px;
	right: 0;
	width: 3px;
	height: 85px;
	background:#000;
}
@keyframes arrowmove {
	0%{bottom:1%;}
	50%{bottom:5%;}
	00%{bottom:1%;}
}
/* page top */
.page-top-wrap {
	position: relative;
	height: 160px;
	margin-bottom: 3em;
}
.page-top {
	cursor: pointer;
	position: absolute;
	bottom: 1%;
	right: 0;
	left: 0;
	margin: 0 auto;
	height: 120px;
	width: 150px;
	animation: arrowmove 1s ease-in-out infinite;
}
.page-top p {
	color: #000;
	font-size: 14px;
	font-family: 'Figtree', sans-serif;
	font-weight: 600;
	letter-spacing: .2em;
	text-decoration: none;
	text-transform: uppercase;
	text-align: center;
	width: 150px;
	position: absolute;
	bottom: 0;
}
.page-top::after {
    content:"";
	position: absolute;
	bottom: 40px;
	right: 0;
	left: 0;
	margin: 0 auto;
	width: 3px;
	height: 70px;
	background:#000;
}

/* button */
.btn-01 {
	display: flex;
	justify-content: center;
	gap: 3em;
}
.btn-01 a {
	display: inline-block;
	text-align: center;
	text-decoration: none;
	outline: none;
	color: #000;
	font-family: 'Figtree', sans-serif;
	font-weight: 600;
	background-color: #fff;
	position: relative;
	border: 4px solid #ffce00;
	transition: color 0.1s ease;
	padding: 0.5em 2em;
}
.btn-01 a:hover {
	color: #fff !important;
}
.btn-01 a:hover::before {
	transform: scaleX(1);
	transform-origin: left;
}
.btn-01 a::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #ffce00;
	transform: scaleX(0);
	transform-origin: right;
	transition: all 0.1s ease;
	transition-property: transform;
}
.btn-01 a span {
  position: relative;
}
/* contact button */
.btn-02 a {
	position: fixed;
	right: -210px;
	bottom: 85px;
	display: block;
	padding: 0 0.8em;
	cursor: pointer;
	visibility: hidden;
	border: 4px solid #ff6633;
	background: #ff6633;
	transition: .2s;
	color: #fff;
	font-family: "Figtree", sans-serif;
	font-optical-sizing: auto;
	font-weight: 800;
	font-style: italic;
	font-size: 32px;
	text-decoration: none;
}
.btn-02 a::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #fff;
	transform: scaleX(0);
	transform-origin: right;
	transition: all 0.1s ease;
	transition-property: transform;
}
.btn-02 a span {
  position: relative;
}
.btn-02 a span:first-child {
	display: none;
}
.btn-02 a:hover {
	color: #ff6633 !important;
}
.btn-02 a:hover::before {
	transform: scaleX(1);
}
.btn-02 .is-active {
	visibility: visible;
}
.btn-02 a.is-active {
  right: -5px;
}

.btn-02 a.is-absolute {
  position: absolute;
}


/* footer button */
.btn-03 {
	display: flex;
	justify-content: center;
	gap: 3em;
}
.btn-03 a {
	display: inline-block;
	text-align: center;
	text-decoration: none;
	outline: none;
	color: #fff;
	background-color: #ff6633;
	position: relative;
	border: 4px solid #ff6633;
	transition: color 0.1s ease;
	padding: 0.5em;
	width: 200px;
}
.btn-03 a:hover {
	color: #ff6633 !important;
}
.btn-03 a:hover::before {
	transform: scaleX(1);
	transform-origin: left;
}
.btn-03 a::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #fff;
	transform: scaleX(0);
	transform-origin: right;
	transition: all 0.1s ease;
	transition-property: transform;
}
.btn-03 a span {
  position: relative;
}

/* slide */
.split-slideshow,
.slideshow,
.slick-list,
.slideshow .slider,
.slideshow .slider .item,
.slideshow .slider .item img {
	height: calc(100vh - 90px);
	max-height: 800px;
}
.split-slideshow {
	position: relative;
	overflow: hidden;
}
.slideshow {
  position: absolute;
  z-index: 1;
  top: -3px;
  left: 0;
  width: 100vw;
  overflow: hidden;
}
.slick-list {
	transform: rotate(180deg)!important;
}
.slideshow .slider {
	width: 100vw;
	z-index: 2;
}
.slideshow .slider * {
  outline: none;
}
.slideshow .slider .item {
	width: 100vw;
	position: relative;
	overflow: hidden;
	border: none;
	transform: rotate(180deg)!important;
	text-align: center;
}
.slideshow .slider .item img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	object-fit: cover;
	
}
.slideshow .slick-dots {
  position: absolute;
  z-index: 100;
  width: 40px;
  height: auto;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  color: #fff;
  display: block;
}
.slideshow .slick-dots li {
  display: block;
  width: 100%;
  height: auto;
}
.slideshow .slick-dots li button {
  position: relative;
  width: 20px;
  height: 15px;
  text-align: center;
}
.slideshow .slick-dots li button:before {
  content: "";
  background: #fff;
  height: 4px;
  width: 40px;
  border-radius: 0;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  transition: all 0.3s ease-in-out;
  opacity: 0.6;
}
.slideshow .slick-dots li.slick-active button:before {
  width: 80px;
  opacity: 1;
}

.slideshow.slideshow-right {
  left: 0;
  z-index: 1;
  width: 50vw;
  pointer-events: none;
}
.slideshow.slideshow-right .slider {
  left: 0;
  position: absolute;
}

/* map */
.map {
    position: relative;
    width: 100%;
    padding-top: 30%;
    height: 0;
}
.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Effect */
.copy-effect-text,
.effect-text {
	overflow: clip;
	position: relative;
}
.copy-effect-text.is-active,
.effect-text.is-active {
	--skewX: 0deg;
	--cover-x: 101%;
	--x: 0;
}
.copy-effect-word::after,
.effect-word::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	transform: translateX(var(--cover-x, -101%));
	transition: transform 1.0s cubic-bezier(0.39, 0.575, 0.565, 1);
	background-color: #ffce00;
}
.copy-effect-word::after,
.effect-word::after {
	transition-delay: 0.2s;
}
.copy-effect-word:nth-of-type(2)::after {
	transition-delay: 0.6s
}
.copy-effect-word:nth-of-type(3)::after {
	transition-delay: 0.8s;
}
.copy-effect-word,
.effect-word {
	overflow-x: clip;
	display: inline-block;
	transform: translateX(var(--x, -300%)) skewX(var(--skewX, 8deg));
	transition: transform 1.0s cubic-bezier(0.16, 1, 0.3, 1);
	transition-delay: 0.5s;
}
/* アクティブ時に変化する */
.copy-effect-text.is-active .copy-effect-word,
.effect-text.is-active .effect-word {
  transform: translateX(0) skewX(0deg);
}
/* 遅延をそれぞれに設定 */
.copy-effect-text.is-active .copy-effect-word:nth-of-type(1) {
  transition-delay: 0.5s;
}
.copy-effect-text.is-active .copy-effect-word:nth-of-type(2) {
  transition-delay: 0.7s;
}
.copy-effect-text.is-active .copy-effect-word:nth-of-type(3) {
  transition-delay: 1.0s;
}


/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1921px以上*/
@media screen and (min-width: 1921px){
	.fz-18px {
		font-size: 0.95vw;
	}
	.header-container,
	.header-container-in,
	.header-in {
		height: 4.7vw;
	}
	.logo-header,
	.logo-header img{
		max-height: 100% !important;
		width: 15vw;
	}
	.navi-in a {
		font-size: 0.83vw;
	}
	.navi-in a::after {
		height: 0.2vw;
	}
	.slideshow .slider .item img {
		width: 100%;
	}
	/* home */
	.home-top-copy p span:nth-of-type(2) {
		margin-top: -2.2vw;
	}
	.home-top-copy p span:nth-of-type(3) {
		margin-top: -1.7vw;
	}
	.home-top-copy p span img {
		height: 9.5vw;
		width: auto;
	}
	.home-about,
	.home-business,
	.home-recruit {
		padding: 14em 0;
	}
	.breadcrumb,
	.home-top-copy,
	.home-about,
	.home-business > div:first-child,
	.home-recruit > div {
		max-width: 65%;
	}
	.home-business div h1,
	.home-business div h2,
	.home-business div p,
	.home-business div div,
	.home-recruit div h1,
	.home-recruit div h2 {
		max-width: 50%;
	}
	.home-recruit div p,
	.home-recruit div div {
		width: calc(50% + 2em);
	}
	.home-about > p span:nth-of-type(2) {
		margin-top: -2vw;
	}
	.home-about > p span:nth-of-type(3) {
		margin-top: -1.4vw;
	}
	.home-about > p span img {
		height: 7.7vw;
		width: auto;
		display: block;
	}
	.home-about h1 {
		font-size: 2.8vw;
	}
	.home-about div > p,
	.home-business div p,
	.home-recruit div p,
	.page-about-recruit p:nth-of-type(2) {
		font-size: 1vw;
	}
	.home-business h1, 
	.home-recruit h1 {
		font-size: 6.4vw;
	}
	.home-business h2, 
	.home-recruit h2 {
		font-size: 2.4vw;
	}
	.home-business picture img,
	.home-recruit picture img {
		width: 100%;
	}
	.home-recruit div div {
		margin-top: -1.5vw;
	}
	/* footer */
	footer .textwidget p {
		font-size: 1.25vw;
	}
	footer .textwidget p img {
		width: 10vw;
	}
	/* page */
	.page-wrap h1 span:first-child,
	.page-recruit-message div h2 {
		font-size: 4.7vw;
	}
	.page-wrap h1 span:last-child,
	.page-wrap h3 {
		font-size: 1.56vw;
	}
	.page-wrap h2 {
		font-size: 2.4vw;
	}
	.page-wrap h4, 
	.page-wrap > div:first-child p,
	.page-recruit-features ul li span:first-child,
	.page-contact > p,
	.page-contact input[type=submit] {
		font-size: 1.15vw;
	}
	.page-wrap table th,
	.page-wrap table td {
		font-size: 0.95vw;
	}
	.breadcrumb,
	.page-contact dt span,
	.footer-bottom {
		font-size: 0.73vw;
	}
	.page-wrap h1 {
		max-width: 26%;
	}
	.page-contact h1,
	.page-privacy-policy h1 {
		max-width: 100%;
	}
	.page-wrap h2,
	.page-wrap > div:first-child p,
	.page-wrap table,
	.page-contact,
	.page-privacy-policy,
	.page-about-recruit {
		max-width: 43%;
	}
	.page-wrap > div p img {
		width: 14vw;
	}
	/* about */
	
	/* recruit */
	.page-recruit-message > div,
	.page-recruit-features ul {
		max-width: 65%;
	}
	.page-recruit-message h2 {
		max-width: 100%;
	}
	/* parts */
	.btn-01 a,
	.btn-03 a,
	footer .textwidget ul {
		font-size: 0.94vw;
	}
	.btn-02 a {
		font-size: 1.6vw;
	}
	.btn-03 a {
		width: 10vw;
	}
	.split-slideshow,
	.slideshow,
	.slick-list,
	.slideshow .slider,
	.slideshow .slider .item,
	.slideshow .slider .item img {
		height: calc(100vh - 4.7vw);
		max-height: 1600px;
	}
	.home-scrolldown {
		height: 6vw;
	}
	.scroll_down a {
		font-size: 0.7vw;
		left: -2em;
		bottom: 1.3em;
	}
	.scroll_down::after {
		height: 4.4vw;
		width: 0.15vw
	}
	.scroll_down::before {
		height: 1vw;
		width: 0.15vw;
		right: -0.3vw;
	}
	.page-top-wrap {
		height: 8.3vw;
	}
	.page-top {
		height: 6vw;
		width: 7.8vw;
	}
	.page-top p {
		font-size: 0.7vw;
		width: 7.8vw;
	}
	.page-top::after {
		width: 0.15vw;
		height: 3.6vw;
		bottom: 2vw;
	}
}

/*1600px以下*/
@media screen and (max-width: 1600px){
  /*必要ならばここにコードを書く*/
	.page-recruit-message div div:last-child {
		right: 0;
		width: 40%;
	}
}

/*1256px以下*/
@media screen and (max-width: 1256px){
  /*必要ならばここにコードを書く*/
	.header-container,
	.header-container-in,
	.header-in {
		height: 70px;
	}
	.logo-header img {
		width: 250px;
	}
	.navi-in a {
		font-size: 14px;
	}
	/* home */
	.home-top-copy {
		bottom: 10%;
	}
	.home-top-copy p {
		padding: 0 1em;
	}
	.home-about {
		padding: 0 1em;
	}
	.home-about > p span {
		display: inline-block;
	}
	.home-about > p span:nth-of-type(2) {
		margin-top: -3.8vw;
	}
	.home-about > p span:nth-of-type(3) {
		margin-top: -2.9vw;
	}
	.home-about > p span img {
		height: 12vw;
		width: auto;
		display: block;
	}
	.home-about h1 {
		font-size: 42px;
	}
	.home-business,
	.home-recruit {
		padding: 4em 0;
	}
	.home-business > div:first-child,
	.home-recruit > div {
		padding: 0 1em;
	}
	.home-business div h1,
	.home-business div h2,
	.home-business div p,
	.home-business div div,
	.home-recruit div h1,
	.home-recruit div h2 {
		width: 52%;
	}
	.home-recruit div p,
	.home-recruit div div {
		max-width: calc(52% + 2em);
	}
	.home-business h1, .home-recruit h1 {
		font-size: 90px;
	}
	.home-business h2, .home-recruit h2 {
		font-size: 34px;
	}
	.home-business > div:last-child,
	.home-recruit > div:last-child {
		top: 45%;
	}
	/* page */
	.page-wrap > div {
		padding-left: 1em !important;
		padding-right: 1em !important;
	}
	.page-wrap h1 span:first-child {
		font-size: 72px;
	}
	.page-wrap h2 {
		font-size: 38px;
	}
	.page-about-strengths > div:nth-of-type(2n-1) div:first-child,
	.page-about-strengths > div:nth-of-type(2n) div:first-child {
		padding: 2em;
	}
	.page-recruit-message > div {
		padding: 2em;
	}
	.page-recruit-message div div:first-child {
		width: 50%;
	}
	.page-recruit-message div div:last-child {
		position: relative;
		right: 0;
		top: 5em;
		width: 50%;
	}
	/* parts */
	.btn-02 a {
		padding: 0 0.5em;
		border-radius: 15px 0 0 15px;
	}
	.btn-02 a::before {
		border-radius: 10px 0 0 10px;
	}
	.btn-02 a span:first-child {
		display: inline;
	}
	.btn-02 a span:last-child {
		display: none;
	}
	
}
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
	.logo-header {
		padding: 0 1em !important;
	}
	/* home */
	.home-top-copy p span:nth-of-type(2) {
		margin-top: -5vw;
	}
	.home-top-copy p span:nth-of-type(3) {
		margin-top: -3.3vw;
	}
	.home-top-copy p span img {
		height: 20vw;
		width: auto;
	}
	.home-business > div:last-child,
	.home-recruit > div:last-child {
		top: 37%;
	}
	/* page */
	.page-wrap h1 {
		margin-bottom: 1em;
	}
	/* about */
	.page-about-strengths-box h4,
	.page-about-recruit h4,
	.page-business-features-box h4 {
		font-size: 26px;
	}
	.page-about-recruit p:nth-of-type(2) {
		font-size: 18px;
	}
	/* company */
	.map {
		padding-top: 50%;
	}
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
	main.main, div.sidebar {
		padding: 0;
	}
	/* home */
	.home-top-copy {
		bottom: 5%;
	}
	.home-top-copy p span img {
		height: 22vw;
	}
	.home-scrolldown {
		margin-bottom: 3em;
	}
	.home-about {
		display: block;
	}
	.home-about > p {
		width: 340px;
		margin: 0 auto;
	}
	.home-about > p span:nth-of-type(2) {
		margin-top: -2em;
	}
	.home-about > p span:nth-of-type(3) {
		margin-top: -1.5em;
	}
	.home-about > p span img {
		height: 100px;
	}
	.home-about > div {
		width: 100%;
	}
	.home-about h1 {
		font-size: 34px;
		width: 340px;
		margin: 1em auto 2em auto;;
	}
	.home-about div > p {
		font-size: 18px;
		margin-bottom: 3em;
	}
	.home-business,
	.home-recruit {
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}
	.home-business {
		padding: 0 0 2em 0;
		margin-bottom: 2em;
	}
	.home-business > div:last-child {
		position: static;
		width: 100%;
		transform: translateY(0);
		margin-bottom: 3em;
	}
	.home-business h1,
	.home-recruit h1 {
		font-size: 54px;
	}
	.home-business h2,
	.home-recruit h2 {
		font-size: 24px;
	}
	.home-business div h1,
	.home-business div h2,
	.home-business div p,
	.home-business div div,
	.home-recruit div h1,
	.home-recruit div h2,
	.home-recruit div p,
	.home-recruit div div{ 
		width: 100%;
		max-width: 100%;
		text-align: center;
	}
	.home-recruit > div:last-child {
		display: none;
	}
	.home-business div p,
	.home-recruit div p {
		font-size: 18px;
	}
	/* page */
	.page-wrap > div:first-child {
		padding-top: 3em;
		padding-bottom: 3em;
		margin-bottom: 4em;
	}
	.page-wrap h1 span:first-child {
		font-size: 64px;
	}
	.page-wrap h2 {
		font-size: 30px;
	}
	.page-wrap h3 {
		font-size: 24px;
		font-weight: 600;
	}
	.page-wrap table th,
	.page-wrap table td {
		font-size: 16px;
	}
	.page-wrap > div:first-child p {
		font-size: 20px;
	}
	/* about */
	.page-about-strengths-box,
	.page-business-features-box {
		display: block;
		margin-bottom: 4em;
	}
	.page-about-strengths-box div:first-child,
	.page-about-strengths-box div:last-child,
	.page-business-features-box div:first-child,
	.page-business-features-box div:last-child {
		width: 100%;
	}
	.page-about-strengths > div:nth-of-type(2n-1) div:first-child,
	.page-about-strengths > div:nth-of-type(2n) div:first-child,
	.page-business-features > div:nth-of-type(2n-1) div:first-child,
	.page-business-features > div:nth-of-type(2n) div:first-child {
		padding: 0;
	}
	/* business */
	.page-business-features > div:not(:first-of-type) {
		margin-bottom: 6em;
	}
	/* recruit */
	.page-recruit-message > div {
		display: block;
		padding: 1em;
	}
	.page-recruit-message div div:first-child,
	.page-recruit-message div div:last-child {
		width: 100%;
	}
	.page-recruit-message div div:last-child {
		position: static;
	}
	.page-recruit-message div div:last-child picture img {
		width: 100%;
	}
	.page-recruit-features ul li {
		width: 100%;
	}
	.page-recruit-features ul li span:first-child {
		font-size: 20px;
	}
	.page-recruit-features ul li span:last-child {
		padding: 2em 1em 1em 1em;
	}
	/* company */
	.map {
		padding-top: 70%;
	}
	/* button */
	.btn-01 a {
		font-size: 16px;
		padding: 0.5em 1.5em;
	}
	/* slide */
	.split-slideshow,
	.slideshow,
	.slick-list,
	.slideshow .slider,
	.slideshow .slider .item,
	.slideshow .slider .item img {
		height: 70vh; !important;
	}
	/* effect */
	.copy-effect-word,
	.effect-word {
		transform: translateX(var(--x, -300%)) skewX(var(--skewX, 8deg));
	}
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
	/* home */
	.home-top-copy p span img {
		height: 25vw;
	}
	.home-about > p span img {
		height: 90px;
	}
	.home-about div > p,
	.home-business div p,
	.home-recruit div p {
		font-size: 16px;
	}
	/* page */
	.page-wrap h1 span:first-child {
		font-size: 48px;
	}
	.page-wrap h1 span:last-child {
		font-size: 24px;
	}
	/* about */
	.page-about-strengths-box h4,
	.page-about-recruit h4,
	.page-business-features-box h4 {
		font-size: 22px;
	}
	/* business */
	.page-business-features > div:not(:first-of-type) {
		margin-bottom: 4em;
	}
	/* company */
	.map {
		padding-top: 100%;
	}
	/* contact */
	.page-privacy-policy h1 span:first-child {
		font-size: 13vw;
	}
	/* parts */
	.btn-01 {
		gap: 2em;
	}
}
