@charset "UTF-8";

/*
Theme Name: MY THEME
Author:PICNIC
Description: This is my original theme
Version: 1
*/

body {
    margin: 0;
    font-family: "Sawarabi Mincho";
    line-height: 1.5;
    background: #fff4ff;
    color: #696969;
}

/*　基本構造　*/
/*　ヘッダーとフッターをバーの形にする設定　*/
/*　-----FOOTER-----　*/
footer img {
    width: 60%;
}

.footer-img {
    text-align: center;
}

@media(max-width:599px) {

    footer img {
        width: 100%;
    }
}


.copyright {
    background: #fabecf;
}

.copyright p {
    color: #666;
    font-size: 14px;
    text-align: left;
    padding: 30px;
    line-height: 30px;
    margin: auto;
}

/*　ボックスの上下の隙間　*/
.sub-header {
    padding-top: 5px;
}

.contents {
    padding-bottom: 20px;
}

.sub {
    padding-bottom: 20px;
}


@media(max-width: 599px) {
    .contents {
        padding-top: 10px;
    }
}

/*　ボックスの左右の余白　*/
header,
.container,
.sub-header {
    padding-left: 10px;
    padding-right: 10px;
}

@media(min-width: 768px) {

    /*　コンテンツとサイドバーを横に並べる設定　*/
    .container::after {
        content: "";
        display: block;
        clear: both;
    }

    .contents {
        float: left;
        width: 70%;
    }

    .sub {
        float: left;
        width: 30%;
    }


    /*　コンテンツとサイドバーの隙間　*/
    .contents {
        padding-right: 50px;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
}

/*　全体の横幅　*/
@media(min-width: 1040px) {

    .container,
    .header-inner,
    .footer-inner,
    .sub-header {
        width: 1000px;
        margin-left: auto;
        margin-right: auto;
    }
}

/*　-----HEADER-----　*/
/*　サイト名　*/
.site h1 a {
    display: inline-block;
    padding: 10px;
    width: 190px;
    text-decoration: none;
}

.site h1 {
    margin: 0;
    font-family: 'Mrs Saint Delafield', cursive;
    font-size: 48px;
}

/*　-----記事の概要-----　*/
/*　概要　*/
.gaiyou1 {
    color: #696969;
    background: url(flower1.png) 6px center no-repeat;
    background-size: 2rem auto;
    padding-left: 3rem;
    font-size: 2rem;
    padding-top: 10px;
    padding-bottom: 10px;
}

.gaiyou a {
    display: block;
    padding: 20px 0;
    border-bottom: dotted 2px #fabecf;
    color: #696969;
    ;
    text-decoration: none;

}

.gaiyou a:hover {
    background-color: #fae3e9;
}

.gaiyou a::after {
    content: "";
    display: block;
    clear: both;
}

.gaiyou img {
    float: left;
    width: 200px;
}

.gaiyou .text {
    float: none;
    width: auto;
    margin-left: 230px;
}

.gaiyou h1 {
    margin-top: 0;
    margin-bottom: 10px;
    font-size: 20px;
}

.gaiyou p {
    margin: 0;
    font-size: 16px;
}

.gaiyou .kiji-date {
    margin-bottom: 8px;
}

@media(max-width:599px) {
    .gaiyou a {
        padding: 10px 0;
    }

    .gaiyou img {
        width: 100px;
    }

    .gaiyou .text {
        margin-left: 110px;
    }

    .gaiyou h1 {
        font-size: calc((100vw - 110px) / 20);
    }

    .gaiyou p {
        visibility: hidden;
        height: 0;
    }

    .gaiyou .kiji-date {
        margin-bottom: 0;
    }
}

/*　概要(大サイズ)　*/
.gaiyou-large a {
    display: block;
    padding: 20px 0;
    border-bottom: dotted 2px #fabecf;
    color: #696969;
    ;
    text-decoration: none;
}

.gaiyou-large:first-child a {
    padding-top: 0;
}

.gaiyou-large a:hover {
    background-color: #fae3e9;
}

.gaiyou-large h1 {
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 26px;
}

.gaiyou-large p {
    margin: 0;
    font-size: 16px;
}

.gaiyou-large .kiji-date {
    margin-bottom: 8px;
}

.gaiyou-large .thumb {
    width: 100%;
    height: 350px;
    background-size: cover;
    background-position: 50% 50%;
}

@media(max-width:599px) {
    .gaiyou-large a {
        padding: 10px 0;
    }

    .gaiyou-large h1 {
        font-size: 18px;
    }

    .gaiyou-large p {
        font-size: 16px;
    }

    .gaiyou-large .thumb {
        height: 200px;
    }
}

/*　-----サイドバー-----　*/
/*　メニュー　*/
.mymenu {
    margin-bottom: 30px;
}

.mynenu-aicon h2 {
    margin-top: 0;
    border-bottom: solid 2px #fabecf;
    color: #666;
    font-size: 18px;
    background: url(flower.png) 18px center no-repeat;
    background-size: 40px auto;
    padding-left: 4rem;
    padding-top: 18px;
}

.mymenu ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.mymenu li a {
    display: block;
    padding: 10px 5px;
    color: #696969;
    font-size: 14px;
    text-decoration: none;
}

.mymenu li a:hover {
    background-color: #fae3e9;
}

/*　サムネイル画像を付けたメニューのデザイン　*/
.mymenu-thumb li a {
    padding: 5px 0;
    border-bottom: dotted 1px #fabecf;
    color: #666;
}

.mymenu-thumb li a::after {
    content: "";
    display: block;
    clear: both;
}

.mymenu-thumb li .thumb {
    float: left;
    width: 60px;
    height: 60px;
    background-size: cover;
    background-position: 50% 50%;
}

.mymenu-thumb li .text {
    float: none;
    width: auto;
    margin-left: 75px;
}

.mymenu-thumb li span {
    display: block;
    color: #7a4e9a;
    font-size: 14px;
}

/*　記事　*/
.kiji::after {
    content: "";
    display: block;
    clear: both;
}

.kiji h1 {
    margin-top: 0;
    margin-bottom: 10px;
    font-size: 30px;
    color: #696969;
    background: url(bitmap.png) 10px center no-repeat;
    background-size: 40px auto;
    padding-left: 4rem;
}

.kiji p {
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 16px;
}

@media(max-width:599px) {

    .kiji h1 {
        font-size: 25px;
        margin-top: 0;
        margin-bottom: 10px;
        color: #696969;
        background: url(bitmap.png) 8px center no-repeat;
        background-size: 2rem auto;
        padding-left: 3rem;
    }
}

/*　小見出し　*/
.kiji h2 {
    position: relative;
    margin-top: 20px;
    padding-left: 32px;
    padding-bottom: 5px;
    border-bottom: solid 2px #ad7eb4;
    font-size: 24px;
    clear: both;
}

.kiji h2::before {
    position: absolute;
    left: 0px;
    top: 3px;
    content: '\f118';
    color: #ad7eb4;
    font-family: 'FontAwesome';
    font-size: 28px;
    line-height: 1;
}

.kiji h3 {
    margin-top: 25px;
    padding-left: 10px;
    border-left: solid 10px #fabecf;
    font-size: 18px;
    clear: both;
    /*　clear: both=ストッパー(入り込まないように)　*/
}

.kiji h4 {
    position: relative;
}

.kiji h4::after {
    position: absolute;
    bottom: -10px;
    height: 2px;
    width: 100%;
    background: linear-gradient(to right, #a5e2fe, blue);
    content: "";
    left: 0;
}

@media(max-width: 599px) {
    .kiji h2 {
        padding-left: 21px;
        font-size: 18px;
    }

    .kiji h2::before {
        font-size: 20px;
    }

    .kiji h3 {
        padding-left: 6px;
        font-size: 15px;
    }
}

/*　ギフトおすすめ　*/
.point {
    position: relative;
    margin: 40px 0 30px;
    padding: 25px 20px 20px;
    border-radius: 10px;
    background-color: #ffd6ea;
    font-size: 14px;
    clear: both;
}

.point::before {
    position: absolute;
    left: 15px;
    top: -15px;
    content: '\f06b';
    z-index: 2;
    width: 32px;
    height: 32px;
    padding-top: 3px;
    border-radius: 16px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #ad7eb4;
    color: #fff;
    font-family: FontAwesome;
    font-size: 26px;
    line-height: 1;
    text-align: center;
}

.point::after {
    position: absolute;
    left: 32px;
    top: -8px;
    z-index: 1;
    content: 'POINT';
    padding: 3px 10px 3px 20px;
    border-radius: 5px;
    background-color: #ad7eb4;
    color: #fff;
    font-family: Verdana, Helvetica, sans-serif;
    font-weight: bold;
    line-height: 1;
}

/*　お知らせ　*/
.notice {
    position: relative;
    margin: 40px 0 30px;
    padding: 20px;
    border-radius: 10px;
    border: dotted 2px #dc6b9a;
    background-color: #fdede4;
    font-size: 14px;
    clear: both;
}

.notice::before {
    position: absolute;
    left: 20px;
    top: -15px;
    content: '\f073';
    background-color: #fff;
    color: #dc6b9a;
    font-family: FontAwesome;
    font-size: 26px;
    line-height: 1;
}

/*　おすすめ　*/
.recommended {
    position: relative;
    margin: 40px 0 30px;
    padding: 20px;
    border-radius: 10px;
    border: dotted 2px #dc6b9a;
    background-color: #fdede4;
    font-size: 14px;
    clear: both;
}

.recommended::before {
    position: absolute;
    left: 20px;
    top: -15px;
    content: '\f559';
    background-color: #fff;
    color: #dc6b9a;
    font-family: FontAwesome;
    font-size: 26px;
    line-height: 1;
}

/*　投稿・更新　*/
.kiji-date {
    margin-bottom: 20px;
    color: #ad7eb4;
    font-size: 14px;
}

@media(max-width:599px) {

    /* 599px以下の場合 */
    .kiji-date {
        font-size: 3vw;
    }
}

/*　タグ　*/
.kiji-tag {
    margin-bottom: 18px;
}

.kiji-tag ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.kiji-tag li a {
    display: block;
    margin-right: 5px;
    margin-bottom: 2px;
    padding: 3px 5px;
    border-radius: 2px;
    background-color: #d04f97;
    color: #fff;
    font-size: 12px;
    text-decoration: none;
    transition: background-color .5s;
}

.kiji-tag li a:hover {
    background-color: #d48ab4;
    color: #fff;
}

.kiji-tag ul::after {
    content: "";
    display: block;
    clear: both;
}

.kiji-tag li {
    float: left;
    width: auto;
}

.kiji-tag li a::before {
    content: "\f02b";
    font-family: FontAwesome;
    margin-right: 4px;
}

/*　パンくずリスト　*/
.bread ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

.bread li a {
    display: inline-block;
    padding: 5px 5px;
    color: #888;
    font-size: 14px;
    text-decoration: none;
}

.bread li a[href]:hover {
    background: #eee;
}

.bread ol::after {
    content: "";
    display: block;
    clear: both;
}

.bread li {
    float: left;
    width: auto;
}

.bread li::after {
    content: '\003e';
    margin-left: 2px;
    margin-right: 2px;
    color: #888;
}

.bread li:last-child::after {
    content: none;
}

.bread i {
    font-size: 16px;
}

.bread span {
    display: inline-block;
    text-indent: -9999px;
}

@media(max-width:599px) {
    .bread li:last-child {
        text-indent: -9999px;
    }
}

/*-------カテゴリー/タグ---------*/
.contents > h1 {
    margin-top: 0;
    font-size: 30px;
    background: url(flower2.png) 6px center no-repeat;
    background-size: 3rem auto;
    padding-left: 4rem;
    font-size: 2rem;
    padding-top: 18px;
    color: #696969;
}

@media(max-width:599px) {
    .contents > h1 {
        font-size: 20px;
    }

    .archive .bread li:last-child {
        text-indent: 0;
    }
}

/*-------ナビゲーションメニュー---------*/
#mainmenu {
    display: none;
}

.mainmenu ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.mainmenu li a {
    display: block;
    padding: 10px 5px;
    color: #696969;
    font-size: 18px;
    text-decoration: none;
}

.mainmenu li a:hover {
    background-color: #fae3e9;
}

/*　トグルボタン　*/
.header-inner {
    position: relative;
}

#navbtn {
    position: absolute;
    top: 15px;
    right: 0;
    padding: 6px 12px;
    border: solid 2px #ad7eb4;
    border-radius: 5px;
    background-color: #fff;
    cursor: pointer;
}

