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

/*___共通___________________________________________________________________*/
.entry-content>*, .article p, .demo .entry-content p, .article dl, .article ul, .article ol, .article blockquote, .article pre, .article table, .article .toc, .body .article, .body .column-wrap, .body .new-entry-cards, .body .popular-entry-cards, .body .navi-entry-cards, .body .box-menus, .body .ranking-item, .body .rss-entry-cards, .body .widget, .body .author-box, .body .blogcard-wrap, .body .login-user-only, .body .information-box, .body .question-box, .body .alert-box, .body .information, .body .question, .body .alert, .body .memo-box, .body .comment-box, .body .common-icon-box, .body .blank-box, .body .button-block, .body .micro-bottom, .body .caption-box, .body .tab-caption-box, .body .label-box, .body .toggle-wrap, .body .wp-block-image, .body .booklink-box, .body .kaerebalink-box, .body .tomarebalink-box, .body .product-item-box, .body .speech-wrap, .body .wp-block-categories, .body .wp-block-archives, .body .wp-block-archives-dropdown, .body .wp-block-calendar, .body .ad-area, .body .wp-block-gallery, .body .wp-block-audio, .body .wp-block-cover, .body .wp-block-file, .body .wp-block-media-text, .body .wp-block-video, .body .wp-block-buttons, .body .wp-block-columns, .body .wp-block-separator, .body .components-placeholder, .body .wp-block-search, .body .wp-block-social-links, .body .timeline-box, .body .blogcard-type, .body .btn-wrap, .body .btn-wrap a, .body .block-box, .body .wp-block-embed, .body .wp-block-group, .body .wp-block-table, .body .scrollable-table, .body .wp-block-separator, .body .wp-block, .body .video-container, .comment-area, .related-entries, .pager-post-navi, .comment-respond, .is-root-container>*, [data-type="core/freeform"] {
    margin-bottom: 0;
}

.wp-block-columns {
	gap: 10px!important;
}

.wp-block-column {
	flex-grow: 0;	
}

.PC_DP-NONE {
	display: none;
}

@media screen and (max-width: 781px){	
	.PC_DP-NONE {
		display: block;
	}
	
	.MB_DP-NONE{
		display: none;		
	}
}
/*________________________________________________________________________________________________________________________________________*//*________________________________________________________________________________________________________________________________________*/
/*___【共通】アニメーション（揺れ動く）___________________________________________________________________*/
.anime-1-1, .anime-1-2, .anime-1-3 {
	animation: fluffy 3s infinite ease-in-out .8s alternate;
	background-repeat:  no-repeat!important; 
	background-position:center center!important;   
	background-size: contain!important;
	display: inline-block;
	transition: 1.5s ease-in-out;
}

