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

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/*ロゴ*/
.logo-image {
	padding:0;
	margin-left:1em;
	margin-top:1em;
	margin-bottom:1em;
	max-height:60px;
}
.logo {
	text-align: left;
}
.logo-header img {
	box-shadow: none!important;
}

.header-container-in.hlt-top-menu .logo-image {
    padding: 0 0 0 15px;
}

a:hover{
	color:#036eb8;
}

@media screen and (max-width: 1023px){
/**　ヘッダーロゴ **/
	.container {
		margin-top:-3px;
	}
	
/** ヘッダー　モバイル表示 **/
	.header-container {
		display:none;
	}
	img.site-logo-image{
		max-height:35px;
		padding:2px 0 0 5px;
		box-shadow:none;
	}
	.mobile-header-menu-buttons {/*ヘッダー背景色を変えるときはここを変更*/
		background: #fff;
	}
}

/*全幅*/
body{
	overflow-x:hidden;
}

.full-width {
	width:auto;
	margin: 0 calc(50% - 50vw);
	padding: 0 calc(50vw - 50%);
	max-width:100vw;
}

@media screen and (max-width: 834px) {
    .header-cover{
        min-height:200px !important;
    }
}

/*トップページ*/
.info-subtitle{
	font-family: Georgia, serif;
}
.info-list{
	padding:0;
}
.info-list li{
	display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
	align-items: center;
	padding-bottom:0.5rem;
}
.info-list li a{
	text-decoration:none;
	width:70%;
}
.info-list li a:hover{
	text-decoration:underline;
}

.info-list time{
    padding-right: 1.2rem;
}

@media screen and (max-width: 834px) {
    .article .info-list{
        padding-left: 0px !important;
    }
}

.info-list-link{
	transition: 0.3s;
}

.info-list-link:hover{
	opacity:0.5;
	transition: 0.3s;
}

.wp-container-core-cover-is-layout-7a098e3d{
	margin-top: -250px;
}

.top-maincopy{
	margin-bottom:0px !important;
}

.post-2,.post-53{
	margin-top: -70px;
}

/*投稿ページ*/
.a-wrap{
	border-top:1px solid var(--cocoon-thin-color);
	border-bottom:1px solid var(--cocoon-thin-color);
}

/*メニュー*/
.navi-in a{
	font-size:14px;
}

.header-container, .main, .sidebar, .footer{
	background-color:inherit;
}

.navi{
	background-color: inherit;
	z-index: 1;
}

.header{
	z-index: 1;
}

.page-id-2 .navi-in a{
color: #fff;
}

.page-id-2 .navi-in .sub-menu a{
	color:#000;
}

.navi-in > ul .sub-menu{
	width:150px;
}

.navi-in > ul .sub-menu ul {
    left: 150px;
}

#navi .navi-in a:hover {
    background-color: rgb(255 255 255 / 0);
}

#navi .navi-in a:after{
	position: absolute;
	content: "";
	left: 0px;
	bottom: 0;
	height: 2px;
	width: 100%;
	background: #036eb8;
	transform: scale(0,1);
	transition: 0.3s;
}

#navi .navi-in a:hover:after{
	transform: scale(1);
}

/* トップページだけ別ロゴ */
.page-id-2 .logo-image img {
	content: url('../../uploads/2025/08/logo_header_w.png');
}

/* モバイルメニュー */
span.fas.fa-times::before{
	font-family: "Font Awesome 5 Free";
	content: "\f060";
	color:#90C31F;
}

ul.menu-drawer:after {
	background: white;
}
.menu-drawer li {
	padding:0;
}
.menu-drawer li{
	border-bottom: 1px solid var(--cocoon-thin-color);
}
.menu-drawer a{
	font-size:0.9rem;
	background-color:#ffffff;
	margin: .5em 0;
}
.menu-drawer a:hover{
	background-color:#f7f7f7;
}
.menu-drawer .sub-menu {
	padding:0;
}
.menu-drawer .sub-menu li{
	font-size: 0.8rem;
}

.menu-drawer .sub-menu li {
    border-bottom: 0;
}
.menu-drawer li:last-child {
    border-bottom: 0;
}
.menu-drawer .sub-menu li a::before {
	font-family: 'FontAwesome';
	content : "\f105";
	color:#036eb8;
	margin:0 0.5em 0 1em;
}

.menu-close-button {
    text-align: right;
    font-size: 1.5em;
    padding: 10px 20px;
}

@media screen and (max-width: 1023px){
  .mobile-menu-buttons .menu-caption{
    display: none;
  }
  .mobile-menu-buttons{
    align-items: center;
  }
}

.mobile-menu-buttons .menu-button{
	width:50px;
	padding-left: 15px;
	justify-content: space-between;
}

