@charset "UTF-8";

/*
Theme Name: Rebonds
Version: 1.0
Author: nanoBeryl
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Description: This is our original theme.
*/

@font-face {
    font-family: "Yu Gothic M";
    src: local("Yu Gothic Medium");
}

@font-face {
    font-family: "Yu Gothic M";
    src: local("Yu Gothic Bold");
    font-weight: bold;
}

body {
    font-size: 16px;
    font: normal 1.6rem/1.5 '-apple-system', 'BlinkMacSystemFont', 'Helvetica Neue', 'HelveticaNeue', 'Segoe UI', '游ゴシック体', 'YuGothic', 'Yu Gothic M', '游ゴシック Medium', 'Yu Gothic Medium', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN W3', 'HiraKakuProN-W3', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'Osaka', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;

    color: #333;
    background-color: white;
}

a,
a:hover {
    color: #333;
}

/***************************************************************************************************
* main
***************************************************************************************************/

/* breadcrumb
--------------------------------------------------*/

.breadcrumb__area {
    width: 100%;
    margin: 12px auto;
    padding: 12px 0;
    background-color: white;
}

.breadcrumb__ol {
    max-width: 960px;
    margin: 0 auto;
}

.breadcrumb__ol a {
    color: #333;
}

.breadcrumb__ol i {
    margin-right: 3px;
}

.breadcrumb__ol .separateIcon {
    margin: 0 6px;
}

/* area
--------------------------------------------------*/

.main__area {
    width: 100%;
    padding: 72px 0;
    overflow: hidden;
}

.main__area--sub {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    padding: 0 0 60px;
}

@media (min-width: 960px) {
    .main__area {
        min-height: 50vh;
    }
}

/* ttl, txt
--------------------------------------------------*/

.main__ttl {
    font-size: 4rem;
    line-height: 1;
    width: 100%;
    margin-bottom: 12px;
    padding: 0 0 6px 10px;
    border-left: 4px solid #FFA000;
}

.main__ttl > span {
    font-size: 2rem;
    line-height: 1;
    width: 100%;
    padding-top: 6px;
    display: block;
}

.main__txt {
    width: 100%;
}

/* btn
--------------------------------------------------*/

.main__btn,
.main__btn--link > a {
    margin: 12px;
    padding: 12px;
    display: inline-block;
    background-color: #eee;
    border: 1px solid #aaa;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    cursor: pointer;
}

.main__btn:hover,
.main__btn--link > a:hover {
    -webkit-transform: translateY(-1px);
    transform: translateY(-1px);
    -webkit-box-shadow: 0 7px 14px rgba(50, 50, 93, .1), 0 3px 6px rgba(0, 0, 0, .08);
    box-shadow: 0 7px 14px rgba(50, 50, 93, .1), 0 3px 6px rgba(0, 0, 0, .08);
}

.main__btn:active,
.main__btn--link > a:active {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-box-shadow: none;
    box-shadow: none;
}

/***************************************************************************************************
* header
***************************************************************************************************/
.header {
    width: 100%;
    padding: 6px 0;
    background-color: white;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 5000;
}

/* logo (leftArea)
--------------------------------------------------*/

.header__logo {
    height: 40px;
}

/* menu (rightArea)
--------------------------------------------------*/

.menu {}

.menu__ul {}

.menu__ul li > a {
    margin: 0 6px;
    padding: 6px;
    display: inline-block;
    -webkit-transition-duration: .2s;
    transition-duration: .2s;
    cursor: pointer;
}

.menu__ul li > a:hover {
    background-color: #FFE082;
}

.menu--active {
    color: #FF8F00;
}

@media (max-width: 959px) {
    .menu {
        color: #333;
        width: 220px;
        height: 100%;
        padding-bottom: 6px;
        background-color: white;
        -webkit-box-shadow: 0 -5px 11px 0 rgba(0, 0, 0, .18), 0 4px 15px 0 rgba(0, 0, 0, .15);
        box-shadow: 0 -5px 11px 0 rgba(0, 0, 0, .18), 0 4px 15px 0 rgba(0, 0, 0, .15);
        position: fixed;
        top: 0;
        right: -220px;
        overflow: auto;
        z-index: 80000;
    }

    .menu__ul {
        margin-top: 50px;
        display: block;
    }

    .menu__ul li > a {
        font-weight: 700;
        width: 100%;
        margin: 0;
        padding: 18px;
        border-bottom: 1px solid #ddd;
    }
}

/* other
--------------------------------------------------*/

.backScreen {
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.7);
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    z-index: 75000;
}

