@charset "utf-8";
/*
Theme Name:mrp04-child
Template:mrp04
Version: 0.01
*/

/*------------------------
改行位置の調整------------------------*/
@media screen and (min-width: 769px){	
  .br-pc { display:block; }
  .br-sp { display:none; }
}
@media screen and (max-width: 768px){	
  .br-pc { display:none; }
  .br-sp { display:block; }
}

/*カラムの間隔調整
----------------------------*/

.post .column2_50 {
	width:47.5%;
	margin:0 1%;
}
@media only screen and (max-width: 640px) {
	.post .column2_50 {
		width:100%;
		margin:5px 0;
	}
}

/*----------------------
ヘッダー隙間調整
----------------------*/
.mobile #breadcrumb{
margin-top: 60px;
}
.mobile #mainImg{
margin-top: 60px;
}
body.mobile #header .logo{
height: 60px;
}
.mobile #header .logo .mark{
vertical-align: middle;
}


/*----------------------
送信ボタンの幅を広げる
----------------------*/
.wpcf7 .linkBtn {
display:block;
}

/*アレンジ強調枠組み
----------------------------*/
.round {
	border: 2px solid #43aade;
	margin-bottom:15px;
}
.round2 {
	border: 2px solid #de7643;
	margin-bottom:15px;
}
.round3 {
	border: 2px solid #247832;
	margin-bottom:15px;
}
.round4 {
	border: 2px solid #08141a;
	margin-bottom:15px;
}
.round p, .round2 p, .round3 p, .round4 p{
	padding:1em;
}

/*
テキストの背景に画像を敷くアレンジ（1）
*/

#wrapper, #content, .post{
	overflow: visible;
	}
.post {
    background-color: rgba(255,255,255,0);
}
#top_msg {
	position: relative;;
	padding: 30px 0;
	line-height: 1.8;
}
#top_msg::before {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100vw;
	height: 100%;
	margin-left: calc(((100vw - 100%) / 2) * -1);
	margin-right: calc(((100vw - 100%) / 2) * -1);
	background: url(/struct/wp-content/uploads/top01.jpg) no-repeat center center;
	background-size: cover;
	-webkit-background-size: cover;
	content: "";
	z-index: -1;
}

@media (min-width: 641px){
	#top_msg {
		padding: 50px 0;
		text-align: center;
	}
}

/*
テキストの背景に画像を敷くアレンジ（2）
*/

#wrapper, #content, .post{
	overflow: visible;
	}
.post {
    background-color: rgba(255,255,255,0);
}
#top2_msg {
	position: relative;
	margin-bottom: 30px;
	padding: 30px 0;
	line-height: 1.8;
}
#top2_msg::before {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100vw;
	height: 100%;
	margin-left: calc(((100vw - 100%) / 2) * -1);
	margin-right: calc(((100vw - 100%) / 2) * -1);
	background: url(/struct/wp-content/uploads/top02.jpg) no-repeat center center;
	background-size: cover;
	-webkit-background-size: cover;
	content: "";
	z-index: -1;
}
@media (min-width: 641px){
	#top2_msg {
		margin-bottom: 50px;
		padding: 50px 0;
		text-align: center;
	}
}

/*@media only screen and (min-width: 1024px) */
.full_width {
    width: 100vw;
    margin-left: calc((100vw - 100%) / 2 * -1 );
}

/*
テキストの背景に画像を敷くアレンジ（3）
*/

#wrapper, #content, .post{
	overflow: visible;
	}
.post {
    background-color: rgba(255,255,255,0);
}
#top3_msg {
	position: relative;
	margin-bottom: 30px;
	padding: 30px 0;
}
#top3_msg::before {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100vw;
	height: 100%;
	margin-left: calc(((100vw - 100%) / 2) * -1);
	margin-right: calc(((100vw - 100%) / 2) * -1);
	background: url(/struct/wp-content/uploads/top03.jpg) no-repeat center center;
	background-size: cover;
	-webkit-background-size: cover;
	content: "";
	z-index: -1;
}
@media (min-width: 641px){
	#top3_msg {
		margin-bottom: 50px;
		padding: 50px 0;
		text-align: center;
	}
}