/* フッター */

.multi-column-list ul {
	margin: 4px 0 0 15px;
	padding: 0;
}

.multi-column-list ul li {
	break-inside: auto;
	margin: 2px 0;
	font-size:12px;
}

.footer-left{
	width:20%;
	display:flex;
	justify-content:space-around;
}

.footer-center{
	width:25%;
	display:flex;
	justify-content:space-between;
}

.footer-right{
	width:20%;
}

.footer .widget_nav_menu ul li a{
	padding:0;
	position:relative;
}

.footer .widget_nav_menu ul li a:hover{
	background-color: rgb(255 255 255 / 0);
}

#footer a:not(.sns-button):hover{
	opacity:0.6;
}

.footer-widgets, .footer-widgets-mobile{
	justify-content: center;
}

.footer-company{
	font-size:12px;
}

.copyright{
	margin-top:0px;
	padding-right:45px;
	font-size:12px;
}

.footer-bottom{
	margin-top:0px;
	padding-top:0px;
}

.footer-mobile, .footer-left, .footer-center, .footer-right{
	padding-bottom:0px;
}

.footer-widgets .widget{
	margin-bottom:0px;
}

@media screen and (max-width: 1023px) {
	    .footer-widgets {
        display:flex;
    }
   .footer-widgets .footer-left{
	width:30%;
}

.footer-widgets .footer-center{
	width:45%;
}

.footer-widgets .footer-right{
	width:30%;
}
}

@media screen and (max-width: 834px){
	.footer-widgets {
        display: none;
    }
}

	
/*余白*/
.entry-content {
	padding-bottom: 0;
	margin-bottom: 0;
}

.content{
	margin-top: -10px;
}

.entry-title, .archive-title {
    margin: 32px 0;
}

@media screen and (max-width: 480px) {
    .entry-title, .article h2 {
        padding: 0;
    }
    .entry-title, .article h2, .article h3, .article h4, .article h5, .article h6 {
        padding: 0;
    }
}

@media screen and (max-width: 834px) {
    .content {
        margin-top: -45px;
    }
}

.main{
	padding-top:0px;
	padding-bottom:0px;
}

.front-page-type-index,.sidebar,.type-post{
    margin-top: 50px;
}

/*業務内容*/
.achievements-button img{
	transition:0.3s;
}
.achievements-button img:hover{
	opacity:0.8;
	transition:0.3s;
}

.business-txt{
	position: relative;
    width: 55%;
}

.business-img{
	position: absolute;
    top: 400px;
}

.business-box{
	position: relative;
    width: 58%;
    margin-top: 80px;
}

@media screen and (max-width: 834px){
.business-box{
    margin-top: 20px;
}
}


.business-depart{
	color:#036eb8;
	    font-size: 1.3rem !important;
}

@media screen and (max-width: 834px){	
.business-txt{
	position: relative;
    width: 100%;
}

.business-img{
	position:static;
}

.business-box{
	position: relative;
    width: 100%;
}
}

.map-wrapper {
	position: absolute;
	top:400px;
	right: 25px;
	width: 350px;
	z-index:5;
}

@media screen and (max-width: 834px){
	.map-wrapper {
		position:relative;
		top:0;
		right: 0;
		margin: 0 auto;
}
}

.map-wrapper img {
  display: block;
  width: 100%;
}

.hover-effect {
  position: absolute;
  right: 100%; 
  width: 700px;
  height: 150px;
  overflow: visible;
	 pointer-events: none;
	z-index:3;
}

.hover-effect polyline {
  transition: stroke-dashoffset 0.3s ease;
}

.hover-effect text {
  transition: opacity 0.3s ease; 
}

.hover-effect.active polyline {
  stroke-dashoffset: 0; 
}

.hover-effect.active text {
  opacity: 1;
}

@media (max-width: 834px) {
	.hover-effect {
		display:none;
	}
  .hover-effect polyline {
    display: none; /* スマホは線を非表示 */
  }
  .hover-effect text {
    transition: opacity 0.3s ease;
  }
}

.content-box {
	visibility: hidden;
	opacity: 0;
	z-index:1;
}

@media (max-width: 834px) {
	.content-box {
		margin-top:20px;
	}
}

.content-box.active {
	visibility:visible;
	animation: slideIn 0.5s ease forwards;
}

