@charset "utf-8";

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, figcaption, figure,footer, header, hgroup, menu, nav, section, summary,time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

html {
    font-size: 62.5%;
}

body {
    line-height:1;
        font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
}


article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}


/* ここまでリセット */
li {
    list-style: none;
}

.title_box {
      background-color: #c3898b;
    font-size: 50px;
    text-align: center;
    padding: 55px;
}

/****全体****/
.header {
    background-color: #c3898b;
    padding: 28px 0 22px;
    /* width: 100%; */
}

@media screen and (max-width:599px){
    .header {
        padding: 0px;
        height: 80px
    }
}

.header_wrapper {
    /* width: 880px; */
    max-width: 880px;
    width: 80%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width:599px){
    .header_wrapper {
      width: 100%;
    }
}


.document_request {
    width: 240px;
    height: 60px;
    border-radius: 30px;
    background-color: #fff;
    text-align: center;
}

@media screen and (max-width:599px){
    .document_request {
        width: 100px;
        height: 90px;
        border-radius: 0px;
        text-align: center;
    }
    
    .sp_only {
        display: block;
    }
}

.document_request:hover {
    transition: all .2s ease;
    background-color: #343249;
    border: 1px solid #343249;
}


.document_request a {
    text-decoration: none;
    color: #c3898b;
    line-height: 60px;
    font-weight: bold;
    font-size: 20px;
    display: block;
}


@media screen and (max-width:599px) {
    .document_request a{
        line-height: 25px;
        font-size: 16px;
        padding-top: 21px;
    }
}

.document_request a:hover {
    color: #fff;
}

.sp_only {
    display: none;
}
/****header****/
h1 {
    color: #fff;
    font-size: 30px;
}
h1 img {
    height: 60px;
}

@media screen and (max-width:599px){
    h1 img {
        height: 47px;
        margin: 20px;
    }
}

.first_view  {
    background-image: url(../img/wedding.png);
    height: 566px;
    background-size: cover;
    border-top: #c3898b 10px solid;
    background-position: center;
}

.first_view p {
    color: #7d0909;
    font-size: 48px;
    text-align: center;
    line-height: 1.4;
    margin-top: 184px;
}

@media screen and (max-width:599px){
    .first_view  {
        background-image: url(../img/wedding_sp.png);
    }
    
    .first_view p {
        font-size: 28px;
    }
}

