@charset "utf-8";
@import url("../font/load.css");


/* CSS Document */

body {
    min-width: 375px;
    font-size: 1.5rem;
    line-height: 1.8;
}

/*========================================
headerの設定
==========================================*/

.h_ads_tel{
    line-height: 1;
    margin-right: 10px;
}

.h_ads_tel p{
    font-size: 1.2rem;
    font-weight: 500;
    color: #de005b;
    line-height: 1;
    margin-bottom: 10px;
    letter-spacing: 0.02em;
}

.tel_num{
    display: inline-block;
    font-size: 2.4rem;
    font-weight: bold;
    color: #de005b;
    letter-spacing: 0.04em;
}

/*========================================
footerの設定
==========================================*/

footer{
    border-top: 5px solid #de005b;
}

.f_info{
    text-align: center;
    padding: 40px 15px 25px;
}

.f_logo{
    display: block;
    width: 300px;
    margin: 0 auto 20px;
}

.f_ads{
    font-size: 1.2rem;
    letter-spacing: 0.08em;
    color: #888888;
    margin-bottom: 25px;
}

.f_sns a{
    display: inline-block;
}

.f_sns a:not(:last-child){
    margin-right: 20px;
}

#copyright{
    padding-bottom: 10px;
    line-height: 1;
    font-size: 1.0rem;
    color: #000000;
    letter-spacing: 0;
    text-align: center;
    font-family:  "メイリオ", Meiryo, Tahoma, Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}


/*========================================
メインビジュアルの設定
==========================================*/

.main_visual_inner {
    position: relative;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    max-width: 87%;
    margin: 60px auto 0;
}

.slide-img{
    position: relative;
    overflow: hidden;
}

.slide-img img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.swiper-button-prev,
.swiper-button-next {
    display: block;
    width: 40px;
    height: 40px;
    cursor: pointer;
}

.swiper-button-prev::before,
.swiper-button-next::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    border-radius: 50%;
    transition: .5s;
    background: url(../images/top/slide_arw01.png) no-repeat center / contain;
}

.swiper-button-next::before{
    background-image: url(../images/top/slide_arw02.png);
}

.swiper-button-prev:hover::before,
.swiper-button-next:hover::before{
    transform: scale(1.1);
}

.swiper-button-prev::after,
.swiper-button-next::after {
    content: none;
}

.swiper-button-disabled {
    pointer-events: none;
    opacity: 0;
}

.main_visual {
    overflow: hidden;
}

.main_visual .swiper {
    overflow: visible;
}

.main_visual .swiper-button-prev,
.main_visual .swiper-button-next {
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    margin: auto;
}

.main_visual .swiper-button-prev {
    left: auto;
    right: calc(100% - 20px);
}

.main_visual .swiper-button-next {
    left: calc(100% - 20px);
}

.main_visual .slide {
    overflow: hidden;
    border-radius: 15px;
}

.main_visual .slide-img {
    padding-top: 52.5%;
}

.main_visual .slide-img img {
    height: calc(100% + 16px);
    -webkit-transform: translateY(-16px);
    transform: translateY(-16px);
}

.catch{
    position: absolute;
    bottom: 35px;
    left: 32px;
    z-index: 100;
    color: #fff;
    font-size: 3.0rem;
    color: #fff;
}

.slide_txt01 img{
    width: 265px;
}

.slide_txt02 img{
    width: 230px;
}

.slide_txt03 img{
    width: 110px;
}

/*========================================
TOPページ
==========================================*/

/*---------------------
top_message
----------------------*/

.top_message_boxs{
    display: block;
    padding: 60px 0;
    background: url(../images/top/top_message_item.png) no-repeat right top 14px / 140px;
}

.top_message_ttl{
    width: 215px;
    margin-bottom: 40px;
}

.top_message_group p:not(:last-child){
    margin-bottom: 28px;
}

.top_message_group_color{
    color: #de005b;
    font-weight: bold;
    font-size: 1.7rem;
}