.anime-1-1 {
	background: url(http://sx.bright-japan.net/wp-content/uploads/2022/08/SDGsコンサルティング-雲①.webp) ;
	width: min(36vw ,500px);
	height: min(36vw ,500px);
}

.anime-1-2 {
	background: url(http://sx.bright-japan.net/wp-content/uploads/2022/08/SDGsコンサルティング-雲②.webp) ;
	width: min(36vw ,500px);
	height: min(36vw ,500px);
}

.anime-1-3 {
	background: url(http://sx.bright-japan.net/wp-content/uploads/2022/08/SDGsコンサルティング-雲③.webp) ;
	width: min(32vw ,450px);
	height: min(32vw ,450px);
}

@keyframes fluffy {
	0% {
		transform:translate(0, 0) rotate(-3.5deg);
	}
	50% {
		transform:translate(0, -3.5px) rotate(0deg);
	}
	100% {
		transform:translate(0, 0) rotate(3.5deg);
	}
}

@media screen and (max-width: 781px){
	.anime-1-1 {
		width: min(80vw ,500px);
		height: min(50vw ,300px);
	}

	.anime-1-2 {
		width: min(70vw ,500px);
		height: min(45vw ,300px);
	}

	.anime-1-3 {
		width: min(80vw ,500px);
		height: min(50vw ,300px);
	}	
}

@media screen and (max-width: 480px){
	.anime-1-1 {
		width: min(90vw ,500px);
		height: min(60vw ,300px);
	}

	.anime-1-2 {
		width: min(80vw ,500px);
		height: min(55vw ,300px);
	}

	.anime-1-3 {
		width: min(90vw ,500px);
		height: min(60vw ,300px);
	}	
}

/*___アニメーション（フェードイン）___________________________________________________________________*/
/* フェードイン下 */
.anime-2-1 {
	opacity: 0;
	transform: translateY(20px);
	transition: all 1.3s 0s ease-out;
 }

/*フェードイン左*/
.anime-2-3 {
	opacity: 0;
	transform: translateX(-40px);
	transition: all 1.3s 0s ease-out;	
}

/* フェードイン中心 */
.anime-2-4 {
	opacity: 0;
	transform: translateX(0px);
	transition: all 1.3s 0s ease-out;
}

/*___【共通】アニメーション（縦に揺れ動く）__________________________________________________________________*/
.animebox-3.anime-3.is-anime {
	animation: shake_vertical 2s ease-in-out forwards;
	animation-iteration-count: infinite;
}
 
@keyframes shake_vertical {
	0%  {
		transform: scale(1.0, 1.0) translate(0, 0);
	}
	10% {
		transform: scale(0.98, 0.9) translate(0, 5px);
	}
	20% {
		transform: scale(1.02, 1.0) translate(0, 8px);
	}
	30% {transform: scale(0.98, 1.05) translate(0, -8px);
	}
	40% {
		transform: scale(1.0, 0.9) translate(0, 5px);
	}
	50% {
		transform: scale(1.0, 1.0) translate(0, 0);
	}
	0%, 100% {
		opacity: 1;
	}
}



/*___【共通】見出し___________________________________________________________________*/
.article h2, .article h3, .article h4, .article h5, .article h6 {
    margin: 0 0 0;
}

.article h1{
}

.article h2{
    padding: 0;
    background-color: #FFFFFF00;
    border-radius: 0;
}

.article h3{
	border: 0;
    padding: 0;	
} 

.article h4{
	border: 0;
}

.h2-1{
	font-size: 45px!important;
}

.h2-2{
	font-size: 45px!important;
}

.h3-1{
	font-size: 32px!important;
	letter-spacing: 0.18em;	
}

.h3-2{
	font-size: 24px!important;
	letter-spacing: 0.18em;	
}

.h4-1{
	font-size: 19px!important;
	letter-spacing: 0.18em;		
}

@media screen and (max-width: 1023px){
	.h2-1 {
		font-size: calc(45px * 0.9)!important;
	}
	
	.h2-2 {
		font-size: calc(45px * 0.9)!important;	
	}

	.h3-1 {
		font-size: calc(32px * 0.9)!important;	
	}
	
	.h3-2 {
		font-size: calc(24px * 0.9)!important;	
	}
	
	.h4-1 {
		font-size: calc(19px * 0.9)!important;	
	}
}

@media screen and (max-width: 781px){
	.h2-1 {
		font-size: calc(45px * 0.85)!important;
	}
	
	.h2-2 {
		font-size: calc(45px * 0.85)!important;	
	}

	.h3-1 {
		font-size: calc(32px * 0.85)!important;	
	}
	
	.h3-2 {
		font-size: calc(24px * 0.85)!important;	
	}
	
	.h4-1 {
		font-size: calc(19px * 0.85)!important;	
	}
}

@media screen and (max-width: 480px){
	.h2-1 {
		font-size: calc(45px * 0.8)!important;
	}
	
	.h2-2 {
		font-size: calc(45px * 0.8)!important;	
	}

	.h3-1 {
		font-size: calc(32px * 0.8)!important;	
	}
	
	.h3-2 {
		font-size: calc(24px * 0.8)!important;	
	}
	
	.h4-1 {
		font-size: calc(19px * 0.8)!important;	
	}
}

/*___【共通】テキスト___________________________________________________________________*/
.txt-b {
	font-weight: 600!important;
}

.txt-t {
	font-weight: 300!important;	
}

.txt-lb {
	color: #3DA3DC;
}

.txt-w {
	color: #FFF;
}

.txt-f {
	text-shadow:2px 2px 0 #FFF, -2px -2px 0 #FFF, -2px 2px 0 #FFF, 2px -2px 0 #FFF, 0px 2px 0 #FFF,  0-2px 0 #FFF, -2px 0 0 #FFF, 2px 0 0 #FFF;
}

.txt-1, .txt-2, .txt-3, .txt-4, .txt-5, .txt-6 {
/* 	font-weight: 300; */
	letter-spacing: 0.18em;	
}

.txt-1 {
	font-size: 25px!important;
}

.txt-2 {
	font-size: 20px!important;
}

.txt-3 {
	font-size: 18px!important;
}

.txt-4 {
	font-size: 15px!important;
}

.txt-5 {
	font-size: 13px!important;
}

.txt-6 {
	font-size: 11px!important;	
}

@media screen and (max-width: 1023px){
	.txt-1 {
		font-size: calc(25px * 0.9)!important;
	}

	.txt-2 {
		font-size: calc(20px * 0.9)!important;
	}

	.txt-3 {
		font-size: calc(18px * 0.9)!important;
	}

	.txt-4 {
		font-size: calc(15px * 0.9)!important;
	}

	.txt-5 {
		font-size: calc(13px * 0.9)!important;
	}

	.txt-6 {
		font-size: calc(11px * 0.9)!important;	
	}
}

@media screen and (max-width: 781px){
	.txt-1 {
		font-size: calc(25px * 0.85)!important;
	}

	.txt-2 {
		font-size: calc(20px * 0.85)!important;
	}

	.txt-3 {
		font-size: calc(18px * 0.85)!important;
	}

	.txt-4 {
		font-size: calc(15px * 0.88)!important;
	}

	.txt-5 {
		font-size: calc(13px * 0.88)!important;
	}

	.txt-6 {
		font-size: calc(11px * 0.88)!important;	
	}
}

@media screen and (max-width: 480px){
	.txt-1 {
		font-size: calc(25px * 0.8)!important;
	}

	.txt-2 {
		font-size: calc(20px * 0.8)!important;
	}

	.txt-3 {
		font-size: calc(18px * 0.8)!important;
	}

	.txt-4 {
		font-size: calc(15px * 0.85)!important;
	}

	.txt-5 {
		font-size: calc(13px * 0.85)!important;
	}

	.txt-6 {
		font-size: calc(11px * 0.88)!important;	
	}
}

/*___【共通】スペンサー____________________________________________________________________*/
@media screen and (max-width: 1023px){
	.s1{
		height: 175px!important;
	}
	
	.s2 {
		height: 150px!important;
	}

	.s3 {
		height: 125px!important;		
	}
	
	.s4 {
		height: 100px!important;		
	}
	
	.s5 {
		height: 75px!important;				
	}
	
	.s6{
		height: 50px!important;				
	}
	
	.s7{
		height: 25px!important;						
	}
}

@media screen and (max-width: 781px){	
	.s1{
		height: calc(175px * 0.9)!important;
	}
	
	.s2 {
		height: calc(150px * 0.9)!important;
	}

	.s3 {
		height: calc(125px * 0.9)!important;		
	}
	
	.s4 {
		height: calc(100px * 0.9)!important;		
	}
	
	.s5 {
		height: calc(75px * 0.9)!important;				
	}
	
	.s6{
		height: calc(50px * 0.9)!important;				
	}

	.s7{
		height: calc(25px * 0.9)!important;				
	}
}

@media screen and (max-width: 480px){
	.s1{
		height: calc(175px * 0.7)!important;
	}
	
	.s2 {
		height: calc(150px * 0.7)!important;
	}

	.s3 {
		height: calc(125px * 0.7)!important;		
	}
	
	.s4 {
		height: calc(100px * 0.7)!important;		
	}
	
	.s5 {
		height: calc(75px * 0.7)!important;				
	}
	
	.s6{
		height: calc(50px * 0.7)!important;	
	}
	
	.s7{
		height: calc(25px * 0.7)!important;				
	}
}



/*全体のレイアウト__________________________________________________________________________________*/
header.article-header.entry-header {
	display: none;
}

#header-container{
	max-width: 1400px;
	background-color: #FFFFFF00;
	margin: 12px auto;
	border: 0;
	margin-top: 0;
}

.content {
    margin-top: 0;
}

.entry-content{
    margin-top: 0;
	margin-bottom: 0;
}

#main{
	border: 0;
	background-color: #FFF;
	overflow: hidden;
}

#header-container{
	margin-top: 0;
}

