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

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/
@import url('https://fonts.googleapis.com/css2?family=Karla:ital,wght@0,200..800;1,200..800&family=Shippori+Mincho:wght@400;500;700&display=swap');

html,
body{
	overflow-x:hidden;
}

.home .article h1,.page .date-tags,.author-info,.home .entry-title{
	display:none;
}

body .container{
	background: #fff;
	
	font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-style: normal;

}

/*矢印の設定*/

/*戻る、次へ矢印の位置*/
.slick-prev, 
.slick-next {
    position: absolute;/*絶対配置にする*/
  z-index: 3;
    top: 50%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 3px solid #fff;/*矢印の色*/
    border-right: 3px solid #fff;/*矢印の色*/
    height: 25px;
    width: 25px;
}

.slick-prev {/*戻る矢印の位置と形状*/
    left:32px;
    transform: rotate(-135deg);
}

.slick-next {/*次へ矢印の位置と形状*/
    right:32px;
    transform: rotate(45deg);
}

.wrapper ul {
	padding-left:0;
	margin-bottom:8px;
}
.slick-slide {
    margin: 0 4px;
}

.custom-post-list {
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.work-item {
	width: calc(50% - 16px);
	padding: 24px;
	background-color: #fafafa;
	margin-bottom: 40px;
}
.work-item-title {
	font-size: 24px;
    margin-bottom: 16px !important;
    color: #26472d;
    margin-bottom: 16px;
}
.work-item-text {
	max-width: 700px;
	color: #26472d;
        margin: 16px auto 16px !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
/* 【初期】 */
.home .entry-content{
	margin-top:0;
}
.flexslider,
.metaslider .flexslider,
.home .content,
.home .entry-content,
.home .article,
.footer,
.copyright{
	padding:0!important;
	margin:0!important;
}
.footer-bottom,
.tagline,
.widget-content-bottom,
.content-bottom{
	margin:0!important;
}

.article h2, .article h3, .article h4{
	margin:0;
	padding:0;
	background:none;
	border:none;
}
.article p{
	margin:0;
}


/* 【リンクタグ設定】 */
.entry-content a{
	display:block;
	text-decoration:none;
}
.breadcrumb a{
	display:inline-block;
}
.pager-post-navi a.prev-post,
.pager-post-navi a.next-post{
	display:flex;
}

a{
	outline:none;
}
/* ※↑firefoxリンククリックでボーダー削除 */


/* 【テーブルスタイル：初期】 */
.container table tr,
.container table tr:nth-of-type(2n+1),
.container table tr th,
.container table tr td{
	background:none;
	
}


/* 【ウジェット：コンテンツ下部】 */
.content-bottom-in{
	width:100%;
}


/* 【投稿ページ：アイキャッチ・P】 */
.eye-catch{
	margin: auto;
}
.eye-catch img{
	width:100%;
	max-width: 800px;
}
.single p{
	margin-bottom:1em;
}



/* 【問い合わせ等送信ボタン】 */
.wpcf7-form p{
	margin-bottom:1em;
}
.wpcf7 .wpcf7-submit:disabled{
	background-color: #eee;
	color:#303030;
}

input[type="submit"]{
	background-color:#26472D;
	color:#fff;
}





/* 【共通css】 */
.width-1200{
	width:100%;
	max-width:1200px;
	margin:auto;
}
.width-1300{
	max-width:1300px;
	margin:auto;
	padding-left:1rem;
	padding-right:1rem;
}

.fl{
	display:flex;
	flex-wrap:wrap;
}
.fl-R{
	flex-direction:row-reverse;
}
.fl-margin{
	margin:0;
}
.fl-item{
	width:calc((100% / 2) - 1em);
	margin:0.5em;
}
.fl-item_2kotei{
	width:calc((100% / 2) - 1em);
	margin:0.5em;
}

.hissu{
	color:red;
	font-size:.8em;
}

.center{
	text-align:center;
}


.br_min600{
		display:none;
	}
@media screen and (min-width:600px){
	.br_min600{
		display:block;
	}
	.br_min600_none{
		display:none;
	}
}

/* 【ボタン】 */
.main-but{
	width:80%;
	max-width:300px;
	margin:auto;
	background:#26472D;
	color:#fff;
	padding:0.8rem 1rem;
	position: relative;
  	z-index: 2;
	transition:.6s;
}
.main-but.white{
	background:#fff;
	color:#000;
}
.main-but::before{
	content:"";
	width: 100px;
	height: 1px;
	background: #fff;
	position: absolute;
	top: 50%;
	right: 2rem;
	transform: translateY(-50%);
	transition:.6s;
}
.main-but.white::before{
	background:#000;
}
.main-but.short::before{
	width: 50px;
}

.main-but:hover{
	color:#fff;
}
.main-but.white:hover{
	color:#000;
}

.main-but:hover::before{
	right: 1rem;
}


/* 【タイトル】 */
.main-title{
	font-family: "Karla", sans-serif;
	font-style: normal;
	position: relative;
	font-size: 2rem !important;
	font-weight: normal !important;
	margin-bottom: 1.5rem !important;
}
.main-title span{
	font-family: "Shippori Mincho", serif;
	font-weight: 500;
	font-style: normal;
	position: absolute;
	font-size: 1rem;
	top: -1.3rem;
	left: 0;
}

@media screen and (min-width:834px){
	.main-title{
		font-size: 3rem !important;
	}
}



/* 【本文の幅調節：画面幅に合わせる】 */
/* TOP以外 */
#content-in{
	width:100%;
	max-width:1000px;
	margin:auto;
}

/* TOP */
.home #content-in{
	width:100%;
	max-width:100%;
}
.home main{
	background:transparent;
}
.home .main{
	padding:0;
	border:none;
}