.top_message_link{
    position: relative;
    display: inline-block;
    font-size: 1.6rem;
    font-weight: bold;
    color: #de005b;
    padding: 12px 50px 12px 0;
}

.top_message_link::before{
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 39px;
    height: 39px;
    transition: .4s;
    background: url(../images/top/top_message_link_arow.png) no-repeat center / contain;
}

.top_message_link:hover::before{
    right: -10px;
}

/*---------------------
top_symptoms
----------------------*/

.top_symptoms{
    position: relative;
    background: #fffdfa;
}

.top_symptoms::before{
    content: '';
    position: absolute;
    bottom: -33px;
    left: 50%;
    transform: translateX(-50%);
    width: 350px;
    height: 57px;
    background: url(../images/top/top_symptoms_arw.png) no-repeat center / contain;
}

.top_symptoms_boxs{
    padding: 60px 0 90px;
}

.top_symptoms_ttl{
    width: 300px;
    margin: 0 auto 40px;
    text-align: center;
}

.top_symptoms_list{
    justify-content: space-between;
}

.top_symptoms_list li{
    width: 48%;
}

.top_symptoms_list li:nth-last-child(n+2){
    margin-bottom: 30px;
}

.top_symptoms_list li:last-child{
    margin: 0 auto;
}

.top_symptoms_list_img{
    margin-bottom: 10px;
}

.top_symptoms_list_txt{
    text-align: center;
}

.top_symptoms_list_txt img{
    height: 16px;
}

/*---------------------
top_cause
----------------------*/

.top_cause_boxs{
    padding: 60px 0;
}

.top_cause_ttl{
    text-align: center;
    width: 320px;
    margin: 0 auto 60px;
}

.top_cause_card{
    position: relative;
    z-index: 0;
    flex-direction: column;
    align-items: center;
}

.top_cause .top_cause-image{
    position: relative;
}

.top_cause .top_cause-image > dt{
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3.7vw;
    color: #fff;
    text-align: center;
    font-weight: 500;
    line-height: 1.4;
    position: absolute;
    top: 0;
    left: 3%;
}

.top_cause .top_cause-image > dd li{
    font-size: 3.5vw;
    font-weight: 700;
    position: absolute;
}

/*     歪んだ骨盤     */
.top_cause .top_cause-image:first-child{
    margin-bottom: 15%;
    width: 100%;
}

.top_cause .top_cause-image:first-child > dd ul{
    height: 80vh;
    background: url(../images/top/top_ng-illust.png) center bottom no-repeat;
    position: relative;
    background-size: contain;
}

.top_cause .top_cause-image:first-child > dt{
    background: url(../images/top/top_ng-ttl_bg.png) center no-repeat;
    background-size: cover;
}

.top_cause .top_cause-image:first-child > dd li{
    color: #0aa0ae;
}

.top_cause .top_cause-image:first-child > dd li:nth-child(1){
    top: -4%;
    right: 0;
    left: 0;
    text-align: center;
}

.top_cause .top_cause-image:first-child > dd li:nth-child(2){
    top: 9%;
    right: 22%;
}

.top_cause .top_cause-image:first-child > dd li:nth-child(3){
    top: 16%;
    left: 16%;
}

.top_cause .top_cause-image:first-child > dd li:nth-child(4){
    top: 22%;
    left: 19%;
}

.top_cause .top_cause-image:first-child > dd li:nth-child(5){
    top: 21%;
    right: 19%;
}

.top_cause .top_cause-image:first-child > dd li:nth-child(6){
    top: 35%;
    left: 17%;
}

.top_cause .top_cause-image:first-child > dd li:nth-child(7){
    top: 35%;
    right: -4%;
}

.top_cause .top_cause-image:first-child > dd li:nth-child(8){
    top: 40%;
    right: 5%;
}

.top_cause .top_cause-image:first-child > dd li:nth-child(9){
    bottom: 54%;
    left: 0;
}

.top_cause .top_cause-image:first-child > dd li:nth-child(10){
    bottom: 40%;
    left: -2%;
}

.top_cause .top_cause-image:first-child > dd li:nth-child(11){
    bottom: 30%;
    left: 13%;
}