#header{
	display: none;
}

#container{
	background-color: #FFF;	
}

#navi{
	background-color: #FFF;	
}

.wrap{
	width: 100%;
}

body, pre, div, p{
/* 	font-family: 'Kumbh Sans', sans-serif!important; */
	letter-spacing: 0.15em;
}


/*フッターのレイアウト______________________________________________________________________________*/
#breadcrumb, .footer-bottom-logo{
	display: none;
}

#footer{
	max-width: 1400px;
	background-color: #FFFFFF00;
	margin: 0 auto;
	border: 0;
}

/*gpのレイアウト____________________________________________________________________________________*/
.g1{
	background-color: #FFF;
	padding-top: 30px;
	width: 90%;
	margin: 0 auto;
	max-width: 1400px;
}

.g2, .g3, .g4, .g5 {
	background-color: #FFF;
	margin: 0 auto;
	max-width: 1400px;
	width: 90%;
} 

div.g2_c1:not(.is-not-stacked-on-mobile)>div.g2_c1-1{
	flex-basis: min(40%, 450px)!important;
}		

.g2_c1-1_img-1 {
	position: relative;
}

.g2_c1-1_img-1::after{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background-image: linear-gradient(90deg, transparent 0 60%, #FFF 100%);
}

.g2_c1-1_img-1 img{
	margin: 0 auto;
}

.g3_g1{
	position: relative;
	background: linear-gradient(135deg, #399EDA, #58EAE2)
}

.g3_g1_c1{
	padding-top:0px;
	padding-bottom: 0px;	
	padding-left: 50px;
	padding-right: 50px;
	gap: 0!important;
}


.g3_g1_g1{
	position: absolute;
	top: 3.5%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.g3_g1_c1-1_g1, .g3_g1_c1-2_g1, .g3_g1_c1-3_g1 {
	position: relative;
	width: 140%;
 	right: 25px; 
}

.g3_g1_c1-1_g1_txt-1, .g3_g1_c1-2_g1_txt-1, .g3_g1_c1-3_g1_txt-1{
	position: absolute;
	top: 55%;
	left: 45%;
	transform: translate(-50%, -50%);	
}

.g3_g1_img-1{
	position: absolute;
	top: 80%;
	left: 10%;
	transform: translate(-50%, -50%);	
	width: min(30vw ,450px);
	height: min(30vw ,450px);
}




@media screen and (max-width: 1023px){
	.g1, .g2, .g4, .g5{
		width: 90%;
	}
	
	.g3 {
		width: 98%;		
	}
}

@media screen and (max-width: 781px){	
	.g2_g1 {
		margin: 0 auto;
		width: 80%;
		max-width: 500px;
	}
	
	.g1_c1-1_g1 {
		width:  70%;
	}
	
	.g3_g1_g1{
		top: 1.5%;
	}

	.g3_g1_c1{
		padding-top: 75px;
		padding-bottom: 30px;	
		padding-left: 0px;
		padding-right: 0px;
	}	
	
	.g3_g1_c1-2_s1, .g3_g1_c1-3_s1 {
		height: 0!important;
	}
	
	
	.g3_g1_c1-1_g1, .g3_g1_c1-2_g1, .g3_g1_c1-3_g1 {
		width: 65%;
	 	right: 0; 
	}
	
	.g3_g1_c1-2_g1 {
		margin-right: 50px;
		margin-left: auto;
	}

	.g3_g1_c1-1_g1_txt-1, .g3_g1_c1-2_g1_txt-1, .g3_g1_c1-3_g1_txt-1{
		width: 70%;
		left: 55%;
	}

	.g3_g1_img-1{
		top: 90%;
		left: 25%;
		transform: translate(100%, -50%);
		width: min(40vw ,300px);
		height: min(40vw ,300px);		
	}
}

@media screen and (max-width: 599px){	
	.g3_g1_c1-1_g1_txt-1, .g3_g1_c1-2_g1_txt-1, .g3_g1_c1-3_g1_txt-1{
		left: 60%;
	}
}

@media screen and (max-width: 480px){
	.g3_g1_c1-1_g1_txt-1, .g3_g1_c1-2_g1_txt-1, .g3_g1_c1-3_g1_txt-1{
		left: 65%;
	}
}



/*レスポンシブデザイン用のメディアクエリ__________________________________________________________________________________________________________________________________________________________________________________________________________*/
/*834px以下_______________________________________________________________________________________________________________________*/
@media screen and (max-width: 1024px){
	/*全体のレイアウト__________________________________________________________________________________*/
	
	#header-container{
		display: none;
	}
	
	.entry-content{
		padding-top: 10px;
	}

	#main{
		padding: 0;
	}
	
	/*フッターのレイアウト______________________________________________________________________________*/
	#breadcrumb, .footer-bottom-logo{
		display: none;
	}

}