.hamburger {
    margin-top: 5px;
}

/***************************************************************************************************
* home
***************************************************************************************************/

.top__area {
    width: 100%;
    height: 100vh;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .2)), to(rgba(0, 0, 0, .2))), url(../../uploads/top.jpg) no-repeat center center;
    background: linear-gradient(to bottom, rgba(0, 0, 0, .2), rgba(0, 0, 0, .2)), url(../../uploads/top.jpg) no-repeat center center;
}

.top__area--sub {
    width: 100%;
    height: 100vh;
    max-height: 300px;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .3)), to(rgba(0, 0, 0, .3))), url(../../uploads/top-sub.jpg) no-repeat center center;
    background: linear-gradient(to bottom, rgba(0, 0, 0, .3), rgba(0, 0, 0, .3)), url(../../uploads/top-sub.jpg) no-repeat center center;
}

@media (max-width: 599px) {
    .top__area--sub {
        max-height: 200px;
        margin-top: 55px;
    }

}

.top__ttl,
.top__txt,
.top__name {
    font: normal 1.8rem/1.5 'Noto Serif JP', Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-weight: bold;
    text-align: center;
    width: 100%;
}

.top__ttl {
    font-size: 3.2rem;
    margin: 0;
}

.top__txt {
    font-size: 3rem;
    margin: 6px 0 0;
}

.top__name {
    font-size: 3rem;
    margin: 12px 0 0;
}

@media (max-width: 599px) {
    .top__ttl {
        font-size: 2rem;
        margin: 0;
    }

    .top__txt {
        font-size: 2rem;
        margin: 6px 0 0;
    }

    .top__name {
        font-size: 2.5rem;
        margin: 15px 0 0;
    }
}

/***************************************************************************************************
* greeting
***************************************************************************************************/
.greeting__area {}

.greeting__box {
    padding: 12px;
    background-color: rgba(255, 193, 7, 0.75);
}

.greeting__ttl {
    font-size: 1.8rem;
}

.greeting__txt {
    font-size: 1.7rem;
    margin: 6px 0;
}
@media (max-width: 959px) {
    .greeting__img {
        width: 400px;
        max-width: 65%;
        margin: 0 0 0 auto;
    }
}
/***************************************************************************************************
* news
***************************************************************************************************/
.news__area {
    background-color: #f8f8f8;
}

.post__ul {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    background-color: white;
}

.post__list {
    border-bottom: 1px solid #FFECB3;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    cursor: pointer;
}

.post__list:hover {
    background-color: #FFECB3;
}

.post__list > a {
    padding: 8px 12px;
}

.post__list--time {
    margin-right: 12px;
}

.post__list--cat {
    text-align: center;
    min-width: 6em;
    margin-right: 12px;
    padding: 0 6px;
    background-color: #FFD54F;
}

.post__list--ttl {
    font-size: 1.5rem;
    margin: 0;
    padding: 0;
}

@media (max-width: 959px) {
    .post__list--ttl {
        width: 100%;
        margin-top: 3px;
    }
}

/*--------------------------------------------------*/

.post__link--all {
    text-align: center;
    width: 240px;
    margin-top: 12px;
    padding: 18px 12px;
    background-color: #FFC107;
    display: inline-block;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    cursor: pointer;
}

.post__link--all:hover {
    -webkit-transform: translateY(-1px);
    transform: translateY(-1px);
    -webkit-box-shadow: 0 7px 14px rgba(50, 50, 93, .1), 0 3px 6px rgba(0, 0, 0, .08);
    box-shadow: 0 7px 14px rgba(50, 50, 93, .1), 0 3px 6px rgba(0, 0, 0, .08);
}

.post__link--all:active {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-box-shadow: none;
    box-shadow: none;
}

/***************************************************************************************************
* business
***************************************************************************************************/
.business__area {}

.business__ttl {
    font-size: 2rem;
    text-align: center;
    width: 100%;
}

.business__box {
    width: 100%;
    max-width: 960px;
    margin: 40px auto;
}

.business__item {
    background-color: white;
}

.business__figure {
    width: 100%;
    height: 240px;
    position: relative;
    overflow: hidden;
}

.business__figure > img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.business__item--sub {
    width: 100%;
}

.business__item--sub > h4 {
    font-size: 1.8rem;
    margin: 0;
    padding: 12px 12px 0;
}

.business__item--sub > h4 > span {
    font-size: .8em;
}

.business__item--sub > p {
    font-size: 1.6rem;
    margin: 3px 0 0;
    padding: 0 12px 12px;
}