.top_cause .top_cause-image:first-child > dd li:nth-child(12){
    bottom: 30%;
    right: 14%;
}

.top_cause .top_cause-image:first-child > dd li:nth-child(13){
    bottom: 8%;
    right: 18%;
}

/*     正常な骨盤     */
.top_cause .top_cause-image:last-child{
    width: 100%;
}

.top_cause .top_cause-image:last-child > dt{
    background: url(../images/top/top_good-ttl_bg.png) center no-repeat;
    background-size: cover;
}


.top_cause .top_cause-image:last-child > dd ul{
    height: 78vh;
    background: url(../images/top/top_good-illust.png) center bottom no-repeat;
    position: relative;
    background-size: contain;
}

.top_cause .top_cause-image:last-child > dd li{
    color: #de005b;
    padding-right: 5%;
    background: url(../images/top/top_search_icon.png) right center no-repeat;
    background-size: 15px 15px;
    cursor: pointer;
}

.top_cause .top_cause-image:last-child > dd li .menu-wrap{
    width: 85vw;
    opacity: 0;
    visibility: hidden;
    position: absolute;
    z-index: 1;
    transition: .5s all;
    box-shadow: 2px 2px 2px rgba(63,63,63,.07);
    top: -21vh;
    right: 0;
}

.top_cause .top_cause-image:last-child > dd li .menu-wrap > dt{
    background: #de005b;
    color: #fff;
    font-size: 3.5vw;
    font-weight: 700;
    padding: 5px 0;
    text-align: center;
}

.top_cause .top_cause-image:last-child > dd li .menu-wrap > dd{
    background: #fff;
}

.top_cause .top_cause-image:last-child > dd li .menu-wrap > dd dl{
    padding: 3% 2%;
    border-bottom: 1px solid rgba(102,102,102,.1);
    display: flex;
    justify-content: space-between;
}
.top_cause .top_cause-image:last-child > dd li .menu-wrap > dd dl:last-child{
    border-bottom: none;
}

.top_cause .top_cause-image:last-child > dd li:hover .menu-wrap{
    visibility: visible;
    opacity: 1;
}

.top_cause .top_cause-image:last-child > dd li:nth-child(1){
    top: 9%;
    right: 3%;
}

.top_cause .top_cause-image:last-child > dd li:nth-child(2){
    top: 27%;
    left: -2%;
}

.top_cause .top_cause-image:last-child > dd li:nth-child(2) .menu-wrap,
.top_cause .top_cause-image:last-child > dd li:nth-child(6) .menu-wrap{
    right: -55vw;
}

.top_cause .top_cause-image:last-child > dd li:nth-child(3){
    top: 27%;
    right: 0;
}

.top_cause .top_cause-image:last-child > dd li:nth-child(4){
    top: 36.5%;
    right: 0;
}

.top_cause .top_cause-image:last-child > dd li:nth-child(5){
    top: 48%;
    right: 0;
}

.top_cause .top_cause-image:last-child > dd li:nth-child(6){
    bottom: 30%;
    left: 0;
}

.top_cause .top_cause-image:last-child > dd li:nth-child(7){
    bottom: 17%;
    right: 0;
}

.top_cause .top_cause-image:last-child > dd li:nth-child(8){
    bottom: 7%;
    right: 9%;
}

.top_cause .top_flow_link{
    margin-top: 7%;
}

/*---------------------
top_feature
----------------------*/

.top_feature_boxs{
    padding: 20px 0 60px;
}

.top_feature_ttl{
    position: relative;
    text-align: center;
    margin-bottom: 60px;
}

.top_feature_ttl span{
    position: relative;
    display: inline-block;
    background: #de005b;
    padding: 7px 10px;
}

.top_feature_ttl span::before{
    content: '';
    position: absolute;
    bottom: -14px;
    left: 50%;
    transform: translateX(-50%);
    width: 0px;
    height: 0px;
    border-top: 14px solid #de005b;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
}