/*___モバイルメニュー___________________________________________________________________*/
.slicknav_menu {
	background: none;
 	position: absolute; 
	z-index: 1;
	width: 100%;
	height: 0;
	padding: 0;
}

.slicknav_nav {
	background: #fff;
	position: absolute;
	z-index: -1;
	width: 100%;
	height: 100vh;
	padding-top: 50px;
}

.slicknav_menutxt{
	display: none!important;
}

.slicknav_menu .slicknav_icon{
	margin: 0 auto;
	float: none;
}

.slicknav_nav li{
	width: 210px;
	margin: 0 auto;
}

.slicknav_nav a{
	color: gray;
	font-size: 15px;
	letter-spacing: 0.15em;	
	font-weight: 300;
	margin: 40px 15px;
}

 .slicknav_btn{
	padding: 13px 10px 14px 10px;
	background-color: #FFFFFF00;
}

.slicknav_icon-bar{
	background-color: #000!important;
	box-shadow: 0 0 0 #fff!important;
	width: 35px!important;
} 

/*アクション*/
.slicknav_icon, .slicknav_icon span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}

.slicknav_icon {
  position: relative;
  width: 35px;
  height: 20px;
  border: none;
  appearance: none;
  cursor: pointer;
}

.slicknav_icon span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #000;
  border-radius: 4px;
}