/*@media only screen and (min-width: 1024px) */
.full_width {
    width: 100vw;
    margin-left: calc((100vw - 100%) / 2 * -1 );
}

/*------------------------
画像を画面横幅一杯に表示
------------------------*/
/*class="container full_width"で、画面一杯&横並び配置になる*/
.container.full_width {
    width: 100vw;
    margin-left: calc((100vw - 100%) / 2 * -1);
}
/*class="container full_width mobile_verticalで、スマホ時は縦並びに*/
.post .container.full_width.mobile_vertical {
	flex-wrap:wrap;
}
@media (max-width:768px) {
	.post .container.full_width.mobile_vertical .column3_33,
	.post .container.full_width.mobile_vertical .column2_50 {
		width:100%;
	}
}

.post .container .column3_33, .post .container-rwd .column3_33{
	margin:0 auto;
}
.post .container .column3_33 img, .post .container-rwd .column3_33 img{
	margin:0 auto;	
}

.post .container .column2_50, .post .container-rwd .column2_50{
	margin:0 auto;
}
.post .container .column2_50 img, .post .container-rwd .column2_50 img{
	margin:0 auto;	
}

/*------------------------
スマホ時のh1重なり防止
------------------------*/
@media only screen and (max-width: 900px) {
h1.title span, .post h1::before {
font-size: 26px;
}
}

/*------------------------
グローバルメニュー幅調整
------------------------*/
@media only screen and (min-width: 1024px) {
nav#mainNav ul li a {
	padding-left:3rem;
	padding-right:3rem;
}
}/*@media only screen and (min-width: 1024px) */

/*------------------------
投稿一覧ページ見出し修正
------------------------*/
.post4b h2 {
    overflow: hidden;
}
.post h2 {
    overflow: hidden;
}

/*タイトル背景img被り対策
-----------------------------------*/
body.mobile #mainImg,
body.mobile #breadcrumb ,
body.mobile #header + #wrapper,
body.mobile #header + #wrapper-full,
body.mobile #h1Header ,
body.mobile #thumbImg {
margin-top:60px !important;
}

body.mobile.page-template-page-fullthumb #breadcrumb,
body.mobile.page-template-page-nosidebar-fullthumb #breadcrumb,
body.mobile.page-template-page-nosidebar-fullwidththumb #breadcrumb,
body.mobile.page-template-page-fullthumb-h1 #breadcrumb,
body.mobile.page-template-page-nosidebar-fullthumb-h1 #breadcrumb,
body.mobile.page-template-page-nosidebar-fullwidththumb-h1 #breadcrumb {
margin-top:0px !important;
}

/*メイン画像下隙間詰める----------------------------*/
#mainImg {
    padding-bottom: 0;
}
.home #content {
    padding-top: 0;
}
.home .post {
    padding-top: 0;
}

/*カラムの間隔調整
----------------------------*/
.post .column3_33 {
	width:30.5%;
	margin:0 1%;
}
@media only screen and (max-width: 640px) {
	.post .column3_33 {
		width:100%;
		margin:5px 0;
	}
}

/*-----------------------------------
パララックス
-----------------------------------*/
body{
	overflow-x:hidden;
	}
#wrapper, #content, .post{
	overflow: visible;
	}
.greeting h1 {
	font-size: 200%;
	margin-bottom: 2em;
	text-align: center;
	border-width:0;
}
.greeting {
	margin-right: calc(((100vw - 100%) / 2) * -1);
	margin-left: calc(((100vw - 100%) / 2) * -1);
	padding: 0 calc((100vw - 100%) / 2);
	background: url(/struct/wp-content/uploads/top00.jpg) no-repeat center center;
	background-size:cover;
	background-attachment: fixed;
}
.bg-mask { /*背景写真を半透明白にする*/
  height: 100%;
  background: rgba(255,255,255,0.5);
	margin-right: calc(((100vw - 100%) / 2) * -1);
	margin-left: calc(((100vw - 100%) / 2) * -1);
	padding: 0 calc((100vw - 100%) / 2);
}
.greeting .box {
padding:40px 8px;
font-weight:bold;
min-height: 360px;
}
/*表組み文字調整*/
.post table {
	font-size: 100%;
}