.top_feature_ttl span img{
    width: 330px;
    vertical-align: baseline;
}

.top_feature_list{
    flex-direction: column;
    align-items: center;
}

.top_feature_list li{
    text-align: center;
}

.top_feature_list li:not(:last-child){
    margin-bottom: 50px;
}

.top_feature_list_ttl{
    margin-bottom: 30px;
}

.top_feature_list_img{
    margin-bottom: 10px;
}

.top_feature_list_txt{
    font-size: 1.4rem;
    color: #de005b;
    text-align: left;
    letter-spacing: 0.12em;
    line-height: 1.69;
    width: 90%;
    margin: 0 auto;
}

/*---------------------
top_flow
----------------------*/

.top_flow{
    background: #fffdfa;
}

.top_flow_boxs{
    padding: 60px 0;
}

.top_flow_ttl{
    text-align: center;
    width: 165px;
    margin: 0 auto 40px;
}

.top_flow_list{
    align-items: center;
    margin-bottom: 50px;
}

.top_flow_list li{
    position: relative;
    border-radius: 4px;
    background: #fff;
    width: 90%;
    margin: 0 auto;
    max-width: 400px;
    border: 1px solid #de005b;
}

.top_flow_list li:not(:last-child)::before{
    content: '';
    position: absolute;
    bottom: -67px;
    left: 50%;
    transform: translateX(-50%);
    width: 34px;
    height: 45px;
    background: url(../images/top/top_flow_list_arw.png) no-repeat center / contain;
}

.top_flow_list li:not(:last-child){
    margin-bottom: 80px;
}

.top_flow_img{
    position: relative;
    padding-top: 69%;
}

.top_flow_img img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

.top_flow_list_group{
    padding: 25px 15px;
}

.top_flow_list_group_step{
    margin-bottom: 15px;
}

.top_flow_list_group_step img{
    height: 25px;
}

.top_flow_list_group_ttl{
    color: #de005b;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 15px;
}

.top_flow_list_group_txt{
    letter-spacing: 0.12em;
}

.top_flow_link{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 280px;
    height: 55px;
    color: #de005b;
    border: 2px solid;
    margin: 0 auto;
    font-size: 1.5rem;
    font-weight: bold;
    letter-spacing: 0.12em;
    background: #fff;
}

.top_flow_link span{
    position: relative;
    display: inline-block;
    padding-left: 30px;
}

.top_flow_link span::before{
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    transition: .4s;
    width: 20px;
    height: 20px;
    background: url(../images/top/top_flow_link_arw.png) no-repeat center / contain;
}

.top_flow_link:hover span::before{
    left: 10px;
}

/*---------------------
top_intro
----------------------*/

.top_intro_boxs{
    padding: 60px 0 60px;
}

.top_intro_ttl{
    position: relative;
    text-align: center;
    width: 350px;
    margin: 0 auto 123px;
}

.top_intro_ttl::before{
    content: '';
    position: absolute;
    bottom: -94px;
    left: 0;
    width: 100px;
    height: 82px;
    background: url(../images/top/top_intro_ttl_item01.png) no-repeat center / contain;
}

.top_intro_ttl::after{
    content: '';
    position: absolute;
    bottom: -96px;
    right: 0;
    width: 110px;
    height: 80px;
    background: url(../images/top/top_intro_ttl_item02.png) no-repeat center / contain;
}

.top_intro_list{
    position: relative;
    z-index: 0;
    max-width: 500px;
    margin: 0 auto;
}

.top_intro_list::before{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: calc(100% + 25px);
    height: calc(100% + 60px);
    background: url(../images/top/top_intro_list_bg.png);
    z-index: -1;
}

.top_intro_list li{
    width: 48%;
    text-align: center;
}

.top_intro_list li:nth-last-child(n+3){
    margin-bottom: 20px;
}

/*---------------------
top_news
----------------------*/

.top_news_boxs{
    position: relative;
    padding: 60px 0 60px;
}

.top_news_ttl{
    position: relative;
    display: flex;
    align-items: center;
    padding-bottom: 10px;
    border-bottom: 1px solid #666666;
    margin-bottom: 40px;
}