/****first_view****/
.worries {
    text-align: center;
    background-image: linear-gradient(to bottom,#ffffff 0%,#ffffff 73%,#c48b8d 100%);
    border-bottom: 1px solid #c48b8b;
    padding-top: 30px;
}

.worries h2 {
    color: #7d0909;
    font-size: 40px;
    margin-bottom: 30px;
}

@media screen and (max-width:599px){
    .worries h2 {
        font-size: 26px;
    }
    
    .worries .sp_only {
        display: block;
    }
}
.worries_list {
    border: #c3898b 5px solid;
    border-radius: 30px;
    width: 600px;
    margin: 0 auto;
    padding: 10px 16px;
}

@media screen and (max-width:700px) {
    .worries_list {
        width: 94%;
        box-sizing: border-box;
    }
    
}
.worries_list li  {
    text-align: left;
    font-size: 26px;
    height: 67px;
    line-height: 67px;
    padding-left: 71px;
    list-style-position: inside;
    box-sizing: border-box;
    position: relative;
    font-stretch: ultra-expanded;
}


@media screen and (max-width:700px){
    
    .worries_list li{
        font-size: 14px;
        height: 62px;
        padding-left: 30px;
    }
    
}

.worries_list li + li {
    border-top: 2px dotted #4a4a4a;
}

.worries_list li span {
    font-weight: bold;
    line-height: 1.5;
    background-image: linear-gradient(to bottom,#fff 0%,#fff 70%,#F5D88B 70%,#F5D88B 100%);
}

.worries_list li::before {
    position: absolute;
    top: 10px;
    left: 17px;
    content: url(../img/HEART_check.png)
}

@media screen and (max-width:599px){
    .worries_list li::before {
        position: absolute;
        top: 10px;
        left: 0px;
        content: url(../img/HEART_check_small.png)
;    }
    
}

.worries p{
    font-size: 40px;
    color: #7d0909;
    font-weight: bold;
    margin: 60px 0 90px;
}

@media screen and (max-width:599px){
    .worries p{
        font-size: 26px;
    }
    
}

/****worries****/
.reason {
    background-image: repeating-linear-gradient(-45deg,#f0e8e8,#f0e8e8 12px,#e8dddd 12px,#e8dddd 24px);
    padding-top: 60px;
    color: #7d0909;
    padding-bottom: 90px;
}

.reason h2{
    text-align: center;
    font-size: 40px;
    margin-bottom: 60px
}

@media screen and (max-width:599px){
    .reason {
        padding-bottom: 20px;
    }
    
    .reason h2{
        font-size: 26px;
    }
}
.reason_list {
    width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}


@media screen and (max-width:1140px){
    .reason_list {
        display: inline;
    }
}

.reason_list li{
    background-color: #fff;
    border-radius: 15px;
    width: calc((1100px - 30px)/2);
    height: 235px;
    box-sizing: border-box;
    position: relative;
}


@media screen and (max-width:1140px){
     .reason_list li {
        width: 555px;
        height: auto;
        margin: auto auto 50px auto;
        padding: 5px;
    }
}

@media screen and (max-width:599px){
     .reason_list li,
    .reason_list li:nth-of-type(odd){
        width: 90%;
    }
}

.reason_list li:nth-of-type(odd){
    margin-right: 30px;
}

@media screen and (max-width:1100px){
    .reason_list li:nth-of-type(odd) {
        width: 555px;
        height: auto;
        margin: auto auto 50px auto;
        padding: 5px;
    }
}

@media screen and (max-width:599px){
    .reason_list li,
    .reason_list li:nth-of-type(odd){
        width: 90%;
    }
}



.reason_list li:first-of-type{
    margin-bottom: 30px;
}
.reason_list li h3{
/*    text-align: center;*/
    font-size: 24px;
    margin-left: 50px;
    margin-top: 18px
}

.reason .picture_text {
    display: flex;
    padding: 32px 30px 30px 50px;
}


@media screen and (max-width:599px){
    .reason .picture_text {
        display: inline;
    }
}

.reason .picture_text img {
    margin-right: 15px;
    width: 160px;
}

@media screen and (max-width:599px){
    .reason .picture_text img {
        width: 65%;
        display: block;
        margin: 10px auto;
    }
}


.reason .picture_text p {
    font-size: 20px
}

.text_info {
    width: 280px;
    margin: 0 auto;
}

@media screen and (max-width:599px){
    .text_info {
        width: 65%;
    }
}

.more_info {
    width: 125px;
    height: 40px;
    border: 1px solid #343249;
    box-sizing: border-box;
    position: absolute;
    left: 308px;
    bottom: 16px;
}

@media screen and (max-width:599px){
    .more_info {
        width: 100%;
        position: static;
        margin: 20px auto;
    }
}

.color_change {
    text-decoration: none;
    color: #343249;
    display: block;
    line-height: 40px;
    text-align: center;
    position: relative;
}

.color_change span {
    display: block;
    z-index: 2;
    font-size: 17px;
}

.color_change::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    width: 100%;
    height: 0;
    background: #343249;
    transition: all .3s;
}

.color_change:hover::before {
    height: 100%;
}

.color_change:hover span {
    color: #fff;
}

/****reason****/

.support {
    background-image: url(../img/washi.png);
    text-align: center;
    padding: 45px 0;
}

.support h2 {
    color: #7d0909;
    font-size: 50px;
    font-weight: normal;
    margin-bottom: 40px;
}

@media screen and (max-width:599px){
    .support h2 {
        font-size: 26px;
    }
    
    .support .sp_only {
        display: block;
    }
}
.support>p {
    font-size: 30px;
    line-height: 2.1
}

@media screen and (max-width:599px){
    .support>p {
        font-size: 20px;
        width: 80%;
        margin: auto;
    }
}

.message {
    width: 940px;
    height: 400px;
    background-color: #fff;
    margin: 0 auto;
    border-radius: 10px;
    padding: 35px 30px 5px;
    box-sizing: border-box;
    margin-top: 30px;
}

.message h3 {
    font-size: 40px;
    font-weight: normal
}

@media screen and (max-width:599px){
    .message h3 {
        font-size: 26px;
    }
}
.message .picture_text  {
    display: flex;
    margin-top: 35px;
    column-gap: 23px;
}

@media screen and (max-width:980px){
    .message  {
        width: 90%;
        height: auto;
        padding-bottom: 35px;
    }
    .message h3 {
        margin-bottom: 20px
    }
    
    .message .picture_text  {
        display: inline;
    }
}

.message .picture_text figure img {
    width: 331px;
}

@media screen and (max-width:599px){
      .message .picture_text figure img {
        width: 80%;
    }
}

.message .picture_text figure figcaption {
    font-size: 16px;
    margin-top: 8px
}

@media screen and (max-width:599px){
    .message .picture_text figure figcaption {
        font-size: 16px;
    }
}

.message .picture_text p {
    font-size: 25px;
    margin-top: 35px;
    text-align: left;
    line-height: 1.4
}

@media screen and (max-width:599px){
    .message .picture_text p {
        font-size: 20px;
    }
}
/****support****/
.members {
    text-align: center;
    padding: 30px;
    margin-bottom: 30px;
}

.members h2 {
    color: #7d0909;
    font-size: 50px;
    font-weight: normal;
}


@media screen and (max-width:599px){
    .members h2 {
        font-size: 26px;
        line-height: 1.4;
    }
}

.members p {
    color: #1b1e1d;
    font-size: 30px;
    line-height: 1.1;
    margin-top: 20px;
}

@media screen and (max-width:599px){
    .members p {
        font-size: 20px;
    }
}

.members img {
    width: 477px;
}

.members .box {
    display: flex;
    margin: auto;
    width: 900px;
    justify-content: space-between;
}

.box_gender h3 {
    font-size: 30px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 215px;
}



@media screen and (max-width:970px){
    .members .box {
        display: inline;
    }
    
    .box_gender h3 {
        top: 215px;
    }
}


@media screen and (max-width:599px){
    .box_gender h3 {
        top: 170px;
    }
}

/****member****/
.result {
    text-align: center;
    background-color: #f3f7f7;
    padding-bottom: 50px
}

.result .title_box {
    background-image: url(../img/wedding.png);
    background-size: cover;
    height: auto;
    padding-top: 50px;
    margin-bottom: 12px;
    box-sizing: border-box;
}

.result h2 {
    color: #7d0909;
    font-size: 50px;
    font-weight: normal;
    line-height: 1.5 ;
}

@media screen and (max-width:599px){    
    .result h2 {
        font-size: 26px;
    }
}

.result>p {
    color: #1b1e1d;
    font-size: 30px;
    line-height: 2.2
}

@media screen and (max-width:599px){    
    .result>p {
        font-size: 20px;
    }
}


/****result****/
.episode .wrapper {
    width: 970px;
    margin: 0 auto;
}


@media screen and (max-width:980px){
   .episode .wrapper {
        width: 80%;
    }
    
}

.episode .title_box {
    background-color: #ede496;
    margin-bottom: 45px;
    padding: 30px;
}

.episode .title_box h2 {
    text-align: center;
    font-size: 50px;
    font-weight: normal;
}


@media screen and (max-width:599px){ 
    .episode .title_box {
        margin-bottom: 20px;
    }
    
    .episode .title_box h2 {
        font-size: 26px;
    }
}


.interview_box {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px
}


@media screen and (max-width:1000px){
    
    .interview_box {
        display: inline;
        margin: auto
    }
    
}

.interview_text {
    font-size: 30px;
    line-height: 2.0;
    margin-top: 50px;
    width: 460px
}


@media screen and (max-width:1000px){
    .interview_text {
        margin: 50px auto
    }
}

@media screen and (max-width:599px){
    .interview_text {
        font-size: 20px;
        text-align: center;
        width: 100%;
        margin: 20px auto;
    }
    
}

.interview_box figure img {
    width: 474px;
}

@media screen and (max-width:1000px){
    .interview_box figure img {
        display: block;
        margin: auto;
        width: 60%;
    }
}

.interview_box figcaption {
    text-align: center;
    font-size: 25px;
    margin-top: 5px;
}

@media screen and (max-width:599px){
    .interview_box figure img {
        width: 100%;
    }
    
    .interview_box figcaption {
        font-size: 16px;
    }
}

.talk {
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width:1000px){
    .talk {
        margin-top: 30px;
    }
}

@media screen and (max-width:599px){
    .talk {
        display: inline;
    }

}

.talk figure {
    position: relative;
}

.talk figure::after {
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 42.3px 65px 0 65px;
    border-color: #f3f0e7 transparent transparent transparent;
    position: relative;
    left: 175px;
    top: -119px;
    transform: rotate(90deg);
}

.rev figure::after {
    left: -58px;
    top: -107px;
    transform: rotate(270deg);
}

@media screen and (max-width:599px){
    .talk figure::after {
        display: none;
    }
}


.talk figcaption {
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    font-size: 25px;
    text-align: center;
}


@media screen and (max-width:599px){
    .talk figcaption {
        font-size: 16px;
    }
}

.talk figure img {
    margin: 0 40px;
}

@media screen and (max-width:599px){
    .talk figure img {
        display: block;
        margin: auto;
        width: 32%;
        margin: 50px auto 16px;
    }
}


.talk p {
    display: block;
    width: 700px;
    height: 190px;
    background-color: #f3f0e7;
    border-radius: 10px;
    padding: 25px 45px 25px 45px;
    font-size: 30px;
    line-height: 1.2;
}


.rev {
    margin-top: 40px;
    flex-direction: row-reverse;
    margin-bottom: 120px;
}

.rev p {
    height: 140px;
}

@media screen and (max-width:1000px){
    .talk p,
    .rev p{
        height: auto;
    }    
}

@media screen and (max-width:599px){
    .talk p,
    .rev p{
        width: auto;
        font-size: 20px;
        margin-top: 62px;
        margin-bottom: 30px
    } 
}

.rev p::after {
    left: 630px;
    top: -89px;
    transform: rotate(270deg);
}


/****episode****/

.flow {
    color: #252525;
}

.flow_list {
    width: 900px;
    margin: 45px auto 30px;
}


@media screen and (max-width:900px){
    .flow_list {
        width: 90%;
    }
}

.flow_list li{
    margin-bottom: 10px
}

.flow h2 {
    color: #fff
}

.flow_list_title_box{
    font-size: 30px;
    height: 50px;
    text-align: center;
    background-color: #f1cdcd;
    border-radius: 15px 15px 0 0;
    line-height: 50px;
    position: relative;
}

.circle {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background-color: #fff;
    border: 3px solid #f1cdcd;
    position: absolute;
    top: -31px;
    left: -22px;  
}


.circle img {
    width: 60px;
    padding-top: 15px;
}

@media screen and (max-width:900px){
    .circle {
        width: 60px;
        height: 60px;
        top: -8px;
        left: -10px;  
    }
    
    .circle img {
        width: 38px;
        padding-top: 11px;
    }

}

.flow_list li p {
    height: 100px;
    background-color: #f6e0e0;
    border-radius: 0 0 15px 15px;
    font-size: 23px;
    padding: 20px ;
    box-sizing: border-box;
    z-index: -30;
    line-height: 1.2;
    height: auto;
}

@media screen and (max-width:599px){
    .flow h2 {
        font-size: 26px;
    }
    
    .flow_list_title_box{
        font-size: 20px;
    }

    .flow_list li p {
        font-size: 16px;
    }
}


.flow_list li:last-child{
    margin-bottom: 0;
}

.flow_list li::after {
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 43.3px 45px 0 45px;
    border-color: #f6e0e0 transparent transparent transparent;
    position:relative;
    left: 50%;
    transform: translateX(-50%);
}

@media screen and (max-width:599px){
    .flow_list li{
        margin-bottom: 0px;
    }
    
    .flow_list li::after {
        border-width: 29px 32px 0 32px;
    }
}

.flow_list li:last-child::after{
    display: none;
}


/****flow****/
.q_and_a {
    color: #252525;
}

.q_and_a h2 {
    color: #fff
}

@media screen and (max-width:599px){
    .q_and_a h2 {
        font-size: 26px
    }
}

.q_and_a_list {
    /* width: 980px; */
    max-width: 980px;
    width: 80%;
    margin: 50px auto 54px;
}

@media screen and (max-width:599px){
   .q_and_a_list {
        width: 90%;
    } 
}

.question_box {
    border: 1px solid #6e6e6e;
    height: 86px;
    /* padding-left: 30px; */
    padding-left: 3vw;
    box-sizing: border-box;
    font-size: 40px;
    line-height: 86px;
    display: flex;
    margin-bottom: 20px;
    position: relative;
}

@media screen and (max-width:599px){
    .question_box {
        padding-left: 16px;
        height: auto;    
    }
}

.question_box::after {
    display: block;
    content: '';
    width: 15px;
    height: 15px;
    top: 50%;
    right: 2%;
    position: absolute;
    transform: translateY(-50%) rotate(45deg);
    border-bottom: 5px solid #333;
    border-right: 5px solid #333;
}

@media screen and (max-width:599px){
    .question_box::after {
        width: 10px;
        height: 10px;
    }
}

.open::after {
    animation-name: hantenAnime;
    animation-fill-mode: both;
    animation-direction: alternate;
}

.close::after {
    animation-name: returnAnime;
    animation-duration: 0.5s;
    animation-fill-mode: both;
    animation-direction: alternate;
}

.question_number {
    color: #a77a7a;
    /* font-size: 60px; */
    font-size: 4vw;
    margin-right: 16px;
}

@media screen and (max-width:599px){
    .question_number {
        font-size: 30px;
        line-height: 60px
    }
}

.question_text {
    /* font-size: 40px; */
    font-size: min(3vw, 40px);
    /* font-size: 3vw; */
    font-weight: bold;
}

.answer {
    padding: 0px  52px 30px;
    /* font-size: 35px; */
    font-size: min(35px , 2.5vw);
    display: none;
    line-height: 1.4;
}

@media screen and (max-width:599px){
    .question_text {
        font-size: 18px;
        font-weight: bold;
        line-height: 60px;
        padding-right: 30px;
        line-height: 1.2;
        position: absolute;
        left: 64px;
        top: 50%;
        transform: translateY(-50%);
    }
    
    .answer {
        font-size: 16px;
    }
}

/****q_and_a****/
#doc_form h2 {
    color: #fff
}

#doc_form  {
    padding-bottom: 80px
}

