@charset "UTF-8";

@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/noto-sans-jp-v42-japanese_latin-300.woff2') format('woff2');
    /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* noto-sans-jp-500 - japanese_latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/noto-sans-jp-v42-japanese_latin-500.woff2') format('woff2');
    /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* noto-sans-jp-700 - japanese_latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/noto-sans-jp-v42-japanese_latin-700.woff2') format('woff2');
    /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/oswald-v49-latin-300.woff2') format('woff2');
    /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/oswald-v49-latin-regular.woff2') format('woff2');
    /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/oswald-v49-latin-500.woff2') format('woff2');
    /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'KaiseiHarunoUmi-Regular';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/KaiseiHarunoUmi-Regular.woff2') format('woff2');
    /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'type-gochic';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/type-gochic.woff2') format('woff2');
    /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

header,
footer,
main {
    font-family: 'Oswald', 'Noto Sans JP', sans-serif;
}

body {
    background-color: #f88985
}

main {
    margin-top: 70px;
    background-color: #f5f5f5;
}

/*header*/
.bg-light {
    background: url(../img/head/head_07.png) top repeat-x;
}

.background-container {
    position: absolute;
    top: 50px;
    right: 0;
    width: 60%;
    height: 100%;
    background-image: url(../img/head/head_09.png);
    /* 画像のパスを設定してください */
    background-repeat: repeat-x;
    background-size: auto;
    z-index: 0;
    /* 背景画像を背後に配置 */
}

.background-container2 {
    position: absolute;
    top: 50px;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../img/head/head_08.png);
    /* 画像のパスを設定してください */
    background-repeat: repeat-x;
    background-size: auto;
    z-index: 0;
    /* 背景画像を背後に配置 */
}

.head {
    background-image: url(../img/head/head_13s.png);
    background-repeat: no-repeat;
    background-position: 190px 6px;
}

h1 {
    font-size: 0.40em;
    padding: 0;
    margin: 0;
    font-weight: 400;
    line-height: 1em;
}

h1 span.bf span.af {
    font-size: 0.67em;
    font-family: 'type-gochic'
}

h1 span.bf {
    color: #e27d7d;
    font-size: 2.5em;
    display: block;
    font-family: 'KaiseiHarunoUmi-Regular'
}

h1 span.bf::before {
    content: "\A";
    white-space: pre;
}

table {
    width: 100%;
    border-collapse: collapse;
}

table tr:last-child {
    border-bottom: none;
}

table th {
    position: relative;
    text-align: left;
    background-color: #635c5c;
    color: white;
    text-align: center;
    padding: 10px 0;
    border-bottom: 10px solid #FFF;
}

table td {
    text-align: left;
    text-align: center;
    padding: 10px 0;
}

table {
    background-color: white;
}

table.table-data th {
    background-color: #d9ccb7;
    color: #333;
    vertical-align: middle !important;
    text-align: center;
    border: 2px solid #FFF;
    padding: 10px;
    font-weight: 400;
    width: 30%;
}

table.table-data td {
    background-color: #f8f0df;
    color: #333;
    vertical-align: middle !important;
    text-align: center;
    border: 2px solid #FFF;
    padding: 10px;
    font-weight: 300;
}

table.table-data td span {
    font-weight: 500
}

.hidden_box {
    margin: 10px 0;
    padding: 0;
    text-align: center;
}

.hidden_box .check {
    border: 1px solid #ddd;
    border-radius: 5px;
    cursor: pointer;
    font-weight: bold;
    margin: 0 auto;
    padding: 10px;
    min-width: 50%;
}

.hidden_box .check:hover {
    background: #f5f5f5;
}

.hidden_box .check:after {
    content: "を表示";
    /* 閉じている状態のときにラベルの後ろに続く文字 */
}

.hidden_box .check {
    display: none;
}

.hidden_box .hidden_show {
    height: 0;
    overflow: hidden;
    opacity: 0;
    padding: 0;
    text-align: left;
    transition: 0.5s;
}

.hidden_box .check:checked ~ .hidden_show {
    height: auto;
    opacity: 1;
    padding: 10px 0;
}

.label-btn,
input.has-spinner,
input.wpcf7-previous {
    display: block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    position: relative;
    width: 60%;
    margin: auto;
    padding: 1rem 1rem !important;
    font-weight: 400;
    border-radius: 10px;
    color: #FFF;
    box-shadow: 3px 3px #666;
    transition: 0.3s ease-in-out;
    background-color: darkorange;
}

.label-btn:hover,
input.has-spinner:hover,
,
input.wpcf7-previous:hover {
    box-shadow: none;
    transform: translate(3px, 3px);
    color: #222;
}


.noborder input {
    border: none;
    background: none;
    text-align: center;
}

a.link {
    text-decoration: underline;
    font-size: 1.2rem;
}