.top_news_ttl img{
    height: 25px;
}

.top_news_ttl::before{
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 20px;
    border-radius: 5px;
    background: #b5b5b5;
}

.top_news_ttl::after{
    content: '';
    display: inline-block;
    width: 70px;
    height: 42px;
    margin-left: 20px;
    background: url(../images/top/top_news_ttl_icon.png) no-repeat center / contain;
}

.top_news_card{
    display: block;
    margin-bottom: 30px;
}

.top_news_pick{
    margin-bottom: 30px;
}

.top_news_pick li{
    width: 100%;
}

.top_news_pick .cmn_news_list_img{
    height: 55vw;
    margin-bottom: 15px;
}

.top_news_pick .news_post_ttl{
    font-size: 1.8rem;
    line-height: 1.45;
}


/*---------------------
top_contact
----------------------*/

.top_contact_boxs{
    padding: 20px 0 60px;
}

.top_contact_block{
    max-width: 880px;
    width: 100%;
    margin: 0 auto;
    padding: 70px 0 40px;
    border-radius: 5px;
    border: 1px solid #de005b;
}

.top_contact_ttl{
    position: relative;
    text-align: center;
    max-width: 800px;
    width: 90%;
    margin: -95px auto 30px;
    background: #de005b;
    padding: 7px 10px;
}

.top_contact_ttl::before {
    content: '';
    position: absolute;
    bottom: -14px;
    left: 50%;
    transform: translateX(-50%);
    width: 0px;
    height: 0px;
    border-top: 14px solid #de005b;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
}

.top_contact_ttl img{
    height: 25px;
    vertical-align: baseline;
}

.top_contact_inner{
    flex-direction: column;
    align-items: center;
    color: #de005b;
    text-align: center;
}

.top_contact_group:not(:last-child){
    margin-bottom: 30px;
}

.top_contact_group_ttl{
    display: block;
    width: 200px;
    margin: 0 auto 12px;
    font-size: 1.8rem;
    border-bottom: 1px solid;
}

.top_contact_tel{
    font-size: 3.3rem;
    font-weight: bold;
    color: #de005b;
    line-height: 1;
    letter-spacing: 0.04em;
}

.top_contact_tel::before{
    content: '';
    display: inline-block;
    width: 28px;
    height: 28px;
    background: url(../images/top/top_contact_tel_icon.png) no-repeat center / contain;
}

.top_contact_time{
    display: inline-block;
    font-size: 1.3rem;
    color: #fff;
    line-height: 1;
    padding: 5px 15px;
    letter-spacing: 0.12em;
    background: #de005b;
}

.top_message_btn{
    text-align: center;
}

.top_contact_group .ct_link{
    width: 260px;
    height: 60px;
    border-width: 2px;
    font-size: 1.9rem;
}

.top_contact_group .ct_link::before{
    width: 20px;
    height: 14px;
    background-image: url(../images/top/ct_link_icon.png);
}

/*========================================
下層メインビジュアルの設定
==========================================*/

.sub_visual{
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fdf0f5;
    height: 150px;
    margin-top: 50px;
}

.sub_visual h2{
    position: relative;
    padding-top: 40px;
}

.sub_visual_icon img{
    height: 25px;
}

.sub_visual_txt img{
    height: 25px;
}

#flow .sub_visual_icon img{
    height: 35px;
}

