@charset "UTF-8";
/*
Theme Name:mrp-child
Template:mrp
Version: 1.0.0
*/
/*
DesignCode CSS: ver 0.01
*/
/*------------------------------------------------------
Theme Material
------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Maru+Gothic&display=swap");

:root {
    --color-background: #fff;
    --color-white: #fff;
    --color-font: #111;
    --color-primary: #90BE90;
    --color-primary-shade: #715536;
    --color-primary-tint: #715536;
    --color-secondary: #aaa;
    --color-secondary-tint: #eee;
    --color-table-border: #ABABAB;
    --content-max-width: 1240px;
    --header-background: #fff;
    --header-color-font: #111;
    --header-color-primary: #90BE90;
    --header-color-primary-shade: #111;
    --header-color-primary-tint: #aaa;
    --footer-background: #E0D3C6;
    --footer-color-font: #111;
    --footer-color-primary: #111;
    --body-font-family: "Zen Maru Gothic", sans-serif;
    --font-family01: "Noto Sans JP", sans-serif;
    --body-font-size: min(calc(1.6rem + (1vw - 1.92rem) * 0.1294), 1.6rem);
    --px200: min(calc(200px + (1vw - 19.2px) * 6.5046), 200px);
    --px190: min(calc(190px + (1vw - 19.2px) * 6.1795), 190px);
    --px180: min(calc(180px + (1vw - 19.2px) * 5.8543), 180px);
    --px170: min(calc(170px + (1vw - 19.2px) * 5.5291), 170px);
    --px160: min(calc(160px + (1vw - 19.2px) * 5.2039), 160px);
    --px150: min(calc(150px + (1vw - 19.2px) * 4.8787), 150px);
    --px140: min(calc(140px + (1vw - 19.2px) * 4.5535), 140px);
    --px130: min(calc(130px + (1vw - 19.2px) * 4.2283), 130px);
    --px120: min(calc(120px + (1vw - 19.2px) * 3.9031), 120px);
    --px110: min(calc(110px + (1vw - 19.2px) * 3.5780), 110px);
    --px100: min(calc(100px + (1vw - 19.2px) * 3.2526), 100px);
    --px98: min(calc(98px + (1vw - 19.2px) * 3.1868), 98px);
    --px96: min(calc(96px + (1vw - 19.2px) * 3.1210), 96px);
    --px94: min(calc(94px + (1vw - 19.2px) * 3.0551), 94px);
    --px92: min(calc(92px + (1vw - 19.2px) * 2.9893), 92px);
    --px90: min(calc(90px + (1vw - 19.2px) * 2.9235), 90px);
    --px88: min(calc(88px + (1vw - 19.2px) * 2.8576), 88px);
    --px86: min(calc(86px + (1vw - 19.2px) * 2.7918), 86px);
    --px84: min(calc(84px + (1vw - 19.2px) * 2.7260), 84px);
    --px82: min(calc(82px + (1vw - 19.2px) * 2.6601), 82px);
    --px80: min(calc(80px + (1vw - 19.2px) * 2.5943), 80px);
    --px78: min(calc(78px + (1vw - 19.2px) * 2.5285), 78px);
    --px76: min(calc(76px + (1vw - 19.2px) * 2.4626), 76px);
    --px74: min(calc(74px + (1vw - 19.2px) * 2.3968), 74px);
    --px72: min(calc(72px + (1vw - 19.2px) * 2.3310), 72px);
    --px70: min(calc(70px + (1vw - 19.2px) * 2.2639), 70px);
    --px68: min(calc(68px + (1vw - 19.2px) * 2.1993), 68px);
    --px66: min(calc(66px + (1vw - 19.2px) * 2.1346), 66px);
    --px64: min(calc(64px + (1vw - 19.2px) * 2.0698), 64px);
    --px62: min(calc(62px + (1vw - 19.2px) * 2.0051), 62px);
    --px60: min(calc(60px + (1vw - 19.2px) * 1.9404), 60px);
    --px58: min(calc(58px + (1vw - 19.2px) * 1.8757), 58px);
    --px56: min(calc(56px + (1vw - 19.2px) * 1.8110), 56px);
    --px54: min(calc(54px + (1vw - 19.2px) * 1.7463), 54px);
    --px52: min(calc(52px + (1vw - 19.2px) * 1.6815), 52px);
    --px50: min(calc(50px + (1vw - 19.2px) * 1.6168), 50px);
    --px48: min(calc(48px + (1vw - 19.2px) * 1.5521), 48px);
    --px36: min(calc(36px + (1vw - 19.2px) * 1.1642), 36px);
    --px38: min(calc(38px + (1vw - 19.2px) * 1.2289), 38px);
    --px46: min(calc(46px + (1vw - 19.2px) * 1.4873), 46px);
    --px44: min(calc(44px + (1vw - 19.2px) * 1.4229), 44px);
    --px42: min(calc(42px + (1vw - 19.2px) * 1.3582), 42px);
    --px40: min(calc(40px + (1vw - 19.2px) * 1.2935), 40px);
    --px34: min(calc(34px + (1vw - 19.2px) * 1.0995), 34px);
    --px32: min(calc(32px + (1vw - 19.2px) * 1.0349), 32px);
    --px30: min(calc(30px + (1vw - 19.2px) * 0.9702), 30px);
    --px28: min(calc(28px + (1vw - 19.2px) * 0.9055), 28px);
    --px26: min(calc(26px + (1vw - 19.2px) * 0.8408), 26px);
    --px24: min(calc(24px + (1vw - 19.2px) * 0.7762), 24px);
    --px22: min(calc(22px + (1vw - 19.2px) * 0.7115), 22px);
    --px20: min(calc(20px + (1vw - 19.2px) * 0.6469), 20px);
    --px18: min(calc(18px + (1vw - 19.2px) * 0.5822), 18px);
    --px16: min(calc(16px + (1vw - 19.2px) * 0.5175), 16px);
    --px14: min(calc(14px + (1vw - 19.2px) * 0.4528), 14px);
    --px12: min(calc(12px + (1vw - 19.2px) * 0.3883), 12px);
    --px10: min(calc(10px + (1vw - 19.2px) * 0.3236), 10px);
}

.subimitarea .linkBtn {
    padding: 0 !important;
    max-width: 320px;

}

.post .subimitarea .linkBtn input[type="submit"] {
    color: var(--color-primary-shade);
}

.subimitarea .linkBtn:hover input[type="submit"] {
    color: var(--color-white);
}


.linkBtn,
.post .linkBtn {
    border: 2px solid var(--color-primary-shade);
    background-color: var(--color-white) !important;
    color: var(--color-primary-shade) !important;
    border-radius: 100px !important;
    font-weight: bold;
}

.linkBtn::after,
.post .linkBtn::after {
    border-right: 2px solid var(--color-primary-shade) !important;
    border-bottom: 2px solid var(--color-primary-shade) !important;
}

.linkBtn:hover,
.post .linkBtn:hover {
    background-color: var(--color-primary-shade) !important;
    color: var(--color-white) !important;
}

.linkBtn:hover::after,
.post .linkBtn:hover::after {
    border-right: 2px solid var(--color-white) !important;
    border-bottom: 2px solid var(--color-white) !important;
}

.home .dn,
.page-contact .dn,
.page-thanks .dn,
.page-sitemap .dn {
    display: none;
}

.title__area {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: -moz-fit-content;
    width: fit-content;
}

.title__area.txt_l {
    width: 100%;
}

.title__area.txt_l .title-en {
    width: 100%;
    text-align: left;
}

.title__area.txt_l .title-ja {
    width: 100%;
    text-align: left;
}

.title__area.txt_l::after {
    margin: 0.6em 0 0 0;
}

.title__area::after {
    width: 136px !important;
    background: transparent !important;
    margin-top: 0 !important;
    border-bottom: 8px dotted var(--color-primary);
}

.title-ja {
    font-size: var(--rem36);
    color: var(--color-font);
    font-family: var(--body-font-family);
    font-weight: bold;
}

.title-en {
    color: var(--color-primary);
    font-size: var(--px18);
    font-weight: bold;
    font-family: var(--body-font-family);
    text-transform: uppercase;
    line-height: 1;
}

.bg-image {
    position: relative;
}

.bg-image>img {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    -o-object-fit: cover;
    object-fit: cover;
}

.bg-image>div {
    position: relative;
}

.bg-image-bottom>img {
    top: auto;
    bottom: 0;
    aspect-ratio: 1920/697;
    height: auto;
}

.bg-image-top>img {
    aspect-ratio: 1920/453;
    height: auto;
}

.post table {
    border-color: #56927F;
}

.post table tbody tr th {
    background: #EBF8EB;
    padding: var(--px28);
    color: var(--color-font);
    border-color: #56927F;
}

.post table tbody tr td {
    align-content: center;
    color: var(--color-font);
    border-color: #56927F;
}

.card__col3 {
    margin: 0 auto !important;
    width: -moz-fit-content;
    width: fit-content;
    gap: var(--px28);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    padding-top: var(--px100);
}

@media screen and (max-width: 768px) {
    .director__image img {
        width: 60%;
        margin: 0 auto;
    }

    .card__col3 {
        grid-template-columns: 1fr;
        gap: var(--px80);
    }
}

.card__col3 li {
    margin: 0 auto;
    width: 100%;
    max-width: 394px;
    display: flex;
    gap: var(--rem30);
    flex-direction: column;
}

.card__col3 li img {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
}

.card__col3--title {
    font-family: var(--body-font-family);
    font-size: var(--rem20);
    color: var(--color-font);
    font-weight: bold;
}

.card__col3--text {
    font-family: var(--body-font-family);
    color: var(--color-font);
    line-height: 2;
}

.read-text {
    font-family: var(--body-font-family);
    line-height: 2.5;
}

.postlist li:first-child {
    border-top: 1px solid #cccccc !important;
    border-bottom: 1px solid #cccccc !important;
}

.postlist li {
    border-top: none !important;
    border-bottom: 1px solid #cccccc !important;
}

.postlist .post_text {
    padding: var(--px36) 0 !important;
}

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

.no-margin {
    margin: 0 !important;
}

.w240 {
    width: 100%;
    max-width: 240px !important;
}

/*-----------------------------
column_03
------------------------------*/
.sec01 {
    background: transparent !important;
    padding-bottom: 0;
    padding-left: 24px;
    padding-right: 24px;
}