@media (max-width: 767px) {

    table.table-data {
        width: 100%;
    }

    table.table-data th {
        width: 100%;
    }

    .noborder input {
        width: 100%;
    }


    .hidden_box input:checked + label:after {
        content: "を非表示";
        /* 開いている状態のときにラベルの後ろに続く文字 */
    }

    .hidden_box input:checked ~ .hidden_show {
        height: auto;
        opacity: 1;
        padding: 10px 0;
    }

    .background-container {
        height: 10px;

    }

    .background-container2 {
        width: 100%;
        height: 10px;

    }

    .blog img {
        width: 100%;
    }

    .label-btn,
    input.has-spinner,
    input.wpcf7-previous {
        width: 80%;
    }
    
    .img-banner {width: 100%;} 

}

.buy-back {
    background-color: #f8f0df;
    padding: 10px;
    margin: 10px 0px;
    border-radius: 5px;
}

.info-box {
    border: 2px solid #d9ccb7;
    border-radius: 5px;
}

.info-box h3 {
    background: #d9ccb7;
    text-align: center;
    margin: 0;
    padding: 10px !important;
    font-size: 1.5rem !important;
    font-weight: 400 !important;
}

.info-box .inner {
    padding: 1em;
    font-weight: 300;
    background-color: #f8f0df;
}

.uvideo video {
    display: block;
    margin: 1rem auto 3rem;
    height: 100%
}

a.btn-order {
    display: block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    position: relative;
    width: 60%;
    margin: auto;
    padding: 1rem 1rem !important;
    font-weight: 400;
    border-radius: 10px;
    color: #FFF;
    box-shadow: 3px 3px #666;
    transition: 0.3s ease-in-out;
    background-color: darkorange;
}

a.btn-order:hover {
    box-shadow: none;
    transform: translate(3px, 3px);
    color: #222;
}

.box-img2 {
    display: block;
    margin: auto;
    max-width: 100%;
    height: auto;
}



@media (min-width: 767px) {
    .row > .col-lg:nth-child(5n+1) {
    clear: both;
  }
    /*改行指定*/
    .navbar-expand-md .navbar-nav .nav-link {
        padding-right: 0rem;
        padding-left: 0.5rem;
    }

    .box-frame {
        margin: 10px 10px 30px 10px;
        background-color: #d9ccb7;
    }


}

@media (min-width: 1200px) {
    .navbar-expand-md .navbar-nav .nav-link {
        padding-right: 0.5rem;
        padding-left: 0.5rem;
    }
}

@media (max-width: 767px) {
    h1 {
        font-size: 0.4em;
    }

    h2 {
        text-align: center;
        font-weight: bold;
    }

    table.table-data,
    table.table-data tbody,
    table.table-data tr,
    table.table-data th,
    table.table-data td {
        display: block;
    }

    table th:after {
        display: none;
    }

    .container {
        margin-top: 0.3rem;
        margin-bottom: 0.7rem;
    }

    .uvideo video {
        width: 100%;
    }

    a.btn-order {
        width: 80%;
        margin: auto;
        padding: 1rem 1rem !important;
    }

    .photo-center {
        display: block;
        margin: 10px auto 20px auto;
    }

    .box-frame {
        margin: 10px 0 30px 0;
    }


}

.smaller {
    font-size: 50%
}

.large {
    font-size: 300%
}

.lead2 {
    font-size: 1.25rem;
}

/*.leadはbootstpras.css　line453*/
.right {
    text-align: right;
}

.center {
    text-align: center;
}

.left {
    text-align: left !important;
}

.mt5 {
    margin-top: 5px
}

.mt10 {
    margin-top: 10px
}

.mt15 {
    margin-top: 15px
}

.mt20 {
    margin-top: 20px
}

.mt25 {
    margin-top: 25px
}

.mt30 {
    margin-top: 30px
}

.mt35 {
    margin-top: 35px
}

.mt60 {
    margin-top: 60px
}

.mt60-lg {
    margin-top: 0;
}

.mt120 {
    margin-top: 120px;
}

.mt120-lg {
    margin-top: 0;
}

.ml5 {
    margin-left: 5px
}

.ml10 {
    margin-left: 10px
}

.ml15 {
    margin-left: 15px
}

.ml20 {
    margin-left: 20px
}

.ml25 {
    margin-left: 25px
}

.ml30 {
    margin-left: 30px
}

.ml35 {
    margin-left: 35px
}

.mb5 {
    margin-bottom: 5px
}

.mb10 {
    margin-bottom: 10px
}

.mb15 {
    margin-bottom: 15px
}

.mb20 {
    margin-bottom: 20px
}

.mb25 {
    margin-bottom: 25px
}

.mb30 {
    margin-bottom: 30px
}

.mb-l10-s30 {
    margin-bottom: 10px
}

.mb35 {
    margin-bottom: 35px
}

.mb60 {
    margin-bottom: 60px
}

.mb120 {
    margin-bottom: 120px
}

.mb120-lg {
    margin-bottom: 0
}

.mb120-lg2 {
    margin-bottom: 30px
}

.pb30 {
    padding-bottom: 30px
}