/* 【お問い合わせエリア】 */
#contact-area{
	display: block;
	background: linear-gradient(90deg, rgb(38, 71, 45) 30%, rgba(38, 71, 45, 0.3)),url(https://ohshima-souen.com/wp-content/uploads/2024/07/IMG_1124-scaled.jpg);
	background-size: cover,cover;
	background-repeat: no-repeat;
	background-position: center,center;
	position: relative;
/* 	margin-bottom: calc(10vw + 10px); */
	padding: 8rem 0;
	
	text-decoration:none;
	color:#fff;
	text-align:center;
}
#contact-area::after {
	content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  border-bottom: 5vw solid #fff;
  border-right: 50vw solid transparent;  
}
#contact-area::before {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  border-bottom: 5vw solid #fff;
  border-left: 50vw solid transparent;
}

#contact-area .main-title span{
	left: 50%;
	transform: translateX(-50%);
}
#contact-area img{
	width: 20%;
  	max-width: 50px;
}


/* 【ヘッダー】 */
@media screen and (min-width:1024px){
	#header-container-in .H-menu-01{
		background:#fff;
		position:relative;
		transition:.6s;
	}
	#header-container-in .H-menu-02{
		background:#26472D;
		position:relative;
		transition:.6s;
	}
	#header-container-in .H-menu-01 a{
		color:#000;
		position:relative;
	}
}
@media screen and (min-width:1340px){
	#header-container-in{
		width:100%;
	}
	#header-container {
		height: 100px;
	}
	#header-container-in .hlt-tm-right .navi-in > ul{
		height: 100px;
	}
	#header-container-in .navi-in > ul li{
		height: 100px;
		line-height: 100px;
	}

	#header-container-in .H-menu-01 a .caption-wrap,
	#header-container-in .H-menu-02 a .caption-wrap{
		position: relative;
	}
	#header-container-in .H-menu-01 a .caption-wrap::before,
	#header-container-in .H-menu-02 a .caption-wrap::before{
