@charset "UTF-8";
/* CSS Document */
/*------------------------------
共通
------------------------------*/
body.gf_fixed_form .ctn{
    margin-bottom: 80px;
}
body.gf_fixed_form .gf_fixed_form_area{
    margin-bottom: 50px;
}
body.gf_fixed_form .heading_img{
    background-color: #f4f4f4;
    text-align: center;
}
body.gf_fixed_form .heading_img img{
    max-width: 600px;
    vertical-align: top;
}
body.gf_fixed_form .gf_fixed_form_area .introduction_area,
body.gf_fixed_form .gf_fixed_form_area .introduction_original_gift{
    margin-top: 30px;
    margin-bottom: 50px;
}
body.gf_fixed_form .gf_fixed_form_area h2{
    font-size: 2.2rem;
}
body.gf_fixed_form .gf_fixed_form_area h3{
    font-size: 1.8rem;
}
body.gf_fixed_form .gf_fixed_form_area .info{
    margin-top: 10px;
    margin-bottom: 20px;
}
body.gf_fixed_form .gf_fixed_form_area .info p{
    font-size: 1.7rem;
    text-align: justify;
}
body.gf_fixed_form .gf_fixed_form_area ul.list{
    display: flex;
    flex-wrap: wrap;
}
body.gf_fixed_form ul.list li{
    margin-bottom: 30px;
    width: calc( 50% - 10px);
    margin-right: 20px;
}
body.gf_fixed_form ul.list li:nth-of-type(2n){
    margin-right: 0;
}
body.gf_fixed_form .gf_fixed_form_area ul.list li a{
    text-decoration: none;
}
body.gf_fixed_form .gf_fixed_form_area .name,
body.gf_fixed_form .gf_fixed_form_area .text{
    font-size: 1.6rem;
    margin-bottom: 5px;
}
body.gf_fixed_form .gf_fixed_form_area .price{
    font-size: 2.2rem;
    margin-bottom: 5px;
    font-weight: 700;
}
body.gf_fixed_form .gf_fixed_form_area span.tax_s{
    font-size: 1.5rem;
    font-weight: 500;
}
body.gf_fixed_form .gf_fixed_form_area .ranking ul{
    counter-reset: number 0;
    margin-top: 10px;
}
body.gf_fixed_form .gf_fixed_form_area .ranking ul li{
    position: relative;
}
body.gf_fixed_form .gf_fixed_form_area .ranking ul li::before {
    font-size: 2.2rem;
    counter-increment: number 1;
    content: counter(number) " ";
    position: absolute;
    top: 5px;
    left: 0;
    font-weight: 900;
    text-align: center;
    border-radius: 0 20px 20px 0;
    color: #333;
    background-color: #74C4A1;
    border: 1px solid #fff;
    width: 70px;
    height: 40px;
    line-height: 37px;
    z-index: 2;
}
body.gf_fixed_form .gf_fixed_form_area .ranking ul li:first-of-type::before{
    background-color: #18AFA8;
    color: #FFEA01;
}
body#party .gf_fixed_form_area .ranking ul li::before {
    background-color: #C77196;
    border: 1px solid #fff;
    color: #fff;
}
body#party .gf_fixed_form_area .ranking ul li:first-of-type::before{
    background-color: #D66293;
    color: #FFEA01;
}
body#retirement .gf_fixed_form_area .ranking ul li::before {
    background-color: #E9B6BC;
    border: 1px solid #fff;
    color: #B30014;
}
body#retirement .gf_fixed_form_area .ranking ul li:first-of-type::before{
    background-color: #B30014;
    color: #fff;;
}
body.gf_fixed_form .gf_fixed_form_area .introduction_original_gift ul{
    display: flex;
    flex-wrap: wrap;
    margin-top: 15px;
}
body.gf_fixed_form .gf_fixed_form_area .introduction_original_gift ul li{
    width: calc( 50% - 20px);
    margin: 10px;
}
body.gf_fixed_form .gf_fixed_form_area .introduction_banner_img{
    margin-top: 10px;
    margin-bottom: 50px;
}
body.gf_fixed_form .gf_fixed_form_area .introduction_banner_img img{
    margin-bottom: 10px;
}
/*petit-price*/
body.gf_fixed_form .gf_fixed_form_area .sub_heading{
    font-size: 2.2rem;
    font-weight: 700;
    margin-bottom: 15px;
    line-height: 115%;
}
body.gf_fixed_form .petit_price_index{
    background-color: #fcfcfc;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    padding: 20px;
    margin-bottom: 50px;
}
body.gf_fixed_form .petit_price_index .petit_price_index_inner{
    max-width: 980px;
    margin: 0 auto;
}
body.gf_fixed_form .gf_fixed_form_area .petit_price_index ul li{
    margin-bottom: 10px;
    width: 100%;
}
body.gf_fixed_form .gf_fixed_form_area .petit_price_index ul li .content_h{
    font-size: 1.6rem;
    line-height: 150%;;
    padding-left: 20px;
    position: relative;
}
body.gf_fixed_form .gf_fixed_form_area .petit_price_index ul li .content_h::before{
    content: '\25BC';
    font-size: 11px;
    line-height: 1.5rem;
    margin-left: 5px;
    position: absolute;
    transform: rotate(-90deg);
    top: 5px;
    left: 0;
}
body.gf_fixed_form .gf_fixed_form_area .contents_text{
    margin-top: 10px;
    margin-bottom: 30px;
}
body.gf_fixed_form .gf_fixed_form_area ul li .item_img{
    margin-bottom: 5px;
}
body.gf_fixed_form .gf_fixed_form_area .explanation_txt{
    margin-top: 10px;
    margin-bottom: 30px;
}
/*------------ 共通 PC  ------------*/
@media screen and (min-width: 950px) {
    body.gf_fixed_form .gf_fixed_form_area ul.list li {
        width: calc( 25% - 30px);
        margin: 0;
        margin-right: 40px;
        margin-bottom: 40px;
    }
    body.gf_fixed_form .gf_fixed_form_area ul.list li:nth-of-type(4n){
        margin-right: 0;
    }
    body.gf_fixed_form .gf_fixed_form_area .introduction_banner_outer{
        display: flex;
        flex-wrap: wrap;
    }
    body.gf_fixed_form .gf_fixed_form_area .introduction_banner_outer .introduction_banner_img{
        width: calc( 33% - 40px);
        margin: 20px;
    }
    /*petit-price*/
    body.gf_fixed_form .gf_fixed_form_area .petit_price_index ul li{
        margin: 20px;
    }
    body.gf_fixed_form .gf_fixed_form_area .petit_price_index ul li .content_h{
        font-size: 1.8rem;
    }
}
/*----------------------------------------------------------------------
retirement
----------------------------------------------------------------------*/
/*-----------------------------example-----------------------------*/
body.gf_fixed_form .example ul.list{
    margin-top: 15px;
}
body.gf_fixed_form .example ul.list li .example_img{
    padding: 5px;
}
body.gf_fixed_form .example ul.list li a:active p{
    color: #313131;
}
body.gf_fixed_form .example ul.list li .example_heading{
    display: inline-block;
    background-color: #E1E3E0;
    padding: 3px 5px;
    font-size: 13px;
    font-weight: 500;
    border-radius: 5px;
    margin-right: 5px;
    margin-bottom: 5px;
}
body.gf_fixed_form .example ul.list li .example_item,
body.gf_fixed_form .example ul.list li .example_purpose{
    margin-bottom: 10px;
}
body.gf_fixed_form .example ul.list li .example_comment{
    background-color: #f7f7f7;
    padding: 8px;
    position: relative;
}
body.gf_fixed_form .example ul.list li .example_comment::before {
    content: "";
    position: absolute;
    top: -18px;
    left: 50%;
    margin-left: -10px;
    border: 10px solid transparent;
    border-bottom: 15px solid #f7f7f7;
}
body.gf_fixed_form .example ul.list li p.example_name{
    text-align: right;
    margin-top: 3px;
}
/*------------  example PC  ------------*/
@media screen and (min-width: 950px) {
    body.gf_fixed_form .example ul.list li a:hover p{
        color: #313131;
    }
}
/*------------------------about_order 共通------------------------*/
body.gf_fixed_form .about_order .guideline,
body.gf_fixed_form .about_order .flow{
    margin-bottom: 50px;
}
body.gf_fixed_form .about_order .guideline_container{
    background-color: #f6f6f6;
    position: relative;
    max-width: 750px;
}
body.gf_fixed_form .about_order .guideline_ttl_outer{
    background-color: #E1E3E0;
    padding: 15px;
}
body.gf_fixed_form .about_order .guideline_ttl{
    text-align: center;
    color: #2E3935;
    line-height: 150%;
    font-size: 1.8rem;
}
body.gf_fixed_form .about_order .flow_ttl{
    font-size: 1.8rem;
    font-weight: 700;
    margin-top: 20px;
}
/*about guideline*/
body.gf_fixed_form .about_order .guideline_container .guide_detail{
    padding: 5px;
    font-weight: 700;
}
body.gf_fixed_form .about_order .guideline_container table{
    width: 100%;
    font-size: 16px;
    line-height: 180%;
}
body.gf_fixed_form .about_order .guideline_container table th,
body.gf_fixed_form .about_order .guideline_container table td{
    width: auto;
    display: block;
    text-align: center;
}
body.gf_fixed_form .about_order .guideline_container table td{
    margin-bottom: 5px;
    padding-bottom: 5px;
    font-weight: normal;
    border-bottom: solid 1px #dfdfdf;
}
body.gf_fixed_form .about_order .guideline .notes{
    font-size: 15px;
    font-weight: 700;
    line-height: 140%;
    text-align: left;
    margin: 0 auto;
    margin-top: 20px;
    width: 95%;
    max-width: 750px;
}
/*------------  about_order guideline PC  ------------*/
@media screen and (min-width: 950px) {
    body.gf_fixed_form .about_order .guideline_container table th {
        text-align: right;
        width: 50%;
        display: inline-block;
    }
    body.gf_fixed_form .about_order .guideline_container table td {
        position: relative;
        text-align: left;
        width: 50%;
        padding-left: 50px;
        display: inline-block;
        border-bottom:none;
        font-weight: 500;
    }
    body.gf_fixed_form .about_order .guideline_container table td:before {
        display: block;
        content: "";
        width: 20px;
        height: 1px;
        background-color: #313131;
        position: absolute;
        top: calc(50% - 1px);
        left: 14px;
    }
}
/*------------------------about_order flow------------------------*/
body.gf_fixed_form .about_order .flow ul{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 auto;
    margin-top: 20px;
    justify-content: space-between;
}
body.gf_fixed_form .about_order .flow ul li{
    width: calc(50% - 20px);
    line-height: 120%;
    position: relative;
    display: inline-block;
    background-color: #f6f6f6;
    border: 1px solid #E1E3E0;
    border-radius: 3px;
    padding: 2%;
    margin-right: 10px;
    margin-bottom: 10px;
}
body.gf_fixed_form .about_order .flow ul li:before{
    content: "";
    position: absolute;
    top: 50%;
    right: -25px;
    margin-top: -15px;
    border: 12px solid transparent;
    border-left: 18px solid #E1E3E0;
    z-index: 3;
}
body.gf_fixed_form .about_order .flow ul li:last-of-type:before{
     border-left:none;
}
body.gf_fixed_form .about_order .flow ul li p{
    font-weight: 700;
    line-height: 150%;
    margin-bottom: 10px;
    text-align: center;
}
body.gf_fixed_form .about_order .flow #flow_1 .flow_img{
    margin: 0 10px;
}
body.gf_fixed_form .about_order .flow #flow_1 .flow_img img{
    border: 6px solid #fff;
}
body.gf_fixed_form .about_order .flow #flow_3 .flow_img .flow_img_inner{
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}
body.gf_fixed_form .about_order .flow #flow_3 .flow_img .flow_img_inner img.txt{
    width: 65%;
}
body.gf_fixed_form .about_order .flow #flow_3 .flow_img .flow_img_inner img.stamp{
    width: 35%;
}
body.gf_fixed_form .about_order .flow #flow_3 .flow_img .flow_img_frame{
    margin: 0 15px;
}
body.gf_fixed_form .about_order .flow #flow_4 .flow_img .flow_img_inner{
    position: relative;
}
body.gf_fixed_form .about_order .flow #flow_4 .flow_img .flow_img_inner img{
    position: absolute;
    transform: rotate(6deg);
    top: -10px;
    width: 90%;
    left: 5%;
}
body.gf_fixed_form .about_order .flow #flow_4 .flow_img .flow_img_inner::before,
body.gf_fixed_form .about_order .flow #flow_4 .flow_img .flow_img_inner::after{
    display: block;
    background: no-repeat url(/images/gf_fixed_form/flow04_kirakira.png);
    transform: scale(-1, 1);
    background-size: contain;
    content: '';
    position: absolute;
    height: 45px;
    width: 50px;
    z-index: 2;
}
body.gf_fixed_form .about_order .flow #flow_4 .flow_img .flow_img_inner::before{
    top: -5px;
    left: -20px;
}
body.gf_fixed_form .about_order .flow #flow_4 .flow_img .flow_img_inner::after{
    top: 73px;
    right: 0;
    height: 40px;
}
/*------------  about_order flow PC  ------------*/
@media screen and (min-width: 950px) {
    body.gf_fixed_form .about_order .flow ul li {
        width: calc(25% - 15px);
        margin: 0;
        margin-right: 20px;
    }
    body.gf_fixed_form .about_order .flow ul li:last-of-type{
        margin-right: 0;
    }
}
/*-----------------------------about_order about_delivery-----------------------------*/
body.gf_fixed_form .about_order .about_delivery{
    margin-bottom: 50px;
}
body.gf_fixed_form .about_order .about_delivery .about_header{
    font-size: 1.8rem;
    font-weight: 700;
}
body.gf_fixed_form .about_order .about_delivery .about_item_wrapper{
    max-width: 850px;
    margin: 0 auto;
}
body.gf_fixed_form .about_order .about_delivery .about_item{
    max-width: 700px;
    text-align: left;
    margin-top: 15px;
    padding: 10px;
    cursor: pointer;
    background-color: #f6f6f6;
    border: 1px solid #E1E3E0;
    border-radius: 3px;
}
body.gf_fixed_form .about_order .about_delivery a{
    text-decoration: underline;
    font-weight: 700;
}
body.gf_fixed_form .about_order .about_delivery a:active{
    text-emphasis: none;
}
body.gf_fixed_form .about_order .about_delivery .about_q{
    position: relative;
}
body.gf_fixed_form .about_order .about_delivery .about_q{
    font-size: 1.6rem;
    font-weight: 700;
}
body.gf_fixed_form .about_order .about_delivery .about_q.open{
    color: #E31B72;
}
body.gf_fixed_form .about_delivery .about_item .about_q::after{
    content: '\25BC';
    position: absolute;
    top: calc( 50% - 10px );
    right: 0;
    display: block;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    text-align: right;
    font-size: 13px;
}
body.gf_fixed_form .about_delivery .about_item .about_q::after{
    right: 5px;
}
body.gf_fixed_form .about_delivery .about_item .about_q.open::after{
    -webkit-transform: rotateX(180deg);
    transform: rotateX(180deg);
}
body.gf_fixed_form .about_delivery .about_item .about_a{
    font-size: 1.5rem;
    line-height: 140%;
    font-weight: 500;
    margin-top: 10px;
}
body.gf_fixed_form .about_delivery .about_item .about_a .about_a_inner{
    margin-bottom: 30px;
}
body.gf_fixed_form .about_delivery .about_item .about_a .about_a_inner:last-of-type{
    margin-bottom: 0;
}
body.gf_fixed_form .about_delivery .about_item .about_a p.bold {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 5px;
}
body.gf_fixed_form .gf_fixed_form_area .btn_link{
    margin-left: 0;
}
body.gf_fixed_form .gf_fixed_form_area .btn_link a{
    margin-top: 20px;
    margin-bottom: 20px;
}
body.gf_fixed_form .gf_fixed_form_area .btn_link a h2{
    font-size: 1.6rem;
    font-weight: 500;
}

