@charset "utf-8";
/*
Theme Name:mrp04-child
Template:mrp04
Version: 0.01
*/
body {
    font: 90%/1.5 "メイリオ", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", Meiryo, "Meiryo UI", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
/*--------------------------------------*/
.center {text-align: center !important;}
.left {text-align: left !important;}
.right {text-align: right !important;}
.middle {vertical-align: middle !important;}
.bottom {vertical-align: bottom !important;}
.mt10 {margin-top: 10px !important;}
.mt20 {margin-top: 20px !important;}
.mt30 {margin-top: 30px !important;}
.mt40 {margin-top: 40px !important;}
.mt50 {margin-top: 50px !important;}
.mb10 {margin-bottom: 10px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb50 {margin-bottom: 50px !important;}
/*--------------------------------------*/
p.title {
    font-weight: bold;
    font-size: 150%;
    text-align: center;
    padding: 2% 0;
}

/* スマホで改行をなくす
----------------------------------*/
@media screen and (max-width: 640px) {
.br-sp {
    display: none;
}
}

/* スマホの時だけ改行（PCの時非表示）
----------------------------------*/
@media screen and (min-width:640px) {
.br-pc {
    display: none;
}
}
/* 画像表示順
----------------------------------*/
.f_Right {
    float: right;
}

@media only screen and (max-width: 640px) {
.f_Right {
    float: none;
}
}
/* 横幅100%
----------------------------------*/

body {
    overflow-x: hidden;
}
#wrapper, #content, .post {
    overflow: visible;
}
.bgfix {
    background-attachment: fixed !important;
}
.ipod .bgfix {
    background-attachment: scroll !important;
}
.iphone .bgfix {
    background-attachment: scroll !important;
}
.ipad .bgfix {
    background-attachment: scroll !important;
}
/* ヘッダー
----------------------------------

/* フッター
----------------------------------*/
footer#footer {
    margin-top: -7px;
}
.footcaption {
    color: #1d1d1d;
    font-size: 20px;
}
.footcaption table {
    text-align: center;
    margin: 0 auto;
    margin-bottom: 2%;
    border-spacing: 10px 5px;
}
.footcaption table th {
    text-align: right;
    font-weight: bold;
}
.footcaption table td {
    text-align: left;
}
#footer .inner .float p.name {
    font-size: 21px;
    color: #1d1d1d;
    font-weight: bold;
    margin-top: 15px;
}
#footer ul {
    background: #e2242d;
    padding: 1% 0;
}

@media only screen and (max-width: 640px) {
.footcaption {
    font-size: 18px;
}
.footcaption table.responsive {
    width: 80% !important;
}
.footcaption table.responsive.clear th, .footcaption table.responsive.clear td {
    /*text-align: left;*/
    text-align: center;
}
.footcaption table.responsive th, .footcaption table.responsive td {
    width: 100% !important;
    box-sizing: border-box;
    display: block;
    height: auto;
    border-top: none;
    border-right: none;
    border-left: none;
}
}


/* フッター調整 */
.footcaption p,.footcaption p a {
    color: #1d1d1d;
}
p.footeradd:before,p.footertel:before,p.footerfax:before {
    font-weight: bold;
}
p.footeradd:before {    content: "ADDRESS";}
p.footertel:before {    content: "TEL";}
p.footerfax:before {    content: "FAX";}
.footcaption {
    margin-bottom: 3%;
}

@media only screen and (max-width: 640px) {
p.footeradd:before, p.footertel:before, p.footerfax:before {
    display: block;
    margin-top: 15px;
}
}



/* グローバルナビ
----------------------------------*/
@media print, screen and (min-width: 1024px) {
nav#mainNav ul {
    text-align: center;
    position: relative;
    z-index: 10;
}
nav#mainNav ul li {
    float: none;
    display: inline-block;
}
nav div.panel {
    float: none;
}
nav#mainNav ul li.current-menu-item a::before, nav#mainNav ul li a:hover::before {
    border: none;
}
}
/* 見出し
----------------------------------*/
.post h2 {
    background: none !important;
}
h2.title {
    margin-bottom: 30px;
    color: #ffffff;
    text-align: center;
    font-size: 36px;
    text-shadow: none;
    padding-left: 8px;
    font-family: "Poiret One", "Noto Sans JP", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Meiryo UI", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: normal;
}
/* 下層：見出し　*/
body:not(.home) .post h2 {
    border-bottom: solid 3px #aaa;
    position: relative;
    padding-left: 0;
    margin: 5% 0 3%;
}
body:not(.home) .post h2:after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 3px #e2242d;
    bottom: -3px;
    width: 20%;
    visibility: initial;
}
/* TOP
----------------------------------*/
.home .post {
    margin-bottom: 0;
    padding: 0;
}
.home #content {
    padding: 0;
}
/* TOP : 斜め
----------------------------------*/