/* 		font-family: 'Font Awesome 6 Free';
		font-weight: 900;
		content: "\f304"; */
		content:"";
		background:url(https://ohshima-souen.com/wp-content/uploads/2024/07/pen.png) center no-repeat;
		background-size:contain;
		position: absolute;
/* 		top: -.8rem; */
		top: 1.3rem;
		left: 50%;
		transform: translateX(-50%);
/* 		font-size: 1.5rem; */
		width: 30px;
    	height: 30px;
	}
	#header-container-in .H-menu-02 a .caption-wrap::before{
		background:url(https://ohshima-souen.com/wp-content/uploads/2024/07/shop-w.png) center no-repeat;
		background-size:contain;
	}
	#header-container-in .H-menu-01 a .caption-wrap .item-label,
	#header-container-in .H-menu-02 a .caption-wrap .item-label{
		position: absolute;
		top: 1rem;
		left: 50%;
		transform: translateX(-50%);
	}
	
	#header-container-in .H-menu-01:hover{
		background:#eee;
	}
	#header-container-in .H-menu-01 a:hover{
		color:#000;
	}
	#header-container-in .H-menu-02:hover{
		opacity:.8;
	}
}

/* 【モバイル時のheader色】 */
.mobile-header-menu-buttons.mobile-menu-buttons .menu-button {
  color: #fff;
  background-color: #000;
}



/* 【フッター】 */
#F-area{
	background:#000;
	color:#fff;
	padding:8rem 0 3rem;
}
#F-area a{
	display:block;
	text-decoration:none;
}

#F-area .box{
	width: 100%;
  max-width: 400px;
  margin: auto;
}

#F-area .access-area{
	margin-bottom:2rem;
}
#F-area .access-area img{
	width:45%;
	max-width:300px;
	margin:0 auto 1.5rem auto;
	display:block;
}
#F-area .access-area p:not(:last-child){
	margin-bottom:1rem;
}

#F-area .menu-area a{
	padding:0.5rem 1rem 0.5rem 1.5rem;
	border-bottom:solid 1px #fff;
	color:#fff;
	position:relative;
/* 	width: 100%;
  	max-width: 400px; */
	z-index:0;
}
#F-area .menu-area a::before{
	content:"";
	background:#26472D;
	width: 5px;
  	height: 60%;
	position:absolute;
	top:50%;
	left:0.5rem;
	transform:translateY(-50%);
	z-index:-1;
	transition:.6s;
}

@media screen and (min-width:834px){
	#F-area .box{
		display: grid;
		max-width: 100%;
		grid-template-columns: repeat(3, 1fr);
		grid-column-gap: 1rem;
	}
	#F-area .access-area img{
		margin:0 auto 1.5rem 0;
	}
	#F-area .menu-area a{
		border-bottom:none;
		margin-bottom:0.5rem;
	}
	#F-area .menu-area a::before{
		height:70%;
	}
	#F-area .menu-area a:hover::before{
		width: 100%;
	}
}
@media screen and (min-width:1200px){
	#F-area .menu-area{
		margin-left:3rem;
	}
}


/* 【テーブル】 */
.table-01 table td:nth-of-type(1){
	width:25%;
	background:#26472D;
	color:#fff;
	border: solid 2px #fff;
  	text-align: center;
}



/* *****************************************************
TOP
***************************************************** */

.top_sec00{
	margin:0;
	position:relative;
}

.sec-about{
	margin-bottom:2rem;
}

/* -- */
#Main-image-area{
	position:relative;
}
#Main-image-area .text{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	color:#fff;
	padding:1rem;
	font-size: 1.4rem;
  letter-spacing: 0.1rem;
}
#Main-image-area .text .big{
	font-size: 1.8rem;
}

@media screen and (min-width:834px){
	#Main-image-area .text{
		letter-spacing: 0.2rem;
		right: 0;
		font-size: 2rem;
	}
	#Main-image-area .text .big {
		font-size: 2.5rem;
	}
}
@media screen and (min-width:1200px){
	#Main-image-area .text{
		left:50%;
	}
}


/* -- */
.top_sec01{
	padding:5rem 0;
}
.top_sec01 .text-area{
	margin-bottom:3rem;
}
.top_sec01 .text-area p:not(:last-child){
	margin:0 0 2rem 0;
}
@media screen and (min-width:834px){
	.top_sec01{
		padding:12rem 0;
	}
}


