/*
Theme Name: Sakura
Version: 1.11.1
Template: genesis_tcd103
*/
.sp{
	display: none;
}
.flex{
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.flex_box{
	width: 50%;
	padding: 20px;
	box-sizing: border-box;
}
.flex_box img{
	max-width: 100%;
}
.flex_w40{
	width: 40%;
}
.flex_w60{
	width: 60%;
}
.text-center{
	text-align: center;
}
.middle{
	align-content: center;
}
.flex_box ul li{
	margin-bottom: 15px;
	font-size: 0.85em;
    line-height: 1.4em;
}
.flex_box ul li strong {
    display: block;
    color: #f882bf;
    margin-bottom: 5px;
}
#footer_inner h4{
	font-size: 1.2em;
	margin-bottom: 30px;
}

#header_slider_content{
	height: 45%;
}
#header_slider_content .content{
	height: 108%;
}
.cb_free_space{
	padding: 100px 0;
}
.large_headline span{
	font-size: 0.8em;
}
#bread_crumb{
	margin: 38px auto 80px;
}
#page_header .design_header{
	margin: -10px auto 100px;
}
#page_detail .midimg{
	display: block;
	margin: 15px auto;
	width: 400px;
	max-width: 100%;
}
#page_detail h2{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 15px !important;
}
#page_detail h2:before {
	content: '';
	position: absolute;
	width: 150px;
	height: 2.5em;
	border-radius: 50%;
	border: 2px solid #F48FB1;
	border-left-color: transparent;
	border-right-color: transparent;
}
#page_detail h2.moremargin{
	margin-top: 120px !important;
}
#page_detail h3{
	font-size: 1.2em;
    position: relative;
    display: block;
    margin: 10px 0 40px;
    text-align: center;
}
#page_detail h3:before{
    content: '';
    position: absolute;
    bottom: -8px;
    display: inline-block;
    width: 100px;
    height: 3px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: black;
    border-radius: 2px;
}
#page_detail p{
    line-height: 2;
    margin: 0 0 2em 0;
}
#page_detail .flex_case{
	width: 24%;
	box-sizing: border-box;
	margin-bottom: 40px;
}
#page_detail .flex_case .case_box{
	aspect-ratio: 1/1;
	background-size: cover;
	background-position: center;
}
#page_detail .flex_case a{
	cursor: poitner;
	transition: 0.4s;
}
#page_detail .flex_case a:hover{
	opacity: 0.7;
	text-decoration: none;
}
#page_detail .flex_case h4{
	margin: 0;
	font-size: 1em;
	color: #000;
	margin-top: 10px;
}
#page_detail .flex_case h5{
	font-size: 0.9em;
	color: #777;
	margin: 0;
}

#philosophy{
	margin: 60px auto 0;
	width: 700px;
	max-width: 100%;
}
.flex_about{
	width: 32%;
	box-sizing: border-box;
	text-align: center;
}
.flex_about img{
	border-radius: 50%;
	margin-bottom: 5px;
}
#page_detail .flex_about p{
	margin-bottom: 0;
}
.flex_about p span{
	color: #f882bf;
	font-weight: bold;
}
#page_table tr td div{
	margin-bottom: 15px;
}

@media screen and (max-width: 1100px){
	#header_slider_wrap {
	    height: calc(100vh - 200px);
	}
}
@media screen and (max-width: 800px){
	body:not(.show_sidebar) #page_header.large_height{
		height: 140px;
	}
	.cb_free_space{
		padding: 40px 0;
	}
	#bread_crumb{
		margin: 0 auto;
	}
	#page_detail h2.moremargin{
		margin-top: 70px !important;
	}
	#page_table tr th{
		min-width: 90px;
	}
}
@media screen and (max-width: 767px){
	.sp{
		display: block;
	}
	.pc{
		display: none;
	}
	#header_slider_content .content{
		height: 100%;
	}
	.flex,
	.flex_box,
	.flex_w40,
	.flex_w60{
		width: 100%;
		padding: 0px;
	}
	#page_detail .flex_case{
		width: 48%;
	}
	#footer_inner h4{
		font-size: 1.1em;
	}
	.middle{
		text-align: center;
	}
	.middle img{
		margin-bottom: 30px;
	}
	#page_detail p.text-center{
		text-align: left;
	}
	.flex_about{
		width: 33%;
	}
	#page_detail .flex_about p{
		font-size: 0.9em;
	}
}