.column03 {
    position: relative;
    padding: 0 0 390px;
    margin: var(--px60) 0 0;
}

@media screen and (max-width: 768px) {
    .column03 {
        padding-bottom: var(--px80);
    }
}

.column03_wrap {
    position: relative;
    max-width: 1600px;
    width: 94%;
    margin: 0 auto;
    z-index: 1;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    border-radius: 50px;
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .column03_wrap {
        border-radius: 20px;
    }
}

.column03 .txtarea {
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--px80) var(--px40);
    margin: 0;
    overflow: hidden;
}

.column03 .txtarea .btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--px22);
    justify-content: flex-start !important;
}

@media screen and (max-width: 768px) {
    .column03 .txtarea .btn {
        flex-direction: column;
    }
}

.column03 .txtarea .txtinner {
    max-width: 660px;
    width: 100%;
}

.column03 .imgarea {
    overflow: hidden;
    line-height: 0;
    margin: 0;
}

.column03 .imgarea img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

@media print,
screen and (max-width: 768px) {
    .column03 .txtarea {
        padding: var(--px80) 5%;
    }
}

.top-info {
    padding: var(--px200) 24px;
}

.top-info .imgarea iframe {
    width: 100%;
    height: 100%;
}

@media screen and (max-width: 768px) {
    .top-info .imgarea iframe {
        min-height: 280px;
    }
}