/* -- */
.top_sec02{
	padding:5rem 0;
}

.top_sec02 .img-area{
	margin-left: -1rem;
	position: relative;
  	z-index: 2;
}
.top_sec02 .img-area img{
	width:70%;
	max-width: 400px;
}

.top_sec02 .text-area{
	position: relative;
	color: #fff;
	background: #26472D;
	padding: 8rem 0 5rem 3.5rem;
	margin-top: -5rem;
}
.top_sec02 .text-area::before{
	content: "";
	width: 100vw;
	height: 100%;
	background: #26472D;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}
.top_sec02 .text-area::after{
	content:"";
	width:100vw;
	height:100%;
	border-bottom:solid 1px #fff;
	border-left: solid 1px #fff;
	position:absolute;
	bottom:2rem;
	left:2rem;
	z-index:1;
}

@media screen and (min-width:834px){
	.top_sec02{
		padding:13rem 0 8rem;
	}
	.top_sec02 .img-area img {
		position: absolute;
		bottom: -22rem;
		left: 0;
	}
	.top_sec02 .text-area {
		background: transparent;
		margin-top: -5rem;
		padding: 8rem 0 8rem 430px;
	}
	.top_sec02 .text-area::before {
		left: 0;
		left: 20rem;
	}
	.top_sec02 .text-area::after {
		bottom: 2rem;
		left: 2rem;
		bottom: 4rem;
		left: 25rem;
	}
	
	.top_sec02 .main-but{
		margin:0;
	}
}
@media screen and (min-width:1200px){
	.top_sec02{
		padding:20rem 0 13rem;
	}
	.top_sec02 .img-area img{
		max-width: 540px;
	}
	.top_sec02 .text-area {
		padding: 8rem 0 8rem 580px;
	}
}


/* -- */
.top_sec03{
	padding:7rem 0;
	background:#000;
	color:#fff;
}
.top_sec03::before{
	content:"";
	width:100%;
	height:100%;
	border-top:solid 1px #fff;
	border-right: solid 1px #fff;
	position:absolute;
	top:2rem;
	right:1rem;
	z-index:0;
}

.top_sec03 .box{
	display: grid;
	grid-column-gap: 1rem;
	grid-row-gap: 0.5rem;
	padding-right: 1rem;
	grid-template-columns: repeat(2, 1fr);
	
	margin-bottom: 2rem;
	position:relative;
	z-index:1;
}
.top_sec03 .box .item01{
	grid-column: 1 / 3;
	grid-row: 1 / 2;
}
.top_sec03 .box .item02{
	grid-column: 1 / 2;
	grid-row: 2 / 3;
}

.top_sec03 .box .box-in{
	display: grid;
	grid-column-gap: 1rem;
	grid-row-gap: 0.5rem;
	grid-template-columns: repeat(2, 1fr);
	grid-column: 1 / 3;
}

@media screen and (min-width:834px){
	.top_sec03 {
		padding: 10rem 0 6rem;
	}
	.top_sec03::before{
		top: 4.5rem;
  		right: 3rem;
	}
	
	.top_sec03 .box{
		padding-right:0;
	}
	.top_sec03 .box .item01 {
		grid-column: 1 / 5;
		grid-row: 1 / 2;
	}
	
	
	.top_sec03 .box .box-in{
		display: grid;
		grid-column-gap: 1rem;
		grid-row-gap: 0.5rem;
		grid-template-columns: repeat(4, 1fr);
/* 		grid-column: 1 / 4; */
	}
}

@media screen and (min-width:1200px){
	.top_sec03 {
		padding: 13rem 0 7rem;
	}
	.top_sec03 .box {
		grid-template-columns: repeat(3, 1fr);
	}
	.top_sec03 .box .item01{
		grid-column: 1 / 2;
		grid-row: 1 / 2;
	}
	.top_sec03 .box .item02{
		grid-column: 2 / 3;
		grid-row: 1 / 2;
	}
	.top_sec03 .box .item03{
		grid-column: 3 / 4;
		grid-row: 1 / 2;
	}
	.top_sec03 .box .box-in{
		display: grid;
		grid-column-gap: 1rem;
		grid-row-gap: 0.5rem;
		grid-template-columns: repeat(4, 1fr);
		grid-column: 1 / 4;
	}
}


/* -- */
.top_sec04{
	padding:7rem 0;
}
.top_sec04::before{
	content:"";
	background:url(https://ohshima-souen.com/wp-content/uploads/2024/07/oshima_logo_touka.png) center no-repeat;
	background-size:contain;
	width: 70%;
	height: 0;
	padding-top: 40.61068%;
	position: absolute;
	top: 9rem;
	left: -6rem;
	z-index:-1;
}
.top_sec04 .img-area img{
	width: 60%;
  margin: 0 -1rem 0 auto;
  display: block;
}
.top_sec04 .text-area{
	margin-top: -3rem;
}

@media screen and (min-width:600px){
	.top_sec04::before{
		width: 50%;
		padding-top: 29.00763%;
		top: 13rem;
		left: -4rem;
	}
}

@media screen and (min-width:834px){
	.top_sec04{
		padding:13rem 0;
	}
	.top_sec04::before{
		display:none;
	}
	.top_sec04 .box{
		display: flex;
		max-width: 900px;
		margin: auto;
		justify-content: space-between;
	}
	.top_sec04 .img-area{
		width: 45%;
	}
	.top_sec04 .img-area img {
		width: 100%;
		margin: 0;
	}
	.top_sec04 .text-area {
		width: 45%;
		margin: auto;
	}
}



/* *****************************************************
固定ページ
***************************************************** */

.page #main {
	margin-top: 0;
	padding-top: 0;
	border: none;
}
.page #content {
	margin-top: 0;
}