/*-----全体の設定-----*/
/*ボタン*/
.btn{
	width: 40%;
	line-height: 3rem;
}
@media only screen and (max-width: 640px){
	.btn{
	width: 75%;
}
}
.btn a{
	color: #ffffff;
    background: #3D0403;
    border: 1px solid #ffffff;
	margin-top: 15px;
    display: block;
    position: relative;
    text-decoration: none;
    text-align: center;
    padding: 5px 15px 5px 15px;
}
.btn a::after{
	display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 0;
    height: 0;
    margin: -3px 0 0 0;
    border-top: 8px solid #ffffff;
    border-left: 8px solid transparent;
    transform: rotate(45deg);
}
.btn a:hover{
	color: #ffffff;
    background: #DBC867;
    border: none;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
  	transition: 0.3s ease-in-out;
}
/*スマホ改行・PC改行しない*/
@media only screen and (min-width: 640px){
	.pc-br{
		display: none;
	}
}
/*PC改行・スマホ改行しない*/
@media only screen and (max-width: 640px){
	.ph-br{
		display: none;
	}
}
/*-----HOME-----*/
/*contents*/
.top-int{
	margin: 5rem auto 5rem;
	line-height: 2rem;
}
.top-con{
	display: flex;
}
.tc-img{
	margin: 0 auto;
	padding: 1rem;
}
.tc-img img{
	width: 100%;
}
@media only screen and (max-width: 640px) {
	.top-int{
	margin: 5rem auto 5rem;
	}
	.top-con{
	display: flex;
	}
	.tc-img{
	margin: 0 auto;
	padding: 0.3rem;
	}
}
/*about*/
	.top-abo{
	margin: 5rem auto 5rem;
	display: flex;
	border: 5px double #E7C548;
}
	.ab-con{
	width: 35%;
	margin: 1.5rem;
}
	.ab-txt{
	width: 65%;
	margin: 1.5rem;
}
@media only screen and (max-width: 640px) {
	.top-abo{
	margin: 3rem auto 3rem;
	flex-direction: column-reverse;
}
	.ab-con{
	width: 80%;
}
	.ab-txt{
	width: 91%;
}
}

/*-----SHOP-----*/
.menupage{
	margin-bottom: 5rem;
}
@media only screen and (max-width: 640px) {
	.menupage{
	margin-bottom: 3rem;
}
}
/*menu-flex*/
.m-flex{
	display: flex;
	align-items: flex-start;
    justify-content: flex-start;
}
.m-con{
	padding: 1rem;
	width: 25%;
	box-sizing: border-box;
}
@media only screen and (max-width: 640px){
	.m-flex{
	margin-bottom: 0;
	flex-wrap: wrap;
}
	.m-con{
	padding: 0.5rem;
	width: 50%;
	}
}
/*-----CONTACT-----*/
.c-box{
	margin: 0 auto 3rem;
	padding: 1rem;
	box-sizing: border-box;
	width: 90%;
	border: 3px double #E7C548;
}
/*更新による送信ボタンのズレ調整*/
.wpcf7-spinner {
    width: 0!important;
    margin: 0 10px!important;
}

/*-----トップぺージ背変更-----
body.home { 
    background: url(/struct/wp-content/uploads/red_wall01.jpg);
    color: #fff;
}
.home h1.title, .home .post h1 {
    color: #fff;
}
*/
#header .inner {
    background: rgb(41 3 2);
}
.sticky-header #header .inner {
    background: rgb(41 3 2);
}
@media print, screen and (min-width: 1024px){
nav#mainNav {
    background: rgb(41 3 2);
}
	}
@media only screen and (max-width: 1023px){
.mobile #header .logo .spmenu {
    background: rgb(41 3 2);
}
	}
a {
    color: #737373;
}
a:hover, a:active, .newsTitle p a:hover {
    color: #290302;
}