.top-info table {
    border: none !important;
}

.top-info table tbody tr th,
.top-info table tbody tr td {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    background: transparent !important;
    font-weight: normal;
    border-bottom: 1px dashed var(--color-table-border);
    padding: var(--rem14) var(--rem16) !important;
}

/*-----------------------------
cta01_col2
------------------------------*/
.cta01 {
    position: relative;
    z-index: 0;
    padding-bottom: var(--px200);
}

.cta01 p {
    font-family: var(--body-font-family);
}

.cta01 .cta01_wrap {
    max-width: 1600px;
    width: 90%;
    margin: 0 auto;
    padding: var(--px80);
}

.cta01 .ctabtnlist {
    justify-content: space-between;
    max-width: 100%;
    margin: var(--px50) auto 0 auto;
}

.cta01 .ctabtnlist li {
    width: 50%;
    margin: 0;
    padding: 0;
    line-height: 1;
    display: flex;
}

.cta01 a.item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: var(--px30) 0;
    text-align: center;
    box-sizing: border-box;
    border-radius: 0;
    transition: all ease 0.15s;
}

.cta01 a.item:hover {
    opacity: 0.8;
}

@media print,
screen and (max-width: 768px) {

    .cta01 .ctabtnlist li,
    .cta01 .ctabtnlist a.item {
        width: 100%;
    }

    .cta01 .ctabtnlist li+li {
        margin-top: 1rem;
    }
}