/*------------  retirement partner  ------------*/
body#retirement .slide_heading{
    font-size: 1.8rem;
    max-width: 980px;
    font-weight: 700;
    margin-top: 30px;
}
body#retirement .partner_contents{
    margin-top: 50px;
}
body#retirement .partner_contents ul.slide_list a{
    text-decoration: none;
}
body#retirement .partner_contents .slide_wrapper{
    height: 350px;
    margin-bottom: 15px;
    overflow-x: auto;
    overflow-y: hidden;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}
body#retirement .partner_contents .slide_wrapper .slide_outer ul.slide_list{
    display: inline-grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(1, auto);
    grid-auto-columns: 200px;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
    margin-right: 20px;
    counter-reset: number 0;
}
body#retirement .partner_contents .slide_wrapper .slide_outer ul.slide_list li.slide_item{
    position: relative;
    margin-right: 30px;
    padding-top: 10px;
}
body#retirement .partner_contents .slide_wrapper .slide_outer ul.slide_list li.slide_item ｐ{
    font-size: 1.6rem;
    font-weight: 500;
}
/*------------  retirement partner  ------------*/
@media screen and (min-width: 950px) {
    body#retirement .partner_contents .slide_wrapper {
        width: 980px;
        margin-right: auto;
        margin-left: auto;
        overflow-x: hidden;
    }
    body#retirement .partner_contents .ul.slide_list {
        margin-right: 0px;
        grid-auto-columns: 198px;
    }
}