html{
    font-family: "Hiragino Kaku Gothic Pro","Yu Gothic", "Noto Sans Japanese", "メイリオ", sans-serif;
}
body{
    font-size: 1.8rem;
}
/*ページをフェードイン表示*/
#allwrapper{
    animation-name: pageFade;
    animation-duration: 2s;
    animation-timing-function: ease;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-direction: normal;
}
@keyframes pageFade {
    0%{opacity: 0;}
    100%{opacity: 1;}
}
/*END*/
.main_contents{
    padding: 0;
}
.all{
    padding: 3rem 0;
    background: linear-gradient(90deg,#f19925,#f19925,#e25034,#e42f42,#e9246e,#e81767,#e81767,#e9246e,#e42f42,#e25034,#f19925,#f19925);
    line-height: 1.6;
}
h1{
    padding: 0 2rem 3rem;
}
h2{
    position: relative;
    margin-bottom: 6rem;
    text-align: center;
    font-size: 3.4rem;
}
h2::after{
    content: "";
    position: absolute;
    bottom: -30px;
    display: inline-block;
    width: 15px;
    height: 2px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #D43357;
    border-radius: 2px;
}
.h2_at{
    font-size: 1.8rem;
}
h3{
    text-align: center;
    margin-bottom: 2rem;
}
.bg_wh{
    background: #ffffff;
}
.contents_box{
    margin: 0 auto;
    padding: 5rem;
    max-width: 800px;
}
.box_in_box{
    margin: 0 auto;
    padding: 3rem;
}
.bg_pk{
    background: #fdf2f7;
    color: #d62663;
}
.bg_pk+.bg_pk{
    margin-top: 3rem;
}
.bg_gr{
    background: #f9f9f9;
}
.text_bold{
    font-weight: bold;
}
.big_in_text{
    font-size: 2rem;
}
.btn_or{
    margin: 2rem auto 5rem;
    text-align: center;
}
.btn_or a{
    max-width: 760px;
    display: block;
    margin: 0 auto;
    padding: 2rem;
    background: #ff882c;
    color: #ffffff;
    font-size: 2.8rem;
    font-weight: bold;
}
.contents_box>section>p{
    text-align: center;
    margin-bottom: 3rem;
}
.map{
    margin: 0 auto 2rem;
    width: 80%;
}
.img_flex{
    display: flex;
    align-items: center;
    width: 100%;
}
.img_flex>p{
    width: 70%;
}
.img_flex>.arrow{
    width: 10%;
    transform: rotate(270deg);
}
.img_flex>ul{
    width: 20%;
}
.img_flex>ul>li+li{
    margin-top: 2rem;
}
.box_in_box>ul{
    margin-top: 1rem;
    text-align: right;
    color: #d62663;
    font-size: 1.4rem;
}
    .bg_pk > .box_in_box > section > ul li img{
        width: 100%;
    }
.pk_flex{
    display: flex;
    align-items: center;
    margin-bottom: 3rem;
}
.pk_flex.re{
    flex-flow: row-reverse;
}
.pk_flex>img{
    max-width: 150px;
}
.pk_flex>img+p{
    margin-left: 1rem;
}
.pk_flex.re>img+p{
    margin-left: 0;
    margin-right: 1rem;
}
.bg_pk>.box_in_box>section>ul{
    display: flex;
    padding: 0 2rem;
}
.bg_pk>.box_in_box>section>ul>li+li{
    margin-left: 4rem;
}
.flow{
    display: flex;
}
.flow>li{
    position: relative;
    text-align: center;
    flex: 1;
    padding: 1rem;
    background: #ffffff;
    border: 1px solid #4b4b4b;
    font-size: 1.5rem;
    font-weight: bold;
}
.flow>li+li{
    margin-left: 3rem;
}
.flow>li + li::before {
    position: absolute;
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-top: solid 2px #d62663;
    border-right: solid 2px #d62663;
    top: 50%;
    left: -2.5rem;
    margin-top: -10px;
    transform: rotate(45deg);
}
.flow>li img{
    max-width: 50px;
}
.flow>li>p{
    margin-top: 0.5rem;
    line-height: 1.3;
}
.ic_ctrl{
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media screen and (max-width:659px) {
    body{
        font-size: 1.4rem;
    }
.all{
    padding: 1.5rem 0 1rem;
    background: linear-gradient(100deg,#f19925,#f19925,#e25034,#e42f42,#e9246e,#e81767,#e81767,#e9246e,#e42f42,#e25034,#f19925,#f19925);
    }
    h1{
        padding: 0 1rem;
    }
    h2{
        margin-bottom: 5rem;
        font-size: 2.6rem;
    }
    .h2_at{
        font-size: 1.2rem;
    }
    h3{
        font-size: 2rem;
    }
    .contents_box{
    max-width: 100%;
    padding: 3rem 1rem;
}
    .contents_box > section > p{
        text-align: left;
    }
    .box_in_box{
        padding: 2rem 1rem;
    }
    .btn_or a{
        max-width: 100%;
        padding: 1.5rem;
        font-size: 2rem;
    }
    .big_in_text{
        font-size: 1.6rem;
    }
    .img_flex{
        flex-flow: column;
    }
    .img_flex > p{
        width: 100%;
    }
    .img_flex > .arrow{
        width: 100%;
        transform: rotate(0); 
        text-align: center;
        margin: 1rem 0;
    }
    .img_flex > ul{
        width: 90%;
        display: flex;
        justify-content: center;
    }
    .img_flex > ul > li{
        width: calc((100% - 3rem) /2);
    }
    .img_flex > ul > li + li{
        margin-top: 0;
        margin-left: 3rem;
    }
    .pk_flex{
        flex-direction: column;
    }
    .pk_flex.re{
        flex-flow: column;
    }
    .pk_flex > img + p{
        margin-left: 0;
        margin-top: 1rem;
    }
    .pk_flex.re > img + p{
        margin-right: 0;
    }
    .bg_pk > .box_in_box > section > ul{
        width: 100%;
        padding: 0;
    }
    .bg_pk > .box_in_box > section > ul>li{
        width: 100%;
    }
    .bg_pk > .box_in_box > section > ul > li + li{
        
        margin-left: 1rem;
    }
    .flow{
        width: 50%;
        display: block;
        margin: 0 auto;
    }
   .flow > li + li::before {
    position: absolute;
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-top: solid 2px #e1396d;
    border-right: solid 2px #e1396d;
    top: -2.5rem;
    left: 50%;
    margin-top: 0;
    margin-left: -5px;
    transform: rotate(135deg);
}
    .flow > li + li {
    margin-left: 0;
    margin-top: 3rem;
}
    .box_in_box>ul{
    text-align: left;
    font-size: 1.2rem;
}
    .flow > li > p {
    margin-top: 0.5rem;
}
}