.slicknav_icon span:nth-of-type(1) {
  top: 0;
}

.slicknav_icon span:nth-of-type(2) {
  top: 6px;
}

.slicknav_icon span:nth-of-type(3) {
  bottom: 0;
}

.slicknav_btn.active span:nth-of-type(1) {
  transform: translateY(9px) rotate(-315deg);
}

.slicknav_btn.active span:nth-of-type(2) {
  background-color: transparent!important;
}

.slicknav_btn.active .slicknav_icon span:nth-of-type(3) {
  transform: translateY(-9px) rotate(315deg);
}

/*___問い合わせ___________________________________________________________________*/
.contact7 dt,
.search-edit, input[type="text"], input[type="email"], input[type="tel"], input[type="time"], select ,textarea,
.ct-h2, .ct-h3, .privacy-box, .contact-page, .btn_contact7 input {
	letter-spacing: 0.15em;	
}

.contact7 dd {
	margin: 0 0 30px 0;
	margin-left: 35%;
}

.contact7 dt {
	font-size: 13px;
	font-weight: 300;
	float: left;
	clear: left;
	width: 35%;
	padding: 5px 10px 5px 0;
}
 
/* 必須マーク */
.contact7 .must {
	background: #FF1A00;
}
 
/* 任意マーク */
.contact7 .optional {
	background: #999;
}

.search-edit, input[type="text"], input[type="email"], input[type="tel"], input[type="time"], select ,textarea {
    font-size: 13px;
	font-weight: 300;
}

.ct-h2 {
	font-size:20px!important;
	font-weight: 400!important;
}

.ct-h3{
	font-size: 18px!important;
	font-weight: 400!important;
}

.privacy-box{
	font-size: 10px;
	font-weight: 300;
}

h2.privacy-box_head{
	padding: 13px;
	text-align: center;
	background-color: #FFF;
}

.contact-page{
	width: 80%;
	margin: 0 auto;
	font-size: 13px;
	font-weight: 300;
}

.contact7 {
	margin-top: 0px;
	max-width: 100%;
	box-sizing: border-box;
}
 
.contact7 .must, .contact7 .optional {
	color: #FFF;
	border-radius: 3px;
	font-size: 13px;
	margin-left: 10px;
	padding: 3px 10px;
	letter-spacing: 2px;
}

.btn_contact7 {
	width: 35%;
	margin: 0 auto;
}

.btn_contact7 input {
 	background-color: #3DA3DC;
	color: #FFF;
	font-size: 17px;
	font-weight: 400;
	border-radius: 10px;
	border: 0;
	box-shadow: 0 0 4px gray;
	transition-duration: 0.7s;
}

.btn_contact7 input:hover {
 	background-color: #FFF;
	color: #3DA3DC;
	border: 1px solid #3DA3DC;
	box-shadow: 0 0 8px gray;
}

@media screen and (max-width: 1023px){
	.contact7 dd {
		margin-left: 0%;
	}

	.contact7 dt {
		width: 100%;
	}

	.ct-h2{
		font-size:16px!important;
	}

	.ct-h3{
		font-size: 14px!important;
	}
	
	.contact-page{
		width: 90%;
	}

	.btn_contact7 {
		width: 50%;
	}
}