@keyframes slideIn {
  0% {
    opacity: 0;
    transform: translateX(-30px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}


/*見出し*/
.article h2 {
	padding: 0.5em 0;
	margin-bottom: 0;
	display: inline-block;
	line-height: 1.3;
	vertical-align: middle;
	background-color: inherit;
    font-size: 1.2rem;
}

.article  h2:before {
	content: '●';
	color: #036eb8;
	margin-right: 8px;
	font-size:1rem;
}

.article h3{
	border:none;
    font-size:1.5rem;
	line-height:2.2rem;
    padding: 12px 0;
	margin-bottom:0;
}

.article h2.privacy-title, .article h2.recruit-title{
	text-align:center;
	color: #036eb8;
	display:block;
	margin:3rem 0;
}

.article h2.privacy-title:before, .article h2.recruit-title:before{
	content:'';
}
.article h4{
	color: #036eb8;
	border:none;
	padding:0;
	font-size:1.1rem;
}

/*会社概要*/
.company_table tr:nth-of-type(2n+1){
	background-color:inherit;
}

.company_table.wp-block-table td{
	border-bottom: 1px solid #cfcfcf;
}

.company_table:not(.has-border-color) :where(th, td){
	border:0;
}

.company_table.wp-block-table tr:last-child td{
	border-bottom:0;
}

.google-maps {
	position: relative;
	padding-bottom: 60%;
	height: 0;
	overflow: hidden;
}
.google-maps iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

/*プライバシーポリシー*/
.privacy-list{
	list-style-type:decimal;
}

.privacy-list li{
	padding-bottom:1.5rem;
}

/*求人情報*/
.recruit-title{
	padding-bottom:20px !important;
	margin-bottom:0 !important;
}

.wp-block-cover.full-width {
    margin-bottom: 0;
}

.recruit-voice{
	display:flex;
	align-items:flex-end;
}

.recruit-voice .wp-block-image {
    margin-bottom: 0;
}

.recruit-scroll{
	position: absolute;
    left: -20%;
    bottom: -15%;
}

.recruit-link img{
	transition:0.3s;
}
.recruit-link img:hover{
	opacity:0.8;
	transition:0.3s;
}

/*採用エントリー*/
.recruit_table tr:nth-of-type(2n+1){
	background-color:inherit;
}

.recruit_table td:first-child{
	background-color:#daf0fc;
}

.recruit_table td {
    padding: 20px 40px;
}

@media screen and (max-width: 834px){
.recruit_table td {
    padding: 5px 10px;
}
}

.recruit_table.wp-block-table td{
	border-bottom: 1px solid #cfcfcf;
	vertical-align: top;
}

.recruit_table {
    border: 1px solid #cfcfcf;
}

.recruit_table.wp-block-table tr:last-child td{
	border-bottom:0;
}

/*お問い合わせ*/
.contact-required{
	color:#e60012;
}

.Form-Item{
	margin-bottom:10px;
}

.Form-Item-confirm{
	border-bottom: 1px solid var(--cocoon-thin-color);
}

.button-wrap{
	margin-top:30px;
}

.confirm_button{
    -webkit-appearance: none;
    border: 1px solid var(--cocoon-thin-color);
    background-color: #f5f8fa;
    color: #333;
    padding: 11px;
    width: 100%;
    margin: 0;
    cursor: pointer;
}

.back_button{
	-webkit-appearance: none;
    border: 1px solid var(--cocoon-thin-color);
    background-color: #cfcfcf;
    color: #333;
    padding: 11px;
    width: 30%;
    margin: 0;
    cursor: pointer;
}

.error-message {
    color: #dc3232;
    display: none;
    font-size: 1em;
}

input.confirm_button:disabled {
    background-color: #fff;
    cursor: not-allowed;
}

input.confirm_button {
    background-color: #f5f8fa;
}

/*確認画面と完了画面を非表示*/
.confirm_area,
.thanks_area {
	display: none;
}

/*デフォルトのサンクスメッセージを非表示*/
.wpcf7-response-output{
	display: none;
}

/* ローディングスクリーンのスタイル */
.my_loading {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100vw;
    height: 100vh;
    background-color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    animation: my_fadeOutBackground 1.0s 1.5s forwards;
}

.my_loading img {
    opacity: 0;
    animation: my_logo_fade 1s 0.1s forwards;
    width: 100px; /* ロゴのサイズ（パソコン） */
}

@media screen and (max-width: 959px) {
    .my_loading img {
        width: 100px; /* ロゴのサイズ（スマホ） */
    }
}

/* 背景のフェードアウトアニメーション */
@keyframes my_fadeOutBackground {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        visibility: hidden;
    }
}

/* ロゴのフェードイン・フェードアウトアニメーション */
@keyframes my_logo_fade {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    60% {
        opacity: 1;
        transform: translateY(-20px);
    }
    100% {
        opacity: 0;
		transform: translateY(-20px);
    }
}

.sp {
  display: none;
}
@media screen and (max-width: 834px) {
  .sp {
    display: inline;
  }
}

@media screen and (max-width: 834px) {
  .pc {
    display: none;
  }
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
	}


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

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