@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
*/

/************************************
リセットCSS
************************************/
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  font-size: 16px;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
  display: block;
}

ol,
ul,
li {
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

a {
  color: inherit;
  text-decoration: none;
  font-weight: inherit;
  cursor: pointer;
}

a:hover {
  color: inherit;
}
section{
	padding:3% 0%;
}
.fade-in {
  opacity: 0;
  transition: opacity 2s ease;
}

.fade-in.show {
  opacity: 1;
}

.fade-in.delay {
  transition-delay: 0.5s;
}

.fade-up {
  opacity: 0;
  transform: translateY(8%);
  transition: opacity 1s ease, transform 1s ease;
}

.fade-up.show {
  opacity: 1;
  transform: translateY(0);
}
/* 右から現れる */
.fade-right {
  opacity: 0;
  transform: translateX(10%);
  transition: opacity 1s ease, transform 1s ease;
}

.fade-right.show {
  opacity: 1;
  transform: translateX(0);
}

/* 左から現れる */
.fade-left {
  opacity: 0;
  transform: translateX(-10%);
  transition: opacity 1s ease, transform 1s ease;
}

.fade-left.show {
  opacity: 1;
  transform: translateX(0);
}
/* 汎用コンテナ */
.stagger-fade-up > * {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.stagger-fade-up > *.show {
  opacity: 1;
  transform: translateY(0);
}
.fade-up-delay {
  opacity: 0;
  transform: translateY(8%);
  transition: opacity 1s ease, transform 1s ease;
}

.fade-up-delay.show {
  opacity: 1;
  transform: translateY(0);
}

/************************************
共通設定
************************************/
html {
  scroll-behavior: smooth;
}

body {
	font-family: 'Noto Serif', serif;
  font-size: 1rem;
  letter-spacing: 0.1rem;
  background-color: rgba(255, 255, 255, 1);
  color: #424242;
	position:relative;
	
}
.is-pad{
	display:none;
}
.is-sp{
	display:none;
}
.is-pc{
	display:block;
}
.btn {
	display: inline-flex;
    align-items: center;
    justify-content: center;
	padding:2% 0%;
	font-size: 1.2rem;
	font-weight: bold;
    border-radius: 5px;
    color: #fff;
    text-align: center;
	transition: all 0.2s;
	box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.25);
	border: none;
	cursor: pointer;
	position: relative;
	top: 0;
	left: 0;
	letter-spacing: 0.05em;
	height:6vh;
	background: linear-gradient(to right, #1976D2, #73B1EE);

}
.btn:hover {
	box-shadow: none;
	top: 2px;
	left: 2px;
	opacity: 1;
/* 	background: linear-gradient(to right, #FFCA57, #FFD28B); */
}
/* メールボタン用スタイル - 既存 */
.btn-mail {
}
.btn i {
	color: #fff;
    margin-right: 2%;
    transition: all 0.4s;
    display: inline-block;
    transform: scale(1, 0.806); /* 高さを約80.6%に縮小（29÷36=0.806） */
    transform-origin: center; /* 変形の基準点を中央に */
}
.orange-accent{
	font-size:5rem;
	font-weight:bold;
	color:#FF8A00;
	margin-right:1%;
}

.black-bold-accent{
	font-weight:bold;
	font-size:1.2rem;
}
.section-title{
	width:30%;
	margin:0 auto;
	display:flex;
	justify-content:center;
	align-items:center;
}
.section-title img{
	width:25%;
}
.section-title-text{
	width:60%;
	display:flex;
	flex-direction:column;
}
.section-title-main{
	font-size:2rem;
	font-weight:bold;
	text-align:center;
}
.section-title-main-border{
	height:1px;
	border-radius:5px;
	background-color:#1976D2;
	
}
.section-title-sub{
	color:#1976D2;
	text-align:center;
	font-size:1rem;
}
section{
	display:flex;
	flex-direction:column;
}
.section-container{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	margin-top:3% !important;
}
.section-container img{
	width:50%;
	border-radius:10px;
	filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.3));
	object-fit:contain;
}
.page-container .section-container img{
	margin-top:0%;
}
.section-text{
	display:flex;
	flex-direction:column;
	width:45%;
	font-size:1rem;
}
.section-sub-title{
	font-size:1.2rem;
	font-weight:bold;
	color:#1976D2;
}
.section-text-button{
	background: linear-gradient(to right, #D4AF37, #FFEAA4);
	color:white;
	width:40%;
	margin-top:3%;
}
.section-text-button:hover{
	color:#43AF3D;
}
.section-message{
	font-size:1.5rem;
	color:#1976D2;
	text-align:center;
	margin-top:3%;
	font-weight:bold;
}
.section-container.reverse{
	flex-direction:row-reverse;
}
body {
  margin: 0;
	
}
.header-sp-pad-icon{
	display:none;
}
.black-background{
	display:none;
}
.wrapper{
	width:90%;
	max-width:1200px;
	margin:0 auto;
}
/************************************
ローディング
************************************/
/* ローディング全体 */
.loader {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: #F7F1E1;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  overflow: hidden;
}
.loader img{
	width:20%;
	margin:0 auto;
	animation: logo-rotate 0.5s ease-in-out infinite alternate;
}

/* 背景 */
.bg {
  position: absolute;
  top: 0; left: -100%;
  width: 100%; height: 100%;
  z-index: 1;
}

.bg.green {
  background: #28a745;
  animation: slide-in-green 1s ease forwards;
  animation-delay: 0.7s;
}

.bg.orange {
  background: #ff7f00;
  animation: slide-in-orange 1s ease forwards;
  animation-delay: 1s;
}

/* ロゴのアニメーション */
@keyframes logo-rotate {
  0%   { transform: rotate(-12deg); }
  100% { transform: rotate(12deg); }
}

/* 緑背景 */
@keyframes slide-in-green {
  from { left: -100%; }
  to   { left: 0; }
}

/* オレンジ背景 */
@keyframes slide-in-orange {
  from { left: -100%; }
  to   { left: 0; }
}
.grecaptcha-badge{
	display:none;
}
/************************************
ヘッダー
************************************/
header{
	position:fixed;
	top:5%;
	width:90%;
	margin:0 auto;
	left: 50%;
  transform: translateX(-50%);
	z-index:99;
}
.header-wrapper{
	display:flex;
	justify-content:space-between;
}
.logo-wrapper{
	width:20%;
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.logo-1{
	width:30%;
}
.logo-1 img {
	width:100%;
}
.header-title{
	width:65%;
	color:white;
	font-weight:bold;
	font-size:1.2rem;
}
.header-navi{
	border-radius:50px;
	background-color:rgba(255, 255, 255, 0.9);
	
	box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.25);
	display:flex;
	justify-content:space-between;
	padding:0.5% 2%;
	width:42%;
}
.menu{
	display:flex;
	justify-content:space-between;
	padding:0% 1%;
	width:52%;
	font-size:1rem;
	
}
.menu li{
	display:flex;
	justify-content:center;
	align-items:center;
	font-weight:bold;
}
.header-contact{
	width:40%;
}
.header-contact a{
	width:100%;
	border-radius:50px;
	font-size:1rem;
	font-weight:bold;
}
/************************************
メインビジュアル
************************************/
.mainvisual{
	background-image:url('https://adlibigroup.com/wp-content/uploads/2025/09/frank-mckenna-OD9EOzfSOh0-unsplash1-scaled.jpg');
	background-size:cover;
	width:100%;
	height:100vh;
	position:relative;
}
.mainvisual-main-text{
	position:absolute;
	bottom:20%;
	left:5%;
	color:white;
	font-size:5.5rem;
	letter-spacing:0.8rem;
	font-weight:bold;
	text-shadow: 4px 4px 4px rgba(0,0,0,0.5);
}
.mainvisual-sub-text{
	bottom:10%;
	left:5%;
	position:absolute;
	font-size:1.2rem;
	color:white;
	text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}
/************************************
創業への想い
************************************/
.vision{
	position:relative;
}
.background-letter{
	position:absolute;
	left:-8%;
	font-weight:bold;
	font-size:12rem;
	top:5%;
	color:#B5DAFF;
	letter-spacing:1.5rem;
	writing-mode: vertical-rl;   /* 縦書き */
}
/************************************
事業内容
************************************/
.business{
	position:relative;	
}
.background-img.earth{
	position:absolute;
	right:0%;
	top:30%;
	width:20%;
}

.background-img.compass{
	position:absolute;
	left:0%;
	top:60%;
	width:20%;
}
.background-img img{
	width:100%;
}
.business-container{
	margin-top:3%;
	z-index:2;
}
.business-box{
	display:flex;
	justify-content:space-between;
	margin-bottom:3%;
}
.business-box img{
	width:48%;
	box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.25);
	border-radius:10px;
}
.business-text{
	width:48%;
	display:flex;
	flex-direction:column;
}
.business-title-number{
	display:flex;
	align-items:center;
}
.business-number{
	color:#D4AF37;
	font-size:5rem;
	margin-right:3%;
}
.business-title{
	color:#1976D2;
	font-weight:bold;
	font-size:1.2rem;
}
.business-box.reverse{
	flex-direction:row-reverse;
}
.business-description{
	font-size:1rem;
}
/************************************
人材紹介
************************************/
.persons{
	padding:3% 0%;
}


/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}