#doc_form table {
    max-width: 1020px;
    width: 90%;
    margin: 70px auto;
}

/* @media screen and (max-width:599px){ */
@media screen and (max-width:970px){
    #doc_form h2 {
        font-size: 26px
    }

    #doc_form table {
        width: 90%;
    }
}

#doc_form table tr+tr{
    border-top: 1px solid #7e7e7e
}

/* @media screen and (max-width:599px){ */

    @media screen and (max-width:970px){
    #doc_form table tr+tr{
        border-top: none
    }
}

#doc_form table th{
    height: 80px;
    line-height: 80px;
}

#doc_form table tr th.two_lines {
    line-height:1;
    padding-top: 30px;
}


/* @media screen and (max-width:599px){ */

@media screen and (max-width:970px){
    #doc_form table tr th.two_lines {
        padding-top: 0;
        line-height: 50px;
    }
}

#doc_form table tr td {
    padding-left: 30px;
}

#doc_form table tr th td{
    position: relative;
}
#doc_form table tr th  td input{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

#doc_form table th{
    background-color: #e6d1ce;
    width: 420px;
    position: relative;
    text-align: left;
    font-size: 20px;
    padding-left: 32px;
    box-sizing: border-box;
    z-index: -1;
}

/* @media screen and (max-width:599px){ */
@media screen and (max-width:970px){
    .pc_only {
        display: none;
    }

    #doc_form table tr {
        display: flex;
        flex-direction: column;
    }


    #doc_form table th {
        width: 100%;
        padding-left: 16px;
        font-size: 15px;
        height: 50px;
        line-height: 50px;
    }

    #doc_form table th .sp_only {
        display: block;
    }
}