/*ボタン共通パーツ*/
.cta01 .btnttl {
    display: block;
    font-weight: bold;
    margin-bottom: 1rem;
}

.cta01 .infotxt {
    font-size: var(--rem20);
    font-weight: bold;
}

/*電話ボタン*/
.cta01 .telnum {
    font-size: var(--rem48);
    margin-bottom: 1rem;
}

.cta01 .telbtn .btnttl {
    font-size: var(--rem20);
}

.cta01 a.telbtn {
    background: var(--color-primary);
    color: var(--color-white);
}

/*メールボタン*/
.cta01 .mailbtn .btnttl {
    font-size: var(--rem20);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--px18);
    background: var(--color-primary);
    color: var(--color-white);
    border-radius: 100px;
    width: 100%;
    max-width: 460px;
    padding: 24px;
    margin: 12px 0;
}

.cta01 a.mailbtn {
    background: var(--color-white);
    color: var(--color-primary);
}

/*ボタンアイコン*/
.cta01 .mailbtn .btnttl::before,
.cta01 .telnum::before {
    content: "";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 1rem;
}

.cta01 .mailbtn .btnttl::before {
    content: "\f0e0";
}

.cta01 .telnum::before {
    content: "\f3cd";
}

/*================================================
					事業内容
================================================*/
/*-------------------------------------------
 teleco_v1
------------------------------------------- */
.teleco_v1 h2 {
    width: 100%;
}

.teleco_v1 .w50.image_box {
    position: relative;
    overflow: hidden;
}

.teleco_v1 .w50.image_box::before {
    content: "";
    display: block;
}

.teleco_v1 .w50.image_box img {
    position: absolute;
    width: 102%;
    height: auto;
    max-width: none;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.teleco_v1 .w50.text_box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    padding: min(120px + (1vw - 19.2px) * 3.5599, 120px);
    /* 120-65px (1920-375) */
}

@media print,
screen and (min-width: 769px) {
    .teleco_v1 .w50.image_box::before {
        padding-top: calc(550px + (1vw - 19.2px) * 17.3762);
    }

    .teleco_v1 .w50.image_box img {
        width: auto;
        height: 116%;
    }
}

.flexinnerBtn {
    align-self: normal;
}

@media print,
screen and (max-width: 768px) {
    .teleco_v1 .w50.image_box {
        margin-bottom: 0;
    }

    .teleco_v1 .w50.image_box::before {
        padding-top: calc(350px + (1vw - 7.68px) * 27.9898);
    }

    .teleco_v1 .w50.text_box {
        padding: 20px;
        margin-bottom: 0;
    }
}

.director__image {
    width: 100%;
    max-width: 364px;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .director__image {
        max-width: 80%;
    }
}

.director__image img {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
}

.director__text {
    width: 100%;
}

nav#mainNav ul li a b,
nav#mainNav ul li a span {
    font-size: var(--rem16);
    font-family: var(--body-font-family);
    font-weight: bold;
    transition: opacity 0.3s ease;
}

nav#mainNav ul li a b:hover,
nav#mainNav ul li a span:hover {
    opacity: 0.6;
}

.header__contact li {
    display: flex;
    align-items: center;
}

a.head_btn.tel_btn {
    gap: 4px !important;
    color: var(--color-font) !important;
    background: transparent !important;
    transition: opacity 0.3s ease;
}

a.head_btn.tel_btn:hover {
    opacity: 0.6;
}

a.head_btn.tel_btn::before {
    content: none !important;
}

a.head_btn.tel_btn .header__tel {
    font-size: var(--rem24) !important;
}

.head_btn.mail_btn {
    flex-direction: row !important;
    gap: 8px !important;
    width: 190px !important;
    font-weight: 400;
}

.head_btn.mail_btn span {
    color: var(--color-white) !important;
}

#footer .footer__logo img {
    max-width: 260px !important;
}

#header .logo img {
    max-width: 150px !important;
}

/*# sourceMappingURL=index.css.map */


@media screen and (max-width: 768px) {
    .director__image img {
		display: flex;
        align-items: center;
        width: 80%;
    }
	