@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.page {
  padding-left: 0;
  padding-right: 0;
}

.page .entry-content {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.video-container {
  max-width: none;
}
*/

@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&display=swap');

/* デフォルト：スマホ用は非表示、PC用は特に何もしない（= 既定の表示） */
.only-sp { display: none; }

/* 1024px以下（スマホ・タブレット）で切り替え */
@media (max-width: 1024px) {
  .only-pc { display: none !important; }  /* スマホでは非表示（PC専用） */
  .only-sp { display: block !important; } /* スマホでは表示（SP専用） */
}


.article h1,
.article h2,
.article h3,
.article h4,
.article h5,
.article h6 {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 1.2em 0 0.6em 0;
  border-radius: 0 !important;
  line-height: 1.4;
  font-weight: normal;
}

/* 各見出しごとのサイズ調整 */
.article h1 { font-size: 28px; }
.article h2 { font-size: 24px; }
.article h3 { font-size: 20px; }
.article h4 { font-size: 18px; }
.article h5 { font-size: 16px; }
.article h6 { font-size: 14px; }



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

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

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

/*固定ページの更新日を非表示に*/
.post-45 .date-tags {
display: none;
}

/* 横並び（PC・タブレット） */
.myrow {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px; /* 横の間隔（お好みで） */
}

/* スマホ幅では縦並び */
@media (max-width: 781px) {
  .myrow {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important; /* 縦の間隔 */
  }
}

/* 画像ホバー：ズーム + フェード（明るさ/透明） */
figure.wp-block-image.img-mouseover{
  overflow: hidden;     /* 拡大時のはみ出し防止 */
  border-radius: 12px;  /* 好みで */
}

figure.wp-block-image.img-mouseover img{
  display: block;
  width: 100%;
  height: auto;

  transform: scale(1);
  opacity: 1;
  filter: brightness(1);

  transition: transform .35s ease, opacity .35s ease, filter .35s ease;
  will-change: transform, opacity, filter;
}

figure.wp-block-image.img-mouseover:hover img{
  transform: scale(1.06);
  opacity: .88;
  filter: brightness(1.08);
}

/* 動きを減らしたい設定の人向け */
@media (prefers-reduced-motion: reduce){
  figure.wp-block-image.img-mouseover img{
    transition: none;
  }
}


/************************************
** 追加
************************************/
a{
	transition: .2s;
}
a:hover{
	opacity: 0.8;
}
.wrap{
	width: auto;
}

.main{
	padding: 0px;
}

.entry-content>*,.wp-block-group{
	margin-bottom: 0!important;
}

.top_mv{
	position: relative;
	margin-bottom: 0px;
}
.top_mvcopy{
	position: absolute;
	top: 60%;
	left: 5%;
	z-index: 100;


}
.top_mvcopy div{
	display: table;
    background-color: #fff;
    padding: 0 20px;
    margin-bottom: 10px;
	color: #95BC30;
	font-size: 48px;
	font-weight: bold;
}
.mv_bg {
    background: #95BC30;
    width: 70%;
    height: 40vh;
    position: absolute;
    bottom: 0;
    left: 0;
    margin: auto;
}

.n2-section-smartslider{
	position: relative;
}

.n2-ss-slider-wrapper-inside {
    width: 80%;
    margin-right: 0;
    margin-left: auto;
}
.article h1, .article h2, .article h3, .article h4, .article h5, .article h6{
	margin: 0;
}

section.sec_mission{
padding-top: 60px;
background: linear-gradient(90deg, #95BC30 0%, #95BC30 70%, #fff 30%, #fff 100%);
	margin-bottom: 60px;
	position: relative;
}

.box_inner{
	margin: 0 5%;
}

h2.h2_top{
	font-family: "Josefin Sans", sans-serif;
	font-size: 48px;
	color: #fff;
	font-weight: bold;
}
.h2_sub{
	color: #fff;
	margin-bottom: 40px;
}
h2.h2_top_bk{
	font-family: "Josefin Sans", sans-serif;
	font-size: 48px;
	font-weight: bold;
}
.h2_sub_bk{
	margin-bottom: 40px;
}

.mission{
	display: flex;
	align-items: center;
	
	
}
.missioncopy{
	width: 75%;
	background: #fff;
	border-radius: 20px 0px 0px 0px;
	padding: 40px 150px 40px 60px;
	margin-right: 30px;
	margin-bottom: -150px;
	line-height: 2;
}
.missionimg{
	width: 25%;
}
.missionimg img{
	position: absolute;
	bottom: -100px;
	width: 35%;
	right: 5%;
}

section.sec_news{
	padding: 60px 0;
	background: #F1EDE3;
}
section.sec_news hr{
	border-top: 2px dotted #fff;
}
section.sec_news a{
	text-decoration: none;
}


section.sec_movie{
	position: relative;
	padding: 60px 0;
}

section.sec_movie::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 40%;
    background-color: #E8BD0D;
    z-index: -1;
}

section.sec_group{
	padding: 60px 0;
}

.group_img{
	display: flex;
	
}

.g_box{
	border-radius: 0 9999px 9999px 0;
}


.g_box .wp-block-image{
	margin-bottom: 0;
}
.g_title{
	line-height: 1.2;
}
.g_title01{
	display: flex;
	font-size: 26px;
	font-weight: bold;
	color: #e01b1b;
	align-items: center;
}
.g_title02{
	display: flex;
	font-size: 26px;
	font-weight: bold;
	color: #9cbc35;
	align-items: center;
}
.g_title03{
	display: flex;
	font-size: 26px;
	font-weight: bold;
	color: #2eb0bb;
	align-items: center;
}
.g_title04{
	display: flex;
	font-size: 26px;
	font-weight: bold;
	color: #e95513;
	align-items: center;
}
.g_title05{
	display: flex;
	font-size: 26px;
	font-weight: bold;
	color: #9f5fb9;
	align-items: center;
}
.g_title06{
	display: flex;
	font-size: 26px;
	font-weight: bold;
	color: #e3007f;
	align-items: center;
}
.g_title07{
	display: flex;
	font-size: 26px;
	font-weight: bold;
	color: #5385db;
	align-items: center;
}
.g_title08{
	display: flex;
	font-size: 26px;
	font-weight: bold;
	color: #1d2087;
	align-items: center;
}
.g_title09{
	display: flex;
	font-size: 26px;
	font-weight: bold;
	color: #e8bd0a;
	align-items: center;
}
.g_num{
	font-family: "Josefin Sans", sans-serif;
	font-size: 64px;
	margin-right: 20px;
	font-weight: bold;
	margin-top: 15px;
}

.wp-block-list {
  list-style: none;
  padding-left: 0;
}

.g_list01,.g_list02,.g_list03,.g_list04,.g_list05,.g_list06,.g_list07,.g_list08,.g_list09 {
  position: relative;
  padding-left: 20px;
	line-height: 1.2;
}

.g_list01::before {
  content: "";
  width: 14px;   /* ←ここで自由に大きく */
  height: 14px;
  background: #e01b1b;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.3em;
}
.g_list02::before {
  content: "";
  width: 14px;   /* ←ここで自由に大きく */
  height: 14px;
  background: #9cbc35;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.3em;
}
.g_list03::before {
  content: "";
  width: 14px;   /* ←ここで自由に大きく */
  height: 14px;
  background: #2eb0bb;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.3em;
}
.g_list04::before {
  content: "";
  width: 14px;   /* ←ここで自由に大きく */
  height: 14px;
  background: #e95513;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.3em;
}
.g_list05::before {
  content: "";
  width: 14px;   /* ←ここで自由に大きく */
  height: 14px;
  background: #9f5fb9;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.3em;
}
.g_list06::before {
  content: "";
  width: 14px;   /* ←ここで自由に大きく */
  height: 14px;
  background: #e3007f;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.3em;
}
.g_list07::before {
  content: "";
  width: 14px;   /* ←ここで自由に大きく */
  height: 14px;
  background: #5385db;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.3em;
}
.g_list08::before {
  content: "";
  width: 14px;   /* ←ここで自由に大きく */
  height: 14px;
  background: #1d2087;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.3em;
}
.g_list09::before {
  content: "";
  width: 14px;   /* ←ここで自由に大きく */
  height: 14px;
  background: #e8bd0a;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.3em;
}



section.sec_backnum{
	padding: 60px 0;
	background: #F1EDE3;
}

a.btn_backnum{
	color: #2DB0BB;
	background: #fff;
	padding: 20px 30px;
	border-radius: 33px;
	text-decoration: none;
	font-weight: bold;
	transition: .2s;
	
}
a.btn_backnum:hover{
	opacity: 0.8;
}
.page-title {
  text-align: center;
}

.page-title h2 {
	font-family: "Josefin Sans", sans-serif;
  font-size: 48px;
  font-weight: bold;
  margin-bottom: 0px;
}
.page-title h3 {
	font-family: "Josefin Sans", sans-serif;
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 0px;
}

.dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-bottom: 10px;
}

.dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
}

.dot.green {
  background: #95BC30;
}

.dot.orange {
  background: #E95512;
}

.dot.pink {
  background: #E3007F;
}

.dot.blue {
  background: #1E2087;
}

.page-title p {
  font-size: 16px;
  letter-spacing: 2px;
}

section.page_news{
	background: #F1EDE3;
	padding: 60px 0;
}

section.page_news .news_box{
	background: #fff;
	padding: 60px 30px;
	border-radius: 20px;
	margin-bottom: 40px!important;
}
section.page_news .news_box .dot {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: inline-block;
}


.page_news .news_box:nth-child(4n+1) .dot {
  background-color: #95BC30;
}

.page_news .news_box:nth-child(4n+2) .dot {
  background-color: #E95512;
}

.page_news .news_box:nth-child(4n+3) .dot {
  background-color: #E3007F;
}
.page_news .news_box:nth-child(4n+4) .dot {
  background-color: #1E2087;
}



section.page_news .column-2-3-1-2 .column-left {
    margin-right: 20px;
}

section.sec_profile{
	background: #F1EDE3;
	padding: 60px 0;
}
section.sec_company{

	padding: 60px 0;
}

.table_com table{
	border: 0;
}
.table_com table tr:nth-of-type(2n+1){
	background: #fff;
}
.table_com table:not(.has-border-color) :where(th, td){
	border: 0;
}
.table_com table tr td{
	padding: 20px;
}
.table_com table tr td:first-child{
	border-bottom: 2px solid #E95512;
	width: 25%;
	font-weight: bold;
}
.table_com table tr td:last-child{
	border-bottom: 2px solid #B8AEA3;
}