.full-size_box {
 margin-right: calc(((100vw - 100%) / 2) * -1);
 margin-left: calc(((100vw - 100%) / 2) * -1);
}

.content_last_box {
    max-height: 800px;
    height: 600px;
    margin-top: -10%;
    background: url(/struct/wp-content/uploads/top_img_003.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
a.button.btn1.red {
    background: #e2242d;
    font-size: 90%;
}

@media screen and (min-width:1024px) {
.content_first_box .txt_box {
    width: 100%;
    text-align: left;
}
.content_first_box .txt_box h2.title, .content_first_box .txt_box p {
    text-align: left;
}
}

@media screen and (max-width: 640px) {
h1.title.first.front-post {
    margin-top: 30px;
}
.top_greeting_box {
    width: 80%;
    margin: 0 auto;
}
.txt_box {
    width: 80%;
    top: 50%;
    text-align: center;
    right: 0;
    left: 0;
    margin: auto;
}

.content_first_box {
    margin-bottom: 8%;
}
}

/* TOP：左右アニメーション
----------------------------------*/

.container.wrap, .container-rwd.wrap {
    margin-right: calc(((100vw - 100%) / 2) * -1);
    margin-left: calc(((100vw - 100%) / 2) * -1);
}


.post .container .column2_70, .post .container-rwd .column2_70 ,
.post .container .column2_30, .post .container-rwd .column2_30 {
	flex-basis:auto;
	display:flex;
	justify-content:center;
	align-items:center;
}
@media only screen and (min-width: 641px) {
.post .container .column2_70, .post .container-rwd .column2_70 {
	width:70%;
}
.post .container .column2_30, .post .container-rwd .column2_30 {
	width:30%;
}
.sp_order01 {    order: 2;}
.sp_order02 {    order: 1;}
}


/* 追加 */
div#front_bn_top {
    margin: 5% 0 0;
}


/*　テキスト部分　*/
.container-rwd.wrap .txt_box {
    margin: 10% auto;
    text-align: center;
    box-sizing: border-box;
}
.post .container-rwd .column2_30 {
    margin: 0 auto;
    text-align: center;
}
.container-rwd.wrap .txt_box a.button.btn1.red_btn {
    text-align: center;
    margin: 0 auto;
}


@media only screen and (max-width: 640px){
.post .container-rwd{
flex-wrap: wrap;
    margin-right: calc(((100vw - 100%) / 2) * -1);
    margin-left: calc(((100vw - 100%) / 2) * -1);
}
.wow.fadeInLeft.animated,.wow.fadeInRight.animated {
    width: 100%;
}
.container-rwd.wrap .txt_box {
    width: 100%;
    max-width: 310px;
}
}

/* TOP：ボタン
----------------------------------*/
a.button.btn1 {
    height: auto;
    width: 300px;
    line-height: 45px;
    font-family: "Poiret One", "Noto Sans JP", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Meiryo UI", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: normal;
    font-size: 130%;
}
.button.red_btn {
    background: rgba(226, 36, 45, 0.5);
}
.button.wh_btn {
    background: rgba(255, 255, 255, 0.5);
}
a.button.btn1.red_btn:hover {
    background: #e2242d;
    font-weight: bold;
    color: #fff;
}
.button.wh_btn:hover {
    background: #fff;
    font-weight: bold;
}


@media only screen and (max-width: 640px) {
.container-rwd.wrap .txt_box a.button.btn1.red_btn {
    width: auto;
}
}




/* 下層ページ：ギャラリー
----------------------------------*/
.gallery-caption p.name {
    font-size: 20px;
    margin-top: 15px;
}
.gallery-caption p.shousai {
    text-align: left;
}
.gallery-caption p.price span {
    font-size: 150%;
    display: inline-block;
    margin: 0 7px;
}
/* 下層ページ：会社概要
----------------------------------*/
.bn_box {
    text-align: center;
}
.bn_box {
    width: 300px;
    height: 70px;
    text-align: center;
    background: #e2242d;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    margin: 0 auto;
}
.bn_box p {
    padding: 5% 0;
    box-sizing: border-box;
}
.bn_box:hover {
    background: rgba(255, 255, 255, 0.5);
    color: red;
    font-weight: bold;
}
/* テーブル（背景画像あり） */
.company_table_box {
    background-image: url(/struct/wp-content/uploads/company_img_001.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
table.company_table {
    border: none;
    background: rgba(0, 0, 0, 0.5);
    font-size: 100%;
}
table.company_table th, table.company_table td {
    background: none;
    color: #fff;
    border: none;
}
table.company_table td {
    width: auto;
}
@media screen and (min-width:1024px) {
table.company_table {
    width: auto;
}
}

@media only screen and (max-width: 640px) {
.post table.responsive {
    width: 101% !important;
}
}
/* 下層ページ：サービス
----------------------------------*/
.service_box {
    clear: both;
    overflow: auto;
    overflow-x: hidden;
    overflow-y: hidden;
}
h2.slanting_box {
    border: none !important;
    margin: 5% auto !important;
 margin-right: calc(((100vw - 100%) / 2) * -1) !important;
 margin-left: calc(((100vw - 100%) / 2) * -1) !important;
    padding: 1em calc((100vw - 100%) / 2) !important;
    position: relative !important;
    overflow: hidden;
    z-index: 1;
    padding-top: 3%;
    padding-bottom: 3%;
}
h2.slanting_box:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 129%;
    height: 128%;
    margin: -7% 0 34px;
    background: rgba(226, 36, 45, 0.5);
    -webkit-transform-origin: right center;
    -ms-transform-origin: right center;
    transform-origin: right center;
    -webkit-transform: rotate(-3deg);
    -ms-transform: rotate(-3deg);
    transform: rotate(-3deg);
    z-index: -1;
}
.column2_50.txt_box {
    padding: 5% 0;
    box-sizing: border-box;
}
.column2_50.txt_box {
    padding: 5%;
    background: rgba(17, 17, 17, 0.5);
    margin: 4% 0;
    box-sizing: border-box;
}
.column2_50.txt_box p {
    text-align: left;
}

@media screen and (max-width: 640px) {
}
/* 下層ページ：事業内容・fixリンク
----------------------------------*/
ul#fix-menu {
    position: fixed;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 98;
}
ul#fix-menu li {
    padding: 1rem 0.2rem;
    background: #e2242d;
    width: auto;
    box-sizing: border-box;
    height: auto;
    line-height: 1.0;
    text-align: center;
    font-size: 90%;
    position: relative;
}
#fix-menu li a {
    position: relative;
    z-index: 2;
}
#fix-menu li:after {
    z-index: 1;
    content: "";
    width: 3px;
    border-left: 2px dotted #e2242d;
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    transform: translateY(-50%);
}
#fix-menu li:first-child:after {
    width: 0;
    border-left: 0px dotted #e2242d;
}