#navbtn:hover {
    background-color: #fff4f9;
}

#navbtn:focus {
    outline: none;
}

#navbtn i {
    color: #888;
    font-size: 18px;
}

#navbtn span {
    display: inline-block;
    text-indent: -9999px;
}

@media(min-width: 768px) {

    /*　サイト名とナビゲーションを横に並べる設定　*/
    .header-inner::after {
        content: "";
        display: block;
        clear: both;
    }

    .site {
        float: left;
        width: auto;
    }

    .sitenav {
        float: right;
        width: auto;
    }

    /*　ナビゲーションメニューのリンクを横に並べる設定　*/
    #mainmenu {
        display: block !important;
    }

    .mainmenu {
        margin-top: 10px;
    }

    .mainmenu ul::after {
        content: "";
        display: block;
        clear: both;
    }

    .mainmenu li {
        float: left;
        width: auto;
    }

    .mainmenu li a {
        padding: 10px 15px;
    }

    /*　トグルボタン　*/
    #navbtn {
        display: none;
    }
}

/*　シェアボタン　*/
.share {
    margin-top: 40px;
    clear: both;
}

.share ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.share li a {
    display: block;
    padding: 8px 17px;
    border-radius: 10px;
    color: #fff;
    font-size: 12px;
    text-decoration: none;
}