#doc_form table th span{
    font-size: 15px;
}

.require {
    text-align: center;
    display: block;
    width: 86px;
    height: 38px;
    line-height: 38px;
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    background-color: #e58071;
    color: #fff;
    font-size: 18px;
    font-weight: normal;
}

/* @media screen and (max-width:599px){ */

    @media screen and (max-width:970px){
    .require {
        width: 43px;
        right: 8px;
        font-size: 16px;
        height: 30px;
        line-height: 30px;
    }
}

.select_box {
    height: 35px
}

#doc_form table td {
    font-size: 20px;
}

#doc_form table td input.text_box {
    border-radius: 10px;
    width: 530px;
    height: 35px;
    font-size: 20px;
    padding-left: 5px;
    box-sizing: border-box;
}

/* @media screen and (max-width:599px){ */
@media screen and (max-width:970px){
    #doc_form table td input.text_box {
        width: 90%;   
        font-size: 16px;
    }
    
    #doc_form table td {
    font-size: 16px;
    margin: 15px 0; 
    }
}

#doc_form button {
    width: 200px;
    height: 50px;
    font-size: 20px;
    line-height: 50px;
    border: 1px solid #343249;
    background-color: #fff;
    display: block;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
}

@media screen and (max-width:599px){
    #doc_form button{
        width: 90%
    }
}