@media screen and (max-width: 1023px) {
ul#fix-menu {
    display: none;
}
}
/* 下層ページ：投稿を表示
----------------------------------*/

li .post4b_contents {
    margin-top: 8px;
}
.post4b h2 a {
    font-size: 20px;
}
h2.cat-loop {
    border: none !important;
    padding: 0;
}
.post4b li {
    border: none !important;
}

/* SPの時に電話をかける
----------------------------------*/
@media screen and (min-width: 768px) {
a[href^="tel:"] {
    pointer-events: none;
}
}
/*　アンカーリンクずれ
----------------------------------*/
a.anchor {
    display: block;
    padding-top: 130px;
    margin-top: -130px;
}
/* お問い合わせ
----------------------------------*/
.wpcf7-form .must {
    background: #000000;
}
/* サイトマップ
----------------------------------*/
.post ul#sitemap_list li {
    border: 1px solid #fff;
    max-width: 250px;
    margin: 0 auto;
    padding: 5px;
    line-height: 2em;
    margin-bottom: 15px;
}
.post ul#sitemap_list li:hover {
    background: rgba(255, 255, 255, 0.8);
    font-weight: bold;
}
.page-sitemap div#wrapper {
    background-image: url(/struct/wp-content/uploads/camera.png);
    background-repeat: no-repeat;
    background-size: 250px;
    background-position: bottom right;
}

@media print, screen and (max-width:640px) {
.page-sitemap div#wrapper {
    background-image: url(/struct/wp-content/uploads/camera_wh_30.png);
    background-repeat: no-repeat;
    background-size: 250px;
    background-position: bottom right;
}
}
/* ユーチューブ埋め込み */
.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}
.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}
/* 下層ページ：映像・BGM
----------------------------------*/
.video-comment {
    margin-bottom: 8%;
    box-sizing: border-box;
    text-align: left;
}
p.date {
    font-size: 80%;
}