.p20 {
    padding: 20px;
}

.p20-lg {
    padding: 0;
}

.h180 {
    height: 180px
}

.h300 {
    height: 350px
}

.none {
    display: none;
}

.clear {
    clear: both
}

.br-bold {
    color: #663300;
    font-weight: 600;
    font-size: 1.2rem;
}


.box27 {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px #ff8884;
}

.box27 .box-title {
    position: absolute;
    display: inline-block;
    top: -30px;
    left: -3px;
    padding: 0 9px;
    height: 30px;
    line-height: 25px;
    font-size: 1.2rem;
    background: #ff8884;
    color: #ffffff;
    font-weight: 400;
    border-radius: 5px 5px 0 0;
}

.box27 p {
    margin: 0;
    padding: 0;
}





@media (min-width: 768px) {

    .mb20-lg {
        margin-bottom: 20px
    }

    .mb120-lg,
    .mb120-lg2 {
        margin-bottom: 120px;
    }

    .mt60-lg {
        margin-top: 60px;
    }

    .mt120-lg {
        margin-top: 120px;
    }

    .p20-lg {
        padding: 20px;
    }

    .none {
        display: inline;
    }

    .mb-l10-s30 {
        margin-bottom: 10px
    }

    .none2 {
        display: none;
    }

    .mb30-l {
        margin-bottom: 30px;
    }

     .pc {
        display: inline;
    }

    .sp {
        display: none;
    }
}



.nomal {font-weight:100;}

@media (max-width: 767px) {
    .mt10-s {
        margin-top: 10px !important;
    }

    .birthlist img {
        width: 100% !important;
        height: auto;
        display: block;
    }
   
    .pc {
    display: none;
}

.sp {
    display: inline;
}

}




.white {
    color: white;
}

.more-btn {
    position: relative;
}

.dli-caret-right {
    position: absolute;
    display: inline-block;
    vertical-align: middle;
    color: #333;
    line-height: 1.5;
    width: 0;
    height: 0;
    top: 20px;
    right: 50px;
    border-style: solid;
    border-color: transparent;
    border-width: 0.375em 0.64952em;
    border-left-color: currentColor;
    border-right: 0;
}

.dli-caret-left {
    position: absolute;
    display: inline-block;
    vertical-align: middle;
    color: #333;
    line-height: 1;
    width: 0;
    height: 0;
    top: 20px;
    left: 50px;
    border-style: solid;
    border-color: transparent;
    border-width: 0.375em 0.64952em;
    border-right-color: currentColor;
    border-left: 0;
}

a:hover .dli-caret-right,
a:hover .dli-caret-left {
    color: white;
}

a {
    color: rgba(0, 0, 0, 0.9);
    text-decoration: none;
}

a:hover {
    color: rgba(0, 0, 0, 0.55);
}

.img-box {
    width: auto; // サイズがサンプルなので適時変更してください。
    height: auto;
    overflow: hidden; //これを記述することではみ出た部分を非表示にします。
}

.img-box img {
    transition: 0.5s all;
}

.img-box img:hover {
    transform: scale(1.05, 1.05);
    transition: 0.5s all;
    overflow: hidden
}

/*nav*/
.navbar-light .navbar-toggler:focus {
    box-shadow: none;
}

.nav-item {
    font-size: 0.95rem;
}

.nav-item2 {
    list-style: none;
    padding: 3px 0px 10px 0px;
    margin: 0px 10px 0 0;
    font-size: 0.95rem;
    position: relative
}

.nav-item2:before {
    border-radius: 50%;
    width: 5px;
    height: 5px;
    display: block;
    position: absolute;
    left: -0.2rem;
    top: 1.4em;
    content: "";
    background: #FFF;
}

.navbar .tsub2,
.navbar .tsub3 {
    font-size: 60%
}

@media (min-width: 768px) {
    .navbar li {
        text-align: center;
    }

    .nav-item,
    .nav-item-top {
        background: url(../img/head/head_03.png) no-repeat 0 17px;
        margin-left: 5px;
        padding: 3px 0px 10px 10px;
        margin-left: 5px;
        font-size: 0.95rem;
    }

    .tsub,
    .tsub3 {
        display: block;
        content: "";
        margin: -5px 0;
    }

    .phone {
        background: url(../img/phone-icon_03.png) no-repeat left 5px;
        background-size: 25px;
        padding: 0 0 5px 25px;
        margin: 0 0 0 20px
    }
}

@media (max-width: 767px) {
    .navbar-nav br {
        display: none;
    }

    .container.head {
        background-color: white;
    }

    li.nav-item,
    li.nav-item-top {
        background: url(../img/head/head_03.png) no-repeat 10px 17px;
        margin-left: 0px;
        padding: 3px 0px 0px 30px;
        border-bottom: dashed 1px
    }

    li.nav-item-top {
        margin-top: 10px;

    }
}