.page .entry-content{
	margin-top:5rem;
}



.entry-title{
	position:relative;	
	padding: 5rem 0 8rem;
	z-index:0;
	margin-top: 0;
	color: #fff;
	font-size: 1.3rem;
	font-weight: normal !important;
}
.entry-title::before{
	content:"";
	background:#26472D;
	width:100vw;
	height:100%;
	position:absolute;
	top:0;
	left:50%;
	transform:translateX(-50%);
	z-index:-1;
}
.entry-title::after{
	content: "";
	position: absolute;
	bottom: 5rem;
	left: 0;
	font-size: 2.5rem;
	font-weight: 500;
	font-family: "Karla", sans-serif;
}

@media screen and (min-width:834px){
	.entry-title::after{
		bottom: 4.5rem;
		font-size: 3rem;
	}
}


/* 会社概要 ********************************************/
.page-id-245 .entry-title::after{
	content: "ABOUT";
}




/* ご利用までの流れ ************************************************/
.page-id-126 .entry-title::after{
	content: "USAGE FLOW";
}
.flow-item{
	display:flex;
	position: relative;
	z-index:0;
	margin-bottom:0;
}
.flow-item:not(:last-child)::before{
	content:"";
	/*   border-left:solid 2px pink; */
	background: #26472D;
	position: absolute;
	top:0;
	left:35px;
	width: 2px;
	height: 100%;
	z-index:-1;
}

.flow-item .number{
	background:#26472D;
	width:70px;
	height:70px;
	border-radius:100px;
	text-align:center;
	/*   line-height:0rem; */
	display: flex;
	justify-content: center;
	flex-direction: column;

	border: solid 6px #fff;
	color:#fff;
}
.flow-item .number p{
	margin:0;
}
.flow-item .number p:nth-of-type(1){
	font-size:.8rem;
	line-height:.8rem;
}
.flow-item .number p:nth-of-type(2){
	font-size:1.3rem;
	line-height:1.3rem;
}