.sub_visual_icon{
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

/*========================================
message
==========================================*/

/*---------------------
message_area
----------------------*/

.message_area{
    background: url(../images/message/message_area_illust.png) no-repeat center bottom / 315px;
}

.message_boxs{
    padding: 60px 0 200px;
}

.message_area_ttl{
    max-width: 620px;
    width: 100%;
    margin: 0 auto 40px;
}

.message_txt{
    line-height: 2;
}

.message_txt p:not(:last-child){
    margin-bottom: 30px;
}

/*========================================
price
==========================================*/

/*---------------------
price_insurance
----------------------*/

.price_insurance_boxs{
    padding: 60px 0 20px;
}

.price_insurance_tb{
    width: 100%;
    margin: 0 auto;
}

.price_insurance_tb th,
.price_insurance_tb td{
    padding: 13px 5px;
    line-height: 1.3;
    letter-spacing: 0.08em;
    text-align: center;
}

.price_insurance_tb thead th{
    font-weight: bold;
    background: #fdf2f7;
    border-right: 1px solid #fff;
}

.price_insurance_tb thead th:first-child{
    background: none;
}

.price_insurance_tb tbody th{
    color: #fff;
    background: #de005b;
    border-top: 1px solid #fff;
}

.price_insurance_tb tbody td{
    color: #de005b;
    border-top: 1px dashed #dcdcdc;
}

/*---------------------
price_cost
----------------------*/

.price_cost_boxs{
    padding: 40px 0 60px;
}

.price_cost_card{
    flex-direction: column;
    align-items: center;
    margin-bottom: 50px;
}

.price_cost_block{
    max-width: 500px;
    width: 100%;
}

.price_cost_block:not(:last-child){
    margin-bottom: 40px;
}

.price_cost_block_ttl{
    font-size: 1.9rem;
    line-height: 1;
    text-align: center;
    color: #de005b;
    padding: 15px 10px;
    letter-spacing: 0.2em;
    background: #fdf2f7;
}

.price_cost_list li{
    display: flex;
    justify-content: space-between;
    letter-spacing: 0.14em;
    padding: 10px 15px;
    border-top: 1px dashed #dcdcdc;
}

.price_cost_list li span:last-child{
    color: #de005b;
}

.price_cost_point{
    position: relative;
    font-size: 1.7rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.14em;
    padding-bottom: 15px;
    color: #de005b;
}

.price_cost_point::before{
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    border-bottom: 1px solid #de005b;
}

/*========================================
flow
==========================================*/

/*---------------------
flow_reserve
----------------------*/

.flow_reserve_boxs{
    padding: 60px 0;
}

.flow_reserve_list{
    justify-content: space-between;
}

.flow_reserve_list li{
    position: relative;
    width: 48%;
    text-align: center;
    counter-increment: flow_reserve_list;
}

.flow_reserve_list li:nth-last-child(n+3){
    margin-bottom: 40px;
}

.flow_reserve_list_img{
    margin-bottom: 30px;
}

.flow_reserve_list_ttl{
    position: relative;
    font-size: 1.7rem;
    letter-spacing: 0.075em;
    color: #de005b;
    line-height: 1;
    padding: 30px 0 10px;
    margin-bottom: 5px;
    background: #fdf2f7;
}

.flow_reserve_list_ttl::before{
    content: counter(flow_reserve_list, decimal-leading-zero);
    position: absolute;
    top: -17.5px;
    left: 50%;
    transform: translateX(-50%);
    width: 35px;
    height: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #de005b;
    font-size: 1.7rem;
    letter-spacing: 0.08em;
    border-radius: 50%;
    border: 1px solid;
    background: #fff;
}

.flow_reserve_list_txt{
    font-size: 1.3rem;
    color: #de005b;
    text-align: left;
    letter-spacing: 0.1em;
    line-height: 1.84;
}

.flow_reserve_list_ads{
    margin-top: 15px;
}

.flow_tel{
    font-size: 2.0rem;
    font-weight: bold;
    color: #de005b;
    line-height: 1;
    letter-spacing: 0.04em;
}

.flow_tel::before{
    content: '';
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 5px;
    background: url(../images/flow/flow_tel_icon.png) no-repeat center / contain;
}

.flow_ct_link{
    width: 100%;
    max-width: 200px;
    height: 50px;
    margin: 13px auto 0;
    font-size: 1.6rem;
}

.ct_link::before{
    width: 18px;
    height: 14px;
    background-image: url(../images/flow/flow_ct_link_icon.png);
}


/*========================================
overview
==========================================*/

/*---------------------
overview_intro
----------------------*/

.overview_intro_boxs{
    padding: 60px 0 0 0;
}

.overview_intro_card{
    flex-direction: column;
    align-items: center;
    margin-bottom: 60px;
}

.overview_intro_img{
    width: 250px;
    margin: 0 auto 30px;
}

.overview_intro_name{
    font-size: 2.0rem;
    letter-spacing: 0.2em;
    color: #de005b;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 15px;
}

.overview_intro_block_txt{
    line-height: 1.6;
    letter-spacing: 0.1em;
}

.overview_intro_block_txt:not(:last-child){
    margin-bottom: 24px;
}

.overview_intro_block_label{
    display: inline-block;
    font-size: 1.6rem;
    font-weight: bold;
    color: #fff;
    line-height: 1;
    padding: 5px 20px 5px 10px;
    border-radius: 5px 15px 15px 5px;
    margin-bottom: 10px;
    background: #de005b;
}

.overview_intro_list{
    font-size: 1.4rem;
    letter-spacing: 0.1em;
}

.overview_intro_list{
    display: block;
}

.overview_intro_contents:not(:last-child){
    margin-bottom: 60px;
}

.overview_intro_contents_ttl{
    font-size: 2.0rem;
    font-weight: bold;
    color: #de005b;
    line-height: 1;
    text-align: center;
    margin-bottom: 20px;
}

.overview_intro_contents_txt{
    font-size: 1.4rem;
    padding: 30px 15px;
    border: 5px solid #fef4f8;
}

.overview_intro_contents_txt p:not(:last-child){
    margin-bottom: 28px;
}

.overview_info_boxs{
    padding-top: 60px;
}

.overview_info_tb{
    width: 100%;
    margin-bottom: 60px;
}

.overview_info_tb tr:not(:last-child){
    border-bottom: 1px solid #efefef;
}

.overview_info_tb th,
.overview_info_tb td{
    display: block;
    font-size: 1.4rem;
    padding: 10px 10px;
}

.overview_info_tb th{
    position: relative;
    padding-left: 20px;
}

.overview_info_tb th::before{
    content: '';
    position: absolute;
    top: 50%;
    left: 5px;
    transform: translateY(-50%);
    height: 20px;
    border-left: 3px solid #de005b;
}

.overview_map_ttl{
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.7rem;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 10px;
}

.overview_map_ttl::before{
    content: '';
    display: inline-block;
    width: 14px;
    height: 18px;
    margin-right: 10px;
    background: url(../images/overview/overview_map_ttl_icon.png) no-repeat center;
}

.map{
    height: 250px;
}





/*========================================
newsの設定
==========================================*/

.news_area .cmn_news{
    justify-content: space-between;
}

.news_detail_ttl {
    border-bottom: 1px solid #efefef;
    line-height: 1.6;
    margin-bottom: 20px;
    font-size: 2.0rem;
    padding-bottom: 10px;
}

.news_inner_time {
    font-size: 1.4rem;
    margin-bottom: 30px;
    color: #de005b;
}

.news_area_txt {
    margin-bottom: 40px;
    min-height: 200px;
}

/*========================================
privacyの設定
==========================================*/

.privacy_sec_ttl {
    position: relative;
    display: flex;
    align-items: center;
    font-size: 1.9rem;
    font-weight: 500;
    padding-left: 20px;
    margin-bottom: 15px;
}

.privacy_sec_ttl::before{
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 7px;
    height: 7px;
    transform: translateY(-50%);
    margin-right: 10px;
    border-radius: 50%;
    background: #de005b;
}
.privacy_boxs section {
    margin-bottom: 30px;
}

/*========================================
siteの設定
==========================================*/

.site_list a {
    position: relative;
    display: block;
    border-bottom: 1px solid;
    margin-bottom: 20px;
    padding: 7px 0 7px 30px;
}

.site_list a::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 10px;
    width: 5px;
    height: 5px;
    border-right: 2px solid;
    border-bottom: 2px solid;
    transform: translateY(-50%) rotate(-45deg);
    transition: All .5s;
}

.site_list a:hover::before {
    left: 20px;
}
