@charset "utf-8";

/* CSS Document */
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

body {
    font-family: Meiryo, 'Hiragino Kaku Gothic ProN', sans-serif;
}

#ninkatsu a:hover {
    opacity: 0.8;
    filter: alpha(opacity=80);
    /* ie 6 7 */
    -ms-filter: "alpha(opacity=80)";
    /* ie 8 */
}

#ninkatsu {
    color: #333;
    line-height: 1.8;
}

/* ↑#xxxxには固有のID名を入れてください。この上はID名以外編集しないでください。内容を修正したいときは、新たにこの下に↓指定しなおしてください */

/* OPオリジナルココカラ */

#ninkatsu {
    width: 100%;
    margin: 0 auto 1em;
    background-color: #fff;
    font-size: 100%;
}

#ninkatsu img {
    width: 100%;
    vertical-align: top;
}


/*===========================================================
sns
============================================================= */
#ninkatsu .sns {
    display: grid;
    display: -ms-grid;
    /* IE */
    width: 100%;
    margin: 2em 0;
    padding: 0 1em;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 1%;
    -ms-grid-columns: 1fr 1% 1fr 1% 1fr 1% 1fr;
    /* IE */
    list-style-type: none;
}

#ninkatsu .sns > li {
    min-height: 40px;
    border-radius: 5px;
    overflow: hidden;
    /* 文字を非表示 */
    text-indent: 100%;
    /* 文字を非表示 */
    white-space: nowrap;
    /* 文字を非表示 */
    -ms-grid-row: 1;
    /* IE */
}

#ninkatsu .sns li a {
    display: block;
}

#ninkatsu .sns li:hover {
    opacity: 0.8;
    cursor: pointer;
}

#ninkatsu .sns li:nth-child(1) {
    background: #1877f2 url("/resources/ninkatsu/img/sns_bt_fb.png") no-repeat center;
    -ms-grid-column: 1;
}

/* Facebook */
#ninkatsu .sns li:nth-child(2) {
    background: #06c755 url("/resources/ninkatsu/img/sns_bt_line.png") no-repeat center;
    -ms-grid-column: 3;
}

/* LINE */
#ninkatsu .sns li:nth-child(3) {
    background: #1d9bf0 url("/resources/ninkatsu/img/sns_bt_tw.png") no-repeat center;
    -ms-grid-column: 5;
}

/* Twitter */
#ninkatsu .sns li:nth-child(4) {
    background: #00a4de url("/resources/ninkatsu/img/sns_bt_htb.png") no-repeat center;
    -ms-grid-column: 7;
}

/* HatenaBookmark */

@media screen and (max-width:640px) {

    #ninkatsu .sns li:nth-child(1),
    #ninkatsu .sns li:nth-child(2),
    #ninkatsu .sns li:nth-child(3),
    #ninkatsu .sns li:nth-child(4) {
        background-size: contain;
    }
}

/*.fr
---------------------------------------------*/
#ninkatsu .fr {
    margin: 1em;
}

/*.tx
---------------------------------------------*/
#ninkatsu p.tx {
    margin-bottom: 1em;
    font-size: 114%;
    text-align: justify;
}

#ninkatsu p.tx_s {
    margin: 1em auto;
}

/*.ph
---------------------------------------------*/
#ninkatsu p.ph {
    margin-bottom: 1em;
}



/*.supervisor
---------------------------------------------*/
#ninkatsu .supervisor {
    display: flex;
    margin: 1em auto 2em;
    padding: 10px;
    border: 1px solid #ccc;
}

#ninkatsu .supervisor .ph {
    flex-basis: 30%;
}

#ninkatsu .supervisor .supervisor_list {
    flex-basis: 70%;
    margin-left: 10px;
}

#ninkatsu .supervisor h3 {
    font-size: 120%;
    font-weight: bold;
}

#ninkatsu .supervisor h2 {
    padding-bottom: 1em;
    font-size: 120%;
    text-decoration: underline;
    cursor: pointer;
}

#ninkatsu .supervisor .tx {
    border-top: 1px solid #ccc;
    padding-top: 1em;
    margin: 0;
}

/*.summary
---------------------------------------------*/
#ninkatsu .summary {
    margin: 1em auto 2em;
    padding: 10px;
    border: 1px solid #ccc;
}

#ninkatsu .summary h2 {
    padding: .5em 1em 0;
    font-size: 120%;
    font-weight: bold;
}