.flow-item .text{
	padding: 20px 0 3rem 1rem;
	width: calc(100% - 70px);
	
}
.flow-item .text h2{
	margin-bottom:1.5rem;
}
.flow-item .text p:not(:last-child){
	margin-bottom:1rem;
}

.flow-item .link a {
	margin: 0 auto .5rem 0;
	width: 100%;
}

.flow-item01 .text .txt02{
	font-size:1.5rem;
}

@media screen and (min-width:834px){
	.flow-item:not(:last-child)::before {
		left:50px;
	}

	.flow-item .number {
		width: 100px;
		height: 100px;
	}
	.flow-item .number p:nth-of-type(1) {
		font-size: .9rem;
		line-height: .9rem;
	}
	.flow-item .number p:nth-of-type(2) {
		font-size: 1.6rem;
		line-height: 1.6rem;
	}

	.flow-item .text {
		padding:30px 0 3.5rem 2rem;
		width: calc(100% - 100px);
	}
	.flow-item .link{
		display:flex;
	}
	.flow-item .link a{
		width:80%;
		margin:0 auto 0 0;
	}
}


/* 施工実績 **************************************/
.category-15 .main {
	padding-top:0px;
}

.category-15 .content {
	margin-top:0px;
}

.archive-title {
	position: relative;
  padding: 5rem 0 8rem;
  z-index: 0;
  margin-top: 0;
  color: #fff;
  font-size: 1.3rem;
  font-weight: normal !important;
}



.archive-title::after {
  content: "";
  position: absolute;
  bottom: 5rem;
  left: 0;
  font-size: 2.5rem;
  font-weight: 500;
  font-family: "Karla", sans-serif;
}

.archive-title::after{
	content: "WORKS";
}

@media screen and (min-width:834px){
	.archive-title::after{
		bottom: 4.5rem;
		font-size: 3rem;
	}
}



.archive-title::before{
	content: "";
  background: #26472D;
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}


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

.single .content {
 margin-top:0px;
}

.single .entry-title {
  position: relative;
  padding: 5rem 0 5rem;
  z-index: 0;
  margin-top: 0;
  color: #fff;
  font-size: 2rem;
  font-weight: normal !important;
}

/* 採用情報 ***************************************/
.page-id-130 .entry-title::after{
	content: "RECRUIT";
}
.recruitment h2 {
	font-size: 32px;
    margin-bottom: 40px;
    color: #26472d;
}
.recruitment-info {
	display: flex;
	margin-bottom: 4px;
}
.recruitment-info ul {
	padding-left: 24px;
}

.recruitment-info h4 {
	font-size: 18px;
    color: #26472d;
}


.recruitment-info_title {
	width: 240px;
	display: flex;
    padding: 16px !important;
    background-color: #26472d !important;
    color: #fff;
    text-align: center;
    align-items: center;
    justify-content: center;
	margin-right: 6px !important;
}
.recruitment-info_text {
	flex: 1;
	padding: 24px !important;
    background-color: #f3f3f3;
	margin-bottom: 0 !important;
}

/* お問い合わせ ************************************/
.page-id-26 .entry-title::after{
	content: "CONTACT";
}
.page-id-26 #contact-area{
	display:none;
}

/* プライバシーポリシー ****************************************/
.page-id-3 .entry-title::after{
	content: "PRIVACY POLICY";
}
.page-id-3 .main p{
	margin-bottom:2rem;
}
.page-id-3 .main a{
	display:inline-block;
}

/* 無料お見積り ************************************/
.page-id-274 .entry-title::after{
	content: "FREE QUOTE";
}




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

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
	.recruitment-info {
		flex-direction: column;
		margin-bottom: 16px;
		
	}
	.recruitment-info_title {
		width: 100%;
		margin-right: 0;
		justify-content: flex-start;
	}
	
	.custom-post-list {
	flex-direction: column;
}

.work-item {
	width: 100%;
	margin-bottom: 24px;
}
}


.pc-main{
	display:none;
}
@media screen and (min-width: 600px){
	.sp-main{
		display:none;
	}
	.pc-main{
		display:block;
	}
}


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