.share li a:hover {
    opacity: 0.8;
}

.share ul::after {
    content: "";
    display: block;
    clear: both;
}

.share li {
    float: left;
    width: auto;
    margin-right: 5px;
}

.share-tw {
    background-color: #55acee;
}

.share-fb {
    background-color: #3b5998;
}

.share-gp {
    background-color: #dd4b39;
}

@media(max-width:599px) {
    .share span {
        display: inline-block;
        text-indent: -9999px;
    }

    .share li a {
        padding: 8px 10px;
    }
}

/*　ページネーション　*/
.pagination {
    margin: 40px 0 30px;
    text-align: center;
}

.pagination ul {
    display: inline-block;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pagination li a,
.pagination li > span {
    display: block;
    margin: 0 5px;
    padding: 6px 8px;
    border: solid 1px #fabecf;
    color: #696969;
    ;
    font-size: 14px;
    text-decoration: none;
}

.pagination li > span {
    /*　>直下の　直後の　*/
    background-color: #fabecf;
}

.pagination li a:hover {
    background-color: #ffeaf4;
}

.pagination ul::after {
    content: "";
    display: block;
    clear: both;
}

.pagination li {
    float: left;
    width: auto;
}

/*　記事一覧のページネーション　*/
.pagination-index li .dots {
    padding: 6px 2px;
    border-color: transparent;
    background-color: transparent;
}

@media(max-width:599px) {

    .pagination-index li a,
    .pagination-index li > span {
        margin: 0;
        padding: 6px 7px;
        border-left: none;
        font-size: 12px;
    }

    .pagination-index li:first-child a,
    .pagination-index li:first-child > span {
        border-left: solid 1px #fabecf;
    }

    .pagination-index li .dots {
        border-right-color: #fabecf;
    }
}


/*　サムネイル画像に文字を重ねたメニュー　*/
.mymenu-large li a {
    position: relative;
    margin-bottom: 10px;
    padding: 0;
}

.mymenu-large li a:hover {
    opacity: 0.8;
}

.mymenu-large li .thumb {
    width: 100%;
    height: 120px;
    background-size: cover;
    background-position: 50% 50%;
}

.mymenu-large li .text {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 35px;
    padding: 5px 10px;
    background-color: rgba(139, 0, 139, 0.8);
    color: #fff;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    ;
    box-sizing: border-box;
}

@media(min-width: 400px) and (max-width: 767px) {
    .mymenu-large ul::after {
        content: "";
        display: block;
        clear: both;
    }

    .mymenu-large li {
        float: left;
        width: 50%;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        ;
        box-sizing: border-box;
    }

    .mymenu-large li:nth-child(odd) {
        clear: both;
        padding-right: 7px;
    }

    .mymenu-large li:nth-child(even) {
        padding-left: 7px;
    }
}

/*　-----ウィジェット-----　*/
/* 検索フォーム　*/
.search-field {
    width: 100%;
    height: 44px;
    padding: 5px;
    border: solid 2px #fabecf;
    border-radius: 0;
    background-image: none;
    font-family: inherit;
    font-size: 14px;
    -webkit-appearance: none;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.screen-reader-text,
.search-submit {
    display: block;
    visibility: hidden;
    height: 0;
}

.widgettitle {
    font-size: 0.8rem;
    font-weight: normal;
    color: #7a4e9a;
    margin: 0;
    margin-top: 0;
    background: url(flower3.png) 6px center no-repeat;
    background-size: 1rem auto;
    padding-left: 2rem;
}

.widget_media_image {
    margin-bottom: 1rem;
}

.widget_media_gallery {
    background: url(41FRsQi5+SL.jpg);
}

/* タグクラウド　*/
.tagcloud a {
    display: inline-block;
    color: #2288bb;
    text-decoration: none;
}

/*　関連記事メニュー　*/
.mymenu-related {
    margin: 40px 0 0;
    padding: 0 20px 20px;
    border: solid 1px #fabecf;
}

.mymenu-related h2 {
    padding: 0 0 0 7px;
    border-left: solid 8px #fabecf;
    border-bottom: none;
    font-size: 20px;
    font-weight: normal;
}

.mymenu-related h2::before {
    content: none;
}

.mymenu-related li a {
    border: none;
    color: #696969;
    ;
}

@media(max-width: 599px) {
    .mymenu-related {
        padding: 0px 10 10px;
    }

    .mymenu-related li .thumb {
        width: 80px;
        height: 50px;
    }

    .mymenu-related li .text {
        margin-left: 95px;
    }
}

@media(min-width: 600px) {
    .mymenu-related ul::after {
        content: "";
        display: block;
        clear: both;
    }

    .mymenu-related li {
        float: left;
        width: 25%;
        padding: 0 5px;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .mymenu-related li .thumb {
        width: 100%;
        height: 80px;
        margin-bottom: 5px;
    }

    .mymenu-related li .text {
        margin-left: 0;
    }
}

/*　-----固定ページ-----　*/
/*　コンテンツメニュー　*/
.mymenu-page {
    border: solid 2px #fae3e9;
}

.mymenu-page h2 {
    margin: 0;
    padding: 10px;
}

.mymenu-page li a {
    padding: 20px 10px;
    border-bottom: solid 1px #fae3e9;
}

.mymenu-page li:last-child a {
    border: none;
}

/*　-----トップページ-----　*/
/*　ヘッダー画像　*/
.hero {
    position: relative;
}

.hero-img {
    width: 100%;
    height: 300px;
    margin: 20px 0 10px;
    background-color: #ddd;
    background-size: cover;
    background-position: 50% 50%;
}

.hero-text {
    position: absolute;
    top: 120px;
    right: 30px;
    color: #fff;
    font-size: 30px;
    font-family: 'Montserrat', sans-serif;
    text-shadow: 0 0 10px #f00, 0 0 10px #f00, 0 0 10px #f00, 0 0 10px #f00, 0 0 10px #f00, 0 0 10px #f00;
}

@media(max-width: 599px) {
    .hero-img {
        height: 200px;
    }

    .hero-text {
        top: 100px;
        right: 10px;
        font-size: 18px;
    }
}

/*　トップページのコンテンツメニュー　*/
.mymenu-top li a {
    position: relative;
    margin-bottom: 10px;
    padding: 0;
}

.mymenu-top li a:hover {
    opacity: 0.8;
}

.mymenu-top li .thumb {
    width: 100%;
    height: 100px;
    background-size: cover;
    background-position: 50% 50%;
}

.mymenu-top li h2 {
    margin: 10px 0 5px;
    border: none;
    font-size: 20px;
}

.mymenu-top li p {
    margin: 0;
    font-size: 14px;
}

@media(min-width: 600px) {
    .mymenu-top ul::after {
        content: "";
        display: block;
        clear: both;
    }

    .mymenu-top li {
        float: left;
        width: 50%;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .mymenu-top li:nth-child(odd) {
        clear: both;
        padding-right: 15px;
    }

    .mymenu-top li:nth-child(even) {
        padding-left: 15px;
    }
}

/*　トップページのお知らせメニュー　*/
.mymenu-news {
    padding: 20px;
    border: solid 1px #fae3e9;
}

.mymenu-news ul {
    list-style: none;
}

.mymenu-news li {
    position: relative;
    padding-left: 20px;
}

.mymenu-news li::before {
    position: absolute;
    left: 0px;
    top: 12px;
    content: '\f138';
    color: #aaa;
    font-family: 'FontAwesome';
    line-height: 1;
}

/*　-----画像-----　*/
/*　画像のキャプション　*/
.wp-caption-text {
    margin: 0;
    color: #666;
    font-size: 10px;
    text-align: center;
}

.wp-caption-text a {
    color: #666;
}

/*　画像の配置　*/
.aligncenter {
    display: block;
    margin-top: 30px;
    margin-bottom: 30px;
    margin-left: auto;
    margin-right: auto;
}

@media(max-width: 599px) {

    .alignleft,
    .alignrigth {
        float: none !important;
        display: block;
        margin-top: 30px;
        margin-bottom: 30px;
        margin-right: auto;
        margin-left: auto;
    }
}

@media (min-width: 600px) {

    .alignleft {
        float: left;
        margin-top: 10px;
        margin-bottom: 20px;
        margin-right: 30px;
    }

    .alignrigth {
        float: right;
        margin-top: 10px;
        margin-bottom: 20px;
        margin-right: 30px;
    }
}


/* Internet Explorer用の設定 */
a img {
    border: none;
}

/*　大きい画像用の設定　*/
img,
.wp-caption {
    /*　小さい画像を拡大させない　*/
    max-width: 100%;
    height: auto;
}

/*　アイキャッチ画像　*/
.catch {
    margin-top: 30px;
    margin-bottom: 30px;
}

/*　-----外部コンテンツ-----　*/
iframe {
    max-width: 100%;
}

/*　-----よくある質問-----　*/
.renshu3 dt {
    font-weight: bold;
    border-bottom: 1px #ccc solid;
}

.renshu3 dt,
.renshu3 dd {
    padding: 6px;
    margin: 0;
}

/*　-----404-----　*/
.error1 {
    font-size: 8rem;
    font-weight: bold;
    color: #ad7eb4;
    margin: 0;
    margin-top: 50px;
    background: url(blog-small-banner.png) 150px no-repeat;
    background-size: 6rem auto;
}

.error {

    color: #696969;
    line-height: 30px
}

.error-content {
    text-align: center;
}

@media(max-width: 599px) {
    .error1 {
        font-size: 6rem;
        font-weight: bold;
        color: #ad7eb4;
        margin: 0px;
        margin-top: 50;
        background: url(blog-small-banner.png) no-repeat;
        background-size: 5rem auto;
        text-align: center;
    }
}