#doc_form button:hover{
    background-color: #343249;
    color: #fff;
    transition: .2s ease;
}

/****doc_form****/
footer {
    text-align: center;
    background-color: #484443;
    color: #fff;
    height: 30px;
    line-height: 30px
}


/****footer****/


/* fadeUpここから */

.fadeUp{
animation-name: fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform:  scale(0.8,0.8);
/*translateY(100px)*/
    }

  to {
    opacity: 1;
	transform: scale(1,1);
/*      translateY(0) */
  }
}

.fadeUpTrigger{
    opacity: 0;
}

/* fadeUpここまで */




.slideUp{
animation-name: slideUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes slideUpAnime{
  from {
    opacity: 0;
	transform: translateY(100px) ;
  }

  to {
    opacity: 1;
	transform: translateY(0) ;
  }
}


.slideUpTrigger{
    opacity: 0;
}
/*=========グラフ表示のためのCSS ===============*/

.chart-area{
position: relative;
    width: 420px;
    height: 470px;
    left: 50%;
    transform: translateX(-50%);
}


@media screen and (max-width:599px){
    .chart-area{
        width: 80%;
        height: 370px;
        margin-top: 30px;
    }
}


.graf_box h3 {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 45%;
    font-size: 48px;
}
.lead{
	padding: 20px;
	text-align: center;
}

.graf_box{
    display: flex;
/*	max-width:1000px;*/
	width: 900px;
    margin: auto;
	text-align: center;
    position: relative;
    justify-content: space-between
}

.box_gender {
    position: relative
}

.gene {
    font-size: 23px;
    color: #fff;
    line-height: 1;
}
.generation_20 {
    position: absolute;
    left: 10%;
    top: 65%;
    z-index: 1;
}

.generation_30 {
    position: absolute;
    right: 5%;
    top: 53%;
    z-index: 1;
}

.generation_40 {
    position: absolute;
    left: 8%;
    top: 35%;
    z-index: 1;
}

.generation_50 {
    position: absolute;
    left: 28%;
    top: 18%;
    z-index: 1;
}

.female .generation_20 {
    position: absolute;
    left: 21%;
    top: 73%;
    z-index: 1;
}

.female .generation_30 {
    position: absolute;
    right: 5%;
    top: 45%;
    z-index: 1;
}

.female .generation_40 {
    position: absolute;
    left: 6%;
    top: 40%;
    z-index: 1;
}

.female .generation_50 {
    position: absolute;
    left: 26%;
    top: 19%;
    z-index: 1;
}


.fadeUpSlow{
animation-name: fadeUpAnimeSlow;
animation-duration:1.5s;
animation-delay: 600ms;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnimeSlow{
  from {
    opacity: 0;
	transform: translateY(60px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}

 
.fadeUpTriggerSlow{
    opacity: 0;
}

.lead{
	padding: 20px;
	text-align: center;
}

.box_bar{
	max-width:600px;
	width:100%;
	margin:20px auto 0;
	padding: 20px;
	background:#fff;
	text-align: center;
}


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

@keyframes hantenAnime {
    from {
        transform: rotate(45deg);
    }
    to {
        transform: rotate(225deg);
    }
}

@keyframes returnAnime {
    from {
        transform: rotate(225deg);
    }
    to {
        transform: rotate(45deg);
    }
}