#ninkatsu .summary ul {
    padding: .5em;
    list-style: inherit;
}

#ninkatsu .summary ul li {
    margin-left: 1em;
    font-size: 120%;
    text-decoration: underline;
    padding: 0;
}

#ninkatsu .summary ul li::before {
    content: none;
}

/*fr_01 排卵日を計算する
---------------------------------------------*/
#ninkatsu h1,
#ninkatsu .fr_01 h2 {
    background: url(/resources/ninkatsu/img/mv_bg.png);
}

#ninkatsu .fr_01 {
    margin-bottom: 3em;
}

#ninkatsu .fr_01 form {
    margin: 1em auto;
    padding: 2em 1.5em;
    background-image: url(/resources/ninkatsu/img/mv_bg.png);
    background-color: rgba(255, 255, 255, 0.8);
    background-blend-mode: color;
    border-radius: 5px;
}


#ninkatsu .fr_01 label span {
    padding-left: 1.8em;
    background: url(/resources/ninkatsu/img/sp/fr_01_ic_sp.png) no-repeat;
    color: #ff7c7b;
    font-weight: bold;
}

#ninkatsu .fr_01 input {
    width: 100%;
    margin: .5em 0 2em;
    padding: .5em;
    border: 2px solid #ff7c7b;
    border-radius: 5px;
    font-weight: normal;
}

#ninkatsu .fr_01 .form_02 {
    padding-top: 1em;
    background-image: linear-gradient(to right, #ff7c7b, #ff7c7b 2px, transparent 2px, transparent 11px);
    background-size: 11px 2px;
    background-position: left top;
    background-repeat: repeat-x;
}

#ninkatsu .fr_01 button {
    display: block;
    margin: 0 auto;
    cursor: pointer;
}



/*fr_02
---------------------------------------------*/
#ninkatsu .fr_02 {
    margin-bottom: 3em;
}

#ninkatsu .fr_02 h3 {
    background-image: url(/resources/ninkatsu/img/fr_02_bg.png);
    background-repeat: repeat-x;
    background-position: left center;
}

#ninkatsu .fr_02 p.tx {
    margin-bottom: 2em;
}


/*fr_03 pr
---------------------------------------------*/
#ninkatsu .fr_03 {
    margin-bottom: 2em;
    padding: 2em 1em;
    background-color: #ffe8e4;
}

#ninkatsu .pr {
    position: relative;
    margin: 0 0 2em;
    padding: 1.5em 1em;
    background-color: #fff;
    border-radius: 5px;
}

#ninkatsu .app::before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    padding-top: 100%;
    background: url(/resources/ninkatsu/img/sp/pr_ic_01_sp.png) no-repeat;
    background-size: contain;
    content: "";
}

#ninkatsu .mg::before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    padding-top: 100%;
    background: url(/resources/ninkatsu/img/sp/pr_ic_02_sp.png) no-repeat;
    background-size: contain;
    content: "";
}

#ninkatsu .tx_bt {
position: relative;
display: block;
text-align: center;
margin: 1em auto;
background: #fff;
    border: .2rem solid #000;
    border-radius: 5rem;
padding: 1rem 3rem;
}

#ninkatsu .tx_bt::after {
    display: block;
position: absolute;
right: 2rem;
top: 50%;
-webkit-transform: translateY(-50%)  rotate(0deg);
transform: translateY(-50%) rotate(0deg);
content: "";
width: .8rem;
height: .8rem;
background: url(https://st.benesse.ne.jp/share/img/sp/common/icon_arrow.svg);
background-position: 0 0;
background-repeat: no-repeat;
background-size: contain;
}


/*fr_04 関連記事
---------------------------------------------*/
#ninkatsu .fr_04 h2 {
    padding: 1em;
    background: #f2f2f5;
    font-size: 130%;
}

#ninkatsu .fr_04 li a {
    display: flex;
    margin: 1em auto;
}

#ninkatsu .fr_04 li figure {
    width: 35%;
}

#ninkatsu .fr_04 li .fr_04_tx {
    width: 65%;
    padding-left: 1em;
}

#ninkatsu .fr_04 li .tx {
    margin-bottom: .5em;
    font-size: 100%;
    font-weight: bold;
    line-height: 1.3;
}