section.sec_contact{
	background: #F1EDE3;
	padding: 60px 0;
}
.contactbox{
	background: #fff;
	padding: 30px;
	border-radius: 20px;
}

table.table_contact{
	
}
table.table_contact:not(.has-border-color) :where(th, td){
	border: 0px;
}
table.table_contact tr:nth-of-type(2n+1){
	background: #fff;
}
table.table_contact tr th{
	background: #fff;
	color: #1E2087;
	text-align: left;
}
input[type=submit] {
    -webkit-appearance: none;
    border: 0px;
	padding: 10px;
	width: 50%;
	font-size: 24px;
    background-color: #1E2087;
    color: #fff;
	font-weight: bold;
	margin: 0 auto;
	border-radius: 10px;
}

section.sec_recruit{
	background: #F1EDE3;
	padding: 60px 0;
}

.t_center{
	text-align: center;
}

section.sec_recruit_contact{
padding: 60px 0;
	background-image: url(http://dev.cimedesign.com/egao/wp-content/uploads/2026/04/recruit_bg-scaled.jpg);
	background-size: cover;
	background-position-x: center;
}
h3.h3_rec{
	font-size: 32px;
	color: #fff;
	font-weight: bold;
	text-align: center;
	margin-bottom: 40px;
}

a.btn_contact{
		color: #E95512;
	background: #fff;
    padding: 0 30px;
    border-radius: 36px;
    text-decoration: none;
    font-weight: bold;
    display: inline-flex;
    align-items: center; 
	justify-content: center;
    gap: 8px;
	width: 100%;
    height: 72px;
	transition: .2s;
}
a.btn_contact_tel{
	font-size: 36px;
}

a.btn_contact .far,
a.btn_contact .fas{
	font-size: 40px;
	margin-right: 10px;
}
a.btn_contact:hover{
	transform: scale(1.03);
}
.wpcf7-spinner {
    display: block!important;
}

.footer {
    margin-top: 0px;
}

.entry-content,.article{
	margin-bottom: 0!important;
}
.copyright{
	font-size: 14px;
}


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

	.top_mvcopy div{
		font-size: 32px;
	}
	h2.h2_top{
		font-size: 38px;
	}
	h2.h2_top_bk{
		font-size: 38px;
	}
	.page-title h2{
		font-size: 38px;
	}
}

/*834px以下*/
@media screen and (max-width: 834px){
.mv_bg{
		height: 20vh;
	}
	.n2-ss-slider-wrapper-inside{
		width: 100%;
	}
	.top_mvcopy div{
		font-size: 24px;
	}
	section.sec_mission{
		background: linear-gradient(90deg, #95BC30 0%, #95BC30 80%, #fff 20%, #fff 100%);
	}
	h2.h2_top{
		font-size: 32px;
	}
	h2.h2_top_bk{
		font-size: 32px;
	}
	.page-title h2{
		font-size: 32px;
	}
	.mission{
		display: block;
	}
	.missioncopy{
		width: 100%;
	}
	.missionimg{
		
	}
	  .missionimg img {
width: 35%;
    bottom: -140px;
	}
}

@media screen and (max-width: 781px){
	a.btn_backnum{
		margin-bottom: 20px;
		display: inline-block;
	}
	.g_box{
		margin-right: 30px!important;
	}
	.g_title01,.g_title02,.g_title03,.g_title04,.g_title05,.g_title06,.g_title07,.g_title08,.g_title09{
		margin-left: 30px;
	}
	.g_tbox{
		padding-right:30px!important;
	}
	.backnum_left{
		border: 0px;
		padding-right: 0px!important;
		
	}
	.backnum_right{
		padding-left: 0px!important;
		
	}
	.page-title h3{
		font-size: 22px;
	}
	a.btn_contact{
		margin: 5px auto;
		width: 100%;
	}

}
@media screen and (max-width: 480px){
	.missioncopy{
		padding: 20px;
	}
	.missionimg img {
        width: 40%;
        bottom: -140px;
    }
	.g_num{
		font-size: 30px;
		white-space: nowrap;
		margin-top: 8px;
	}
	.g_title01,.g_title02,.g_title03,.g_title04,.g_title05,.g_title06,.g_title07,.g_title08,.g_title09{
		font-size: 20px;
	}
	h3.h3_rec{
		font-size: 24px;
	}
	a.btn_contact_tel{
	font-size: 30px;
}
	a.btn_contact .far,
a.btn_contact .fas{
	font-size: 30px;
	margin-right: 10px;
}
}