@media only screen and (min-width: 641px) {
.library_box {
    display: flex;
    justify-content: space-between;
}
.library_box .column2_50 {
    width: 49%;
}
}

@media only screen and (max-width: 799px) {
.library_box .column2_50 {
    text-align: left;
}
}
#editor-style {
    background-color: #000;
}
/*
 * ポップアップ
*/
body.show_popup {
    height: 100%;
    overflow: hidden;
}
#popup_mask {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #fff;
    opacity: 0.5;
    transition: 0.5s;
    z-index: 99;
}
.popup_trigger {
    cursor: pointer;
}
.popup_content {
    position: fixed;
    z-index: 999;
    background-color: #000;
    max-height: 80vh;
    width: 90vw;
    overflow-y: scroll;
    padding: 2rem 1rem;
    box-sizing: border-box;
}
.popup_close {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 10px;
    background-color: red;
    color: #fff;
    cursor: pointer;
}
/*-----------------カスタムフィールド　追記（20190910）--------------------------------------------*/
/* * 詳細ページ
--------------------------------------------*/
/*
 * 画像
*/
.popup_content .img_area {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    max-width: 10240px;
    margin: 0 auto 2rem;
    height: auto;
    max-height: 380px;
    overflow: hidden;
}
.popup_content .item_mainphoto {
    width: 62%;
    height: auto;
    box-sizing: border-box;
}
.popup_content .item_thumb {
    width: 36%;
    height: auto;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.popup_content .item_thumb a {
    display: block;
    width: 48.5%;
    height: calc((100% / 2) - 20px);
    margin-bottom: 20px;
}
.popup_content .item_thumb a:nth-last-child(2), .popup_content .item_thumb a:last-child {
    margin-bottom: 0;
}
.popup_content .item_thumb a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/*
 * 詳細情報
*/
.popup_content .content_area {
    max-width: 1100px;
    margin: auto;
}
.post .popup_content table {
    max-width: 800px;
    margin: 0 auto 1rem;
}
.post .popup_content table, .post .popup_content table th, .post .popup_content table td {
    background: #000;
    color: #fff;
}
.post .popup_content table th {
    width: 27%;
    font-weight: bold;
    background: #E2242D;
}
.popup_content .detail {
    padding: 2.5rem;
    background: #fff;
    color: #252525;
}

@media only screen and (min-width: 1100px) {
.popup_content .img_area {
    max-width: 1100px;
    max-height: 450px;
}
.popup_content .item_mainphoto {
    width: 55%;
}
.popup_content .item_thumb {
    width: 43%;
}
.popup_content .item_thumb a {
    height: 215px;
}
}

@media only screen and (max-width: 799px) {
.popup_content .img_area {
    display: block;
    height: auto;
    max-height: initial;
}
.popup_content .item_mainphoto {
    width: 100%;
    height: auto;
    margin-bottom: 1rem;
    overflow: hidden;
}
.popup_content .item_thumb {
    width: 100%;
    height: 80px;
}
.popup_content .item_thumb a {
    width: 24%;
    height: auto;
}
.popup_content .item_thumb a:nth-child(4n+2):last-child {
 margin-right: calc( ( 24% * 2 ) + ( ( ( 100% - ( 24% * 4 ) ) / 3 ) * 2 ) );
}
.popup_content .item_thumb a:nth-child(4n+3):last-child {
 margin-right: calc( ( 24% * 1 ) + ( ( ( 100% - ( 24% * 4 ) ) / 3 ) * 1 ) );
}
.popup_content .detail {
    padding: 1.5rem;
}
}
/* 一覧ページ
--------------------------------------------*/
/*
 * 機材リスト
*/
ul.rental_list {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
	margin: 0;
}
ul.rental_list li {
    width: 23%;
	margin: 0 1%;
}
ul.rental_list li .main_eyecatch img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}
ul.rental_list li .name {
    font-size: 18px;
    font-weight: 600;
    padding: .5rem 0;
}
/*
 * リンクボタン
*/
.post-type-archive-rental a.button.btn1 {
    display: block;
    margin: 2rem auto;
    width: 100%;
    max-width: 600px;
}

@media only screen and (max-width: 799px) {
ul.rental_list {
    display: block;
}
ul.rental_list li {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}
ul.rental_list li .main_eyecatch img {
    height: 180px;
}
ul.rental_list li .name {
    text-align: center;
}
}
/*-----------------カスタムフィールド　追記（20190910）--------------------------------------------*/

/*バージョンアップCF7送信スピナーによるテキストずれ対応*/
.wpcf7-spinner{
    position: absolute!important;
    margin: 0!important;
}