#ninkatsu .fr_04 li .ic {
    padding: 4px 0 5px 20px;
    margin: 0 0 0 -3px;
    background: url(https://st.benesse.ne.jp/resources/share2018/img/cmn_icn_heart_p.svg) no-repeat;
    background-size: 18px auto;
    line-height: 10px;
    color: #ff878c;
}




/*===========================================================
@media screen
============================================================= */

@media screen and (max-width:780px) {
    #ninkatsu .fr_01 label span {
        background-size: contain;
        font-size: 180%;
    }

}

@media screen and (max-width:480px) {
    #ninkatsu .fr_01 label span {
        background-size: auto;
        font-size: 130%;
    }

    #ninkatsu .fr_01 button {
        width: 100%;
    }
}

    @media screen and (max-width:380px) {
        #ninkatsu .fr_01 input {
            margin-bottom: 1em;
            font-size: 80%;
        }
}






/*===========================================================
content_pc
============================================================= */
#ninkatsu .content_pc {
    width: 100%;
    margin: 0 auto;
}

#ninkatsu .content_pc .fr {
    width: 950px;
    margin: 0 auto;
}



/*.tx
---------------------------------------------*/
#ninkatsu .content_pc p.tx {
    margin: 2em 0;
}

#ninkatsu .content_pc p.tx_s {
    margin: 2em auto;
    text-align: center;
}

#ninkatsu .content_pc p.ph {
    margin: 2em auto;
}


/*img
---------------------------------------------*/
#ninkatsu .content_pc img {
    width: inherit;
    vertical-align: top;
}

/*h1
---------------------------------------------*/
#ninkatsu .content_pc h1 {
    margin-top: 1em;
}

/*.supervisor
---------------------------------------------*/
#ninkatsu .content_pc .supervisor {
    width: 720px;
    padding: 20px;
}

#ninkatsu .content_pc .supervisor .ph {
    text-align: center;
}

#ninkatsu .content_pc .supervisor .tx {
    margin: 0;
}

/*.summary
---------------------------------------------*/
#ninkatsu .content_pc .summary {
    width: 720px;
    padding: 2em;
}

#ninkatsu .content_pc .summary ul {
    padding: 1em;
}



/*fr_01
---------------------------------------------*/
#ninkatsu .content_pc .fr_01 h2 {
    text-align: center;
}

#ninkatsu .content_pc .fr_01 form {
    width: 720px;
    margin: 0 auto;
    padding: 2em 4em;
}

#ninkatsu .fr_01 label span {
    padding-left: 1.5em;
    background: url(/resources/ninkatsu/img/pc/fr_01_ic_pc.png) no-repeat;
    font-size: 160%;
    }

#ninkatsu .content_pc .fr_01 input {
    margin-bottom: 2em;
}

#ninkatsu .content_pc .fr_01 button {
    width: 450px;
}

/*fr_02
---------------------------------------------*/
#ninkatsu .content_pc .fr_02 {
    margin-bottom: 6em;
    text-align: center;
}

#ninkatsu .content_pc .fr_02 p.tx {
    width: 720px;
    margin: 2em auto 4em;
}



/*fr_03 pr
---------------------------------------------*/
#ninkatsu .content_pc .pr {
    width: 720px;
    margin: 0 auto 2em;
    padding: 2em;
    text-align: center;
}


#ninkatsu .content_pc .txt_btn {
    margin: 2em auto;
}

#ninkatsu .content_pc .app::before {
    background: url(/resources/ninkatsu/img/pc/pr_ic_01_pc.png) no-repeat;
}

#ninkatsu .content_pc .mg::before {
    background: url(/resources/ninkatsu/img/pc/pr_ic_02_pc.png) no-repeat;
}


/*fr_04 関連記事
---------------------------------------------*/
#ninkatsu .content_pc .fr_04 h2 {
    margin: 0 auto;
}

#ninkatsu .content_pc .fr_04 ul {
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
    
}

#ninkatsu .content_pc .fr_04 li {
    width: 46%;
    margin: 0 1em;
}

#ninkatsu .content_pc .fr_04 li figure {
    width: 20%;
}

#ninkatsu .content_pc .fr_04 li img {
    width: 100%;
}

#ninkatsu .content_pc .fr_04 li .fr_04_tx {
    width: 80%;
}

#ninkatsu .content_pc .fr_04 li .tx {
    margin: 0 0 .5em;
    line-height: 1.5;
    font-size: 90%;
}

#ninkatsu .content_pc .fr_04 li .ic {
    font-size: .5em;
}

/* OPオリジナルココマデ */