/*carousel*/
.bd-placeholder-img {
    font-size: 1.125rem;
    text-anchor: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

@media (min-width: 768px) {
    .bd-placeholder-img-lg {
        font-size: 3.5rem;
    }
}

.carousel-item .img-fluid {
    width: auto;
    max-height: 800px;
}

.carousel-item {
    height: auto;
}

.carousel-item a {
    display: block;
    width: 100%;
}

.carousel-item .show-image {
    display: block;
    width: 100%;
}

.zoom-1 img {
    width: 100%;
    height: auto;
    margin: 0 auto;
    animation: animationZoom1 10s ease-in-out forwards;
}

.zoom-2 img {
    width: 100%;
    height: auto;
    margin: 0 auto;
    animation: animationZoom2 10s ease-in-out infinite;
}

.zoom {
    overflow: hidden;
}

@media (min-width: 768px) {
    .carousel-item {
        position: relative;
    }

    .carousel-item h2 {
        position: absolute;
        font-size: 4em;
        font-weight: 700;
    }

    .carousel-item h2.txt1 {
        position: absolute;
        left: 10%;
        bottom: 16%;
        text-shadow: 5px 5px 5px #dcc48f;
    }

    .carousel-item h2.txt2 {
        position: absolute;
        margin: 0;
        padding: 0;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        width: 600px;
        text-align: center;
        line-height: 1em;
    }

    .carousel-item h2.txt3 {
        position: absolute;
        margin: 0;
        padding: 0;
        top: 20%;
        right: 0;
        transform: translateY(-50%) translateX(-50%);
        text-align: center;
        font-size: 5em;
        line-height: 1em;
        color: white;
    }

    .carousel-item .over {
        position: absolute;
        top: 0;
        width: 100%;
        height: 100%;
        background-image:
            url(../img/head/bana_09.png),
            url(../img/head/bana_08.png),
            url(../img/head/bana_07.png),
            url(../img/head/bana_06.png),
            url(../img/head/bana_05.png),
            url(../img/head/bana_04.png),
            url(../img/head/bana_03.png);
        background-repeat: no-repeat;
        background-position:
            20% 50%,
            bottom,
            top,
            left bottom,
            right top,
            bottom,
            top center;
        border-top: double;
        border-bottom: double;
    }
}

@media (max-width: 767px) {
    .carousel-item h2 {
        position: absolute;
        font-size: 1.2em;
        font-weight: 700;
        text-shadow: 5px 5px 5px #dcc48f;
        text-align: left;
    }

    .carousel-item h2.txt1 {
        position: absolute;
        left: 5%;
        top: 5%;
    }

    .carousel-item h2.txt2,
    .carousel-item h2.txt3 {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        font-size: 1.6em;
    }

    .carousel-item h2.txt3 {
        color: white;
    }

    .carousel-item .info-top {
        position: absolute;
        left: 10%;
        top: 30%;
        width: 80%;
        height: 68%;
        background: rgba(0, 0, 0, 0.3);
        padding: 10px;
        color: white;
        font-weight: 100;
    }
}

@keyframes animationZoom1 {
    100% {
        transform: scale(1.1)
    }
}

@keyframes animationZoom2 {
    50% {
        transform: scale(1.1)
    }
}

/*fotter*/
footer {
    background-image:
        url(../img/footer/foot_3.jpg),
        url(../img/footer/foot_2.png);
    background-color: #fe9895;
    background-repeat: repeat-x, no-repeat;
    background-position: bottom,
        center right 5%;
}

footer .container {
    height: 150px;
    position: relative;
}

footer h3.logo {
    position: absolute;
    left: 12.3%;
    top: 35px;
    font-size: 0.8em;
    color: #3a2e2e;
    background-image: url(../img/footer/foot_1.png);
    background-repeat: no-repeat;
    width: 247px;
    height: 105px;
    padding: 45px 70px 0 30px;
    font-family: 'type-gochic'
}

footer h3.logo span {
    font-size: 2.2rem;
    display: inline-block;
    font-family: 'KaiseiHarunoUmi-Regular';
}

footer ul.f1 {
    position: absolute;
    right: 1%;
    top: 0px;
    color: #3a2e2e;
}

footer .copyright {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 115px;
    font-weight: 100;
    font-size: 0.9em;
    margin-bottom: 0;
}

p.p-top {
    position: absolute;
    right: 14.5%;
    bottom: 30px
}

@media (max-width: 767px) {
    footer {
        color: white;
        height: 200px;
    }

    footer a.navbar-brand {
        position: absolute;
        right: 7%;
        top: 50px
    }

    footer .container {
        height: 90px;
        margin-bottom: 0;
    }

    footer .copyright {
        right: 0;
        top: 165px;
        width: 100%;
        text-align: center
    }

    p.p-top {
        bottom: 10px
    }

    footer h3.logo {
        left: 0;
        top: 62px;
        width: 247px;
        height: 105px;
    }
}

/*info*/

.info ul.list-1,
.info ul.list-2,
.info ul.list-3 {
    list-style: none;
}

@media (min-width: 768px) {
    .info {
        background: linear-gradient(to left,
                #fefefe 25%,
                #ede5da 50%,
                #fefefe 50%,
                #ede5da 100%);
        position: relative;
    }

    .info h2::before {
        content: url(../img/info/info_1.png);
        vertical-align: top;
        padding-right: 10px;
    }

    .info h2::after {
        content: url(../img/info/info_2.png);
        vertical-align: top;
        padding-left: 10px;
    }

    .info .col-lg-3 {
        padding-right: 0px;
    }

    .info ul.list-1 li,
    .info ul.list-2 li,
    .info ul.list-3 li {
        background: url(../img/info/info_3.png);
        background-position: left;
        background-repeat: no-repeat;
        background-size: auto 20px;
        padding: 10px 30px;
        line-height: 20px;
        font-size: 1.3rem;
        font-weight: 300;
        border-bottom: 2px dotted;
        margin-bottom: 10px
    }

    .info span {
        padding: 1px 15px 5px 15px;
        margin: 10px 10px 20px;
        font-size: 0.95rem;
        border-top-left-radius: 30px;
        border-top-right-radius: 30px;
        border-bottom-right-radius: 30px;
        border-bottom-left-radius: 30px;
        color: #fff;
    }

    .cat1 {
        background-color: #ff9933;
    }

    .cat2 {
        background-color: #ff9999;
    }

    .cat3 {
        background-color: #79bf5c;
    }

    /* .info-cont img {
        height: 100% !important;
    }*/


    .info-in {
        background: url(../img/info/info_4.png);
        background-repeat: repeat-x;
        background-position: bottom;
        padding: 50px 60px 60px 60px;
    }

    h4.p-item {
        position: relative;
        color: #333;
        background: #d9ccb7;
        line-height: 1.4;
        padding: 0.5em 0.5em 0.5em 0.7em;
        width: 500px
    }

    h4.p-item2 {
        position: relative;
        color: #333;
        background: #d9ccb7;
        line-height: 1.4;
        padding: 0.5em 0.5em 0.5em 0.7em;
        font-size: 1.2rem !important;
    }

}

@media (max-width: 767px) {
    .info {
        background: linear-gradient(to left,
                #fefefe 25%,
                #ede5da 50%,
                #fefefe 50%,
                #ede5da 100%);
        position: relative;
    }

    .info .col-lg-3 {
        padding-right: 0px;
    }

    .info ul {
        padding-left: 0;
    }

    .info ul.list-1 li {
        background-position: left;
        background-repeat: no-repeat;
        background-size: auto 20px;
        padding: 10px 10px 10px 70px;
        line-height: 20px;
        font-size: 1.2rem;
        font-weight: 300;
        border-bottom: 2px dotted;
        margin-bottom: 10px;
        text-indent: -4.1em;
    }


    .info ul.list-2 li,
    .info ul.list-3 li {
        background: url(../img/info/info_3.png);
        background-position: left;
        background-repeat: no-repeat;
        background-size: auto 20px;
        padding: 10px 10px 10px 30px;
        line-height: 20px;
        font-size: 1.2rem;
        font-weight: 300;
        border-bottom: 2px dotted;
        margin-bottom: 10px;
        text-indent: 0em;
    }

    .info span {
        padding: 1px 15px 5px 15px;
        margin: 10px 10px 20px;
        font-size: 0.95rem;
        border-top-left-radius: 30px;
        border-top-right-radius: 30px;
        border-bottom-right-radius: 30px;
        border-bottom-left-radius: 30px;
        color: #fff;
    }

    .cat1 {
        background-color: #ff9933;
    }

    .cat2 {
        background-color: #ff9999;
    }

    .cat3 {
        background-color: #79bf5c;
    }

    /*
    .info-cont img {
        height: 100% !important;
    }
*/

    .info-in {
        background: url(../img/info/info_4.png);
        background-repeat: repeat-x;
        background-position: bottom;
        padding: 10px;
    }

    h4.p-item {
        position: relative;
        color: #333;
        background: #d9ccb7;
        line-height: 1.4;
        padding: 0.5em 0.5em 0.5em 2.2em;
        width: 100%;
        text-indent: -1rem;
        font-size: 1.2rem
    }
}

h2.flow {
    position: relative;
    font-size: 3rem;
    padding: 10px 0;
    text-align: center;
    margin: 1.5em 0;
}

h2.flow:before {
    content: "";
    position: absolute;
    top: -1.8rem;
    left: 50%;
    width: 300px;
    height: 9rem;
    border-radius: 50%;
    border: 5px solid #fe908c;
    border-left-color: transparent;
    border-right-color: transparent;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

}

h2.flow i {
    font-size: 30px;
    font-size: 3rem;
    line-height: 60px;
    position: absolute;
    z-index: 1;
    top: -40px;
    left: calc(50% - 40px);
    width: 80px;
    height: 60px;
    text-align: center;
    color: #333;
}

h2.flow span {
    position: relative;
    z-index: 1;
}

.b-btm {
    border-bottom: 5px solid #635c5c;
}

.info-cont,
.info-cont2 {
    position: relative;
    overflow: hidden;
    background-color: white;
    margin: 20px 0 10px 0;
}

.info-cont {
    padding: 40px 10px 10px 10px;
}

.info-cont2 {
    padding: 40px;
}

.no-index1,
.no-index2,
.no-index3,
.no-index4,
.no-index5 {
    position: relative;
    padding: 0.4em 1em 1em 3.5em;
    border-top: #635c5c solid 5px;
}

.no-index1::before,
.no-index2::before,
.no-index3::before,
.no-index4::before,
.no-index5::before {
    position: absolute;
    content: '';
    top: 0;
    left: 0.5em;
    width: 2.5em;
    height: 2.5em;
    border-radius: 0 0 10px 10px;
    background: #635c5c;
}

.no-index1::after,
.no-index2::after,
.no-index3::after,
.no-index4::after,
.no-index5::after {
    position: absolute;
    bottom: 0em;
    left: 0.15em;
    width: 2em;
    text-align: center;
    line-height: 2em;
    color: #ffffff;
    font-size: 3rem
}

.no-index1::after {
    content: '01';
}

.no-index2::after {
    content: '02';
}

.no-index3::after {
    content: '03';
}

.no-index4::after {
    content: '04';
}

.no-index5::after {
    content: '05';
}

@media (max-width: 767px) {

    .no-index1::after,
    .no-index2::after,
    .no-index3::after,
    .no-index4::after,
    .no-index5::after {
        top: -1.1rem;
        left: -0.1em;
        width: 2em;
        font-size: 3rem
    }
}



h3.trade {
    position: relative;
}

h3.trade:after {
    content: "";
    position: absolute;
    left: 0;
    top: 40px;
    width: 100%;
    height: 4px;
    background: -webkit-repeating-linear-gradient(-45deg, #fe908c, #fe908c 4px, #fff 4px, #fff 8px);
    background: repeating-linear-gradient(-45deg, #fe908c, #fe908c 4px, #fff 4px, #fff 8px);
}



.info-cont h3 {
    font-size: 1em;
    text-align: center;
    margin-top: 10px;
}

.center-pink {
    padding: 10px;
    background: #FFD9D7;
    margin: 20px 10%;
    text-align: center
}

.p-cont {
    font-size: 0.1rem;
}

.info-center {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    background: #635c5c;
    width: 200px;
    color: #fff;
    padding: 5px;
    text-align: center;
    border-radius: 5px
}

.cattype {
    font-weight: 100;
    font-size: 0.8rem;
    padding: 5px;
    margin-top: 10px;
    color: white;
}

.cattype span {
    padding: 1px 10px 3px;
    margin: 10px 10px 10px 0
}

.type1 {
    background-color: #4e5cdd;
    border-radius: 10px
}

.type2 {
    background-color: #ff6666;
    border-radius: 10px
}

.type3 {
    background-color: #79bf5c;
    border-radius: 10px
}

.price-info {
    font-size: 1em;
    font-weight: 100;
    list-style: none;
    padding: 10px 5px;
    border-top: 1px dashed;
    border-bottom: 1px dashed;
}

.price-info li {
    padding: 3px
}

.price-info span {
    background: #696969;
    padding: 1px 5px 1px;
    margin-right: 10px;
    color: white;
    font-size: 0.8em;
    font-weight: 100;
}

.info-cont img {
    width: 100%;
    height: 200px;
    /*height: 300px;*/
    object-fit: cover;
    border-radius: 20px;
    
}

.ribon {
    position: relative;
    overflow: hidden;
}

.bx-wrapper {
    background-color: #d9ccb7;
}

.r-type {
    width: 200px;
    transform: rotate(-45deg);
    transform-origin: top center;
    position: absolute;
    top: 25px;
    left: calc(-200px / 2 + 20px);
    padding: 5px calc(50px / 2 - 10px * 1.414);
    box-sizing: border-box;
    text-align: center;
    color: #FFF;
}



/*商談中*/
.r-type1 {
    background-color: dodgerblue;
}

/*NEW*/
.r-type2 {
    background-color: red;
}

.r-type2 span {
    -webkit-animation: blink 1.5s ease-in-out infinite alternate;
    -moz-animation: blink 1.5s ease-in-out infinite alternate;
    animation: blink 1.5s ease-in-out infinite alternate;
}

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

    100% {
        opacity: 1;
    }
}

@-moz-keyframes blink {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes blink {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/*成立*/
.r-type3 {
    background-color: deeppink;
}

/*最新の子猫情報*/
.info2 h2 {
    text-align: center;
    background: url(../img/info/info_9.png), repeating-linear-gradient(45deg, #fe908c, #fe908c 4px, #fff 5px, #fff 10px);
    background-repeat: no-repeat, repeat;
    background-position: center, center;
    height: 100px;
    padding: 25px
}

.info2 span {
    border-bottom: 2px dotted
}

@media (max-width: 767px) {
    .info2 h2 {
        text-align: center;
        background: url(../img/info/info_10.png), repeating-linear-gradient(45deg, #fe908c, #fe908c 4px, #fff 5px, #fff 10px);
        background-repeat: no-repeat, repeat;
        background-position: center, center;
        height: 55px;
        padding: 10px
    }

    .info2 span {
        border-bottom: 2px dotted
    }
}

/*concept*/
.concept h3 {
    text-align: center;
    font-weight: 600;
}

.more-btn {
    text-align: center;
    margin-top: 20px;
}

.more-btn a {
    padding: 10px 20px;
}

.concept img {
    width: 100%;
    height: auto;
}

@media (min-width: 768px) {
    .more-btn a {
        padding: 10px 60px;
    }
}

/*quality*/
.quality-back img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.quality-cont1,
.quality-cont2,
.quality-cont3 {
    padding: 0;
}

@media (min-width: 768px) {
    .quality-back img {
        width: 100%;
        height: 100%;
        border-radius: 50px;
    }

    .quality-cont1 {
        position: relative;
        margin: 20px 20px 40px 0;
        padding: 0
    }

    .quality-cont2 {
        position: relative;
        margin: 20px 10px 40px 10px;
        padding: 0;
    }

    .quality-cont3 {
        position: relative;
        margin: 20px 0 40px 20px;
        padding: 0
    }

    .quaelity {
        padding-right: 10px;
    }

    .quality .col-lg-4 {
        padding-right: 0px;
    }

    .quality-cont1::before {
        content: url(../img/type/type_1.png);
        position: absolute;
        top: -7%;
        left: 5%;
        z-index: 1;
        padding-right: 10px;
    }

    .quality-cont2::before {
        content: url(../img/type/type_1.png);
        position: absolute;
        top: -7%;
        left: 5%;
        z-index: 1;
        padding-right: 10px;
    }

    .quality-cont3::before {
        content: url(../img/type/type_1.png);
        position: absolute;
        top: -7%;
        left: 5%;
        z-index: 1;
        padding-right: 10px;
    }
}

.quality h3 {
    font-size: 1.5em;
    font-weight: 100;
    margin: 0;
    padding: 0;
    text-align: center;
    line-height: 1em;
}

.q-title {
    background-color: ;
    margin-top: 10px;
    padding: 20px;
    border-radius: 20px;
    background: url(../img/type/type_2.png) no-repeat right bottom #f1ebe2
}

.q-title h3 {
    border-bottom: dashed 1px;
    padding-bottom: 5px
}

.q-title p {
    text-align: center;
    margin: 0
}

/*voice.*/
.voice-back {
    background: repeating-linear-gradient(#f0dcdc, #f0dcdc 3px, #fff 3px, #fff 6px);
    border-top: 10px solid #ff8884;
    position: relative;
}

.voice-back-in {
    background: url(../img/info/info_4.png) repeat-x bottom;
    padding-bottom: 20px;
}

.voice-back h2 {
    background: #fff;
    width: 30%;
    text-align: center;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    padding: 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    border-right: 1px solid #ff8884;
    border-left: 1px solid #ff8884;
    border-bottom: 1px solid #ff8884;
}

.voice-back img {
    width: 100%;
    height: 250px;
    padding: 20px 10px 0 10px;
    object-fit: cover;
}

.voice-cont1 {
    position: relative;
    background-color: white;
    margin: 50px 0 10px 0;
    padding: 0;
    height: 230px
}

.voice-cont1 p {
    padding: 20px 20px 0 20px;
}

.voice h3 {
    font-size: 1.5em;
    text-align: center !important;
    background: #635c5c;
    color: #FFF;
    padding: 10px !important;
}

@media (min-width: 768px) {
    .voice p {
        padding: 0px 20px 10px;
    }

    .voice-back img {
        width: 100%;
        height: 100%;
        padding: 30px 20px 0 20px;
    }

    .vb-mt {
        margin-top: 35px;
    }
}

.voice h3 {
    text-align: right;
    font-size: 1.2em;
    padding: 20px
}

/*猫舎紹介*/
.intro {
    position: relative;
    height: 100px;
    border-top: 2px dotted;
    margin-left: 80px
}

.intro-cat1,
.intro-cat5 {
    position: absolute;
    top: -2px;
    left: -70px;
    padding: 5px 10px 7px 10px;
    background-color: #ff8884;
    color: #fff;
    font-size: 3rem;
    text-align: center
}

.intro-cat1 {
    background-color: #ff8884;
}

.intro-cat5 {
    background-color: slateblue;
}

.intro-cat2,
.intro-cat3,
.intro-cat4,
.intro-cat6 {
    position: absolute;
    padding: 0px 2px 3px 3px;
    background-color: #635c5c;
    color: #fff;
    font-size: 2rem;
    text-align: center;
}

.intro-cat2 {
    top: 40px;
    left: 5px;
}

.intro-cat3 {
    top: 40px;
    left: 50px;
}

.intro-cat4 {
    top: 40px;
    left: 95px;
}

.intro-cat6 {
    top: 40px;
    left: 5px;
}

/*猫舎紹介*/
.house {
    position: relative;
    height: 700px;
}

.house-in1 img {
    position: absolute;
    width: 400px;
    left: 50%;
    transform: translateX(-50%);
}

.house-in2 img {
    position: absolute;
    width: 350px;
    top: 310px;
    left: 8%
}

.house-in3 img {
    position: absolute;
    width: 200px;
    top: 310px;
    left: 55%
}

.house-in4 img {
    position: absolute;
    width: 200px;
    top: 520px;
    left: 27%
}

.house-in5 img {
    position: absolute;
    width: 250px;
    top: 370px;
    left: 50%
}

/*事業者情報*/
.comp-info {
    margin: 50px;
    padding: 50px;
    background-color: #FFF;
    position: relative;
}

.comp-info table {
    width: 70%;
    margin: auto;
}

.comp-info-in1 {
    position: absolute;
    top: 75px;
    left: -100px;
    width: 30%
}

.comp-info-in2 {
    position: absolute;
    top: 210px;
    right: -110px;
    width: 30%
}

.voice-label {
    position: absolute;
    right: 5%;
    top: -100px;
}

@media (max-width: 767px) {

    .intro-cat6,
    .intro-cat2 {
        font-size: 1.5rem;
    }




    .house {
        height: auto;
    }

    .house-in1 img {
        position: static;
        margin: 10px auto;
        transform: none;
        width: 100%;
    }

    .house-in2 img {
        position: static;
        width: 100%;
        margin: 10px auto;
        transform: none;
    }

    .house-in3 img {
        position: static;
        margin: 10px auto;
        transform: none;
        width: 100%;
    }

    .house-in4 img {
        position: static;
        margin: 10px auto;
        transform: none;
        width: 100%;
    }

    .house-in5 img {
        position: static;
        width: 50%;
        margin-left: 25%;
    }

    .voice-back-in {
        padding: 10px 0px;
    }

    .voice-back h2 {
        width: 80%;
    }

    .comp-info {
        margin: 0px;
        padding: 10px;
        background-color: #FFF;
        position: relative;
    }

    .comp-info table {
        width: 100%;
        margin: auto;
    }

    .comp-info-in1 {
        position: static;
        width: 50%;
        margin: auto;
    }

    .comp-info-in2 {
        position: static;
        width: 50%;
        margin: auto;
    }

    .voice-label {
        position: static;
        width: 30%;
        margin: 50px auto 0;
    }

    .voice-back img {
        height: auto;
    }

    .vb-mt {
        margin-top: 60px;
        margin-bottom: 35px;
    }

}

/*contact*/
.contact h2 {
    text-align: center;
}

.phone2 .psub1 {
    font-size: 1.4em;
    font-weight: 600
}

.phone2 .psub2 {
    font-size: 0.8em;
}

.phone2 {
    background: url(../img/phone-icon_03.png) no-repeat 0 10px;
    background-size: 25px;
    padding: 0 0 5px 25px;
    margin: 15px 0 0 20px
}

@media (min-width: 768px) {
    .contact h2 {
        text-align: right;
        margin-top: 25px;
        margin-right: 20px;
    }

    .phone2 {
        background: url(../img/phone-icon_03.png) no-repeat 0 10px;
        background-size: 25px;
        padding: 0 0 5px 25px;
        margin: 15px 0 0 20px
    }
}

/*footer*/
@media (max-width: 767px) {
    .footer-menu {
        display: none;
    }
}

/*Callender*/
@media (min-width: 768px) {
    .cal-view {
        display: none;
    }
}

@media (max-width: 767px) {
    .cal-view2 {
        display: none;
    }

    caption {
        caption-side: top !important;
        text-align: center !important;
    }
}

table#wp-calendar {
    width: 100%;
}

#wp-calendar table {}

table#wp-calendar th {
    padding: 5px;
}

#wp-calendar thead {}

table#wp-calendar td {
    padding: 5px;
}

table#wp-calendar td a {
    /*リンクされた文字*/
    color: #ffa61a;
    font-style: normal;
    text-decoration: underline;
}

table#wp-calendar td a:link {
    /*未訪問のリンク*/
    color: #ffa61a;
    font-style: normal;
    text-decoration: underline;
}

table#wp-calendar td a:visited {
    /*訪問後のリンク*/
    color: #ffa61a;
    text-decoration: underline;
}

table#wp-calendar td a:hover {
    /*マウスをのせたとき*/
    color: #ffa61a;
    font-style: normal;
    text-decoration: none;
}

table#wp-calendar td a:active {
    /*クリック中*/
    text-decoration: none;
}

caption {
    caption-side: top !important;
    text-align: center !important;
}