.business__txt {
    font-size: 1.6rem;
    text-align: center;
    width: 100%;
}

@media (max-width: 959px) {
    .business__figure {
        height: 180px;
    }
}

@media (max-width: 599px) {
    .business__ttl {
        font-size: 1.9rem;
    }

    .business__figure {
        width: 100px;
        height: 100px;
    }

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

    .business__item--sub {
        width: calc(100% - 100px);
    }

    .business__item--sub > h4 {
        font-size: 1.6rem;
        padding: 6px 6px 0;
    }

    .business__item--sub > p {
        font-size: 1.4rem;
        margin-top: 0;
        padding: 0 6px 6px;
    }
}

/***************************************************************************************************
* company
***************************************************************************************************/
.company__area {
    background-color: #f8f8f8;
}

.company__table {
    table-layout: auto;
    background-color: white;
    border: 1px solid #ddd;
    border-bottom: none;
}

.company__table th {
    padding: 6px 12px 6px 0;
    min-width: 200px;
    background-color: #eee;
    border-bottom: 1px solid #ddd;
}

.company__table td {
    padding: 6px 12px;
    border-bottom: 1px solid #ddd;
}

.company__table {}

.embed-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media (max-width: 599px) {
    .company__table th {
        min-width: 100px;
        padding: 6px;
    }

    .embed-container {
        margin-top: 24px;
        padding-bottom: 80%;
    }
}

/***************************************************************************************************
* contact
***************************************************************************************************/
.contact__area {}

.contact__box {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
}

.contact__table {
    table-layout: auto;
    border-top: 3px double #ccc;
}

.contact__table th {
    text-align: left;
    width: 230px;
    padding: 12px 12px;
    border-bottom: 1px solid #ccc;
}

.contact__table td {
    padding: 12px 0;
    border-bottom: 1px solid #ccc;
}

.contact__label {
    font-size: 1.6rem;
    font-weight: normal;
    display: inline-block;
}

.contact__label--required {
    color: red;
    margin: 0 3px;
    display: inline-block;
}

textarea::-webkit-input-placeholder,
input::-webkit-input-placeholder {
    color: #aaa;
}

textarea:-ms-input-placeholder,
input:-ms-input-placeholder {
    color: #aaa;
}

textarea::placeholder,
input::placeholder {
    color: #aaa;
}

textarea:-ms-input-placeholder,
input:-ms-input-placeholder {
    color: #aaa;
}


textarea::-ms-input-placeholder,
input::-ms-input-placeholder {
    color: #aaa;
}

@media (max-width: 599px) {

    .contact__table,
    .contact__table tbody,
    .contact__table tr,
    .contact__table th,
    .contact__table td {
        width: 100%;
        padding: 0;
        display: block;
    }

    .contact__label {
        margin: 20px 0 0;
    }

    .contact__table th {
        padding: 0;
        border-bottom: none;
    }

    .contact__table td {
        padding: 0;
    }

}

/***************************************************************************************************
* footer
***************************************************************************************************/

.footer {
    text-align: center;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.8);
}

.footer__copy {
    font-size: 1.4rem;
    color: white;
    padding: 6px 0;
}

.return__top {
    text-align: center;
    color: white;
    width: 48px;
    height: 48px;
    margin: 0;
    background-color: #FFC107;
    border-radius: 50%;
    -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, .26);
    box-shadow: 0 2px 5px rgba(0, 0, 0, .26);
    position: fixed;
    bottom: 20px;
    right: 20px;
    -webkit-transition-duration: .2s;
    transition-duration: .2s;
    cursor: pointer;
    z-index: 999;
    display: none;
}

.return__top > i {
    font-size: 3rem;
    line-height: 48px;
}

.return__top:hover {
    -webkit-transform: translateY(-1px);
    transform: translateY(-1px);
    -webkit-box-shadow: 0 7px 14px rgba(50, 50, 93, .1), 0 3px 6px rgba(0, 0, 0, .08);
    box-shadow: 0 7px 14px rgba(50, 50, 93, .1), 0 3px 6px rgba(0, 0, 0, .08);
}

.return__top:active {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-box-shadow: none;
    box-shadow: none;
}

.return__top--active {
    display: block;
    -webkit-animation: opacity-animation .3s ease-in-out;
    animation: opacity-animation .3s ease-in-out;
}

@-webkit-keyframes opacity-animation {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes opacity-animation {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@media (max-width: 599px) {
    .return__top {
        bottom: 6px;
        right: 6px;
    }
}
