
/*--ページ全体のフォント--*/
body {
    margin: 0px;
    overflow-x: hidden;/*scroll-xを隠す*/
    -webkit-overflow-scrolling: touch; 
    font-family: "A+EqpB-游ゴシック体 Pr6N M", "Yu Gothic", 游ゴシック体, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, verdana, sans-serif;
    width: 100%; /* 固定宽度 */
}
body, html, .swiper-container, .swiper-wrapper, .swiper-slide {
    margin: 0;
    padding: 0;
}
/*-------------------------------------　ヘッダー部分のデザイン　-------------------------------------*/
/*--ヘッダー部分のデザイン--*/
.top_header {
    white-space: nowrap;
    display: flex;
    background-color: #F5F5F5;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 80px;
    z-index: 1000;
    justify-content: space-between;
    white-space: nowrap;
}
/*--LOGOの位置--*/
.logo {
    margin-left: 30px;
    margin-top: 28px;
}
.logo img{
    width: 150px;
}
/*--タブのデザイン--*/
.top_tab {
    display: flex;
    align-items: center;
    margin-right: 50px;
}
.consultation-link,
 .member-link, 
 .aboutus-link,
 .service-link,
 .doctor_search-link,
 .lifeplan-link,
 .colum-link {
    text-decoration: none;
}
/*--タブの間隔とフォントサイズ--*/
.consultation>.consultation-link,
.member_login>.member-link,
.our_story>.aboutus-link,
.service>.service-link,
.product_search>.product_search-link,
.life_plan>.lifeplan-link,
.column>.colum-link {
    margin-left: 50px;
    font-size: 15px;
    font-weight: bold;
    color: #4D4D4D;
    transition: color 0.3s ease;
    text-decoration: none;
}
/*--タブ押すの色変え--*/
.consultation > .consultation-link:hover,
.member_login > .member-link:hover,
.our_story > .aboutus-link:hover,
.service > .service-link:hover,
.product_search > .product_search-link:hover,
.life_plan > .lifeplan-link:hover,
.column > .colum-link:hover {
    color:#FDB2B7
}

/* ドロップダウンのデザイン */
.member_login {
    position: relative;
}
/* ドロップダウンの大きさと配置 */
.dropdown_content {
    display: none;
    position: absolute;
    background-color: white;
    min-width: 110px;
    box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.2);
    z-index: 1;
    left: 50%; 
    transform: translateX(-50%); 
    margin-top: 10px; 
    margin-left: 25px;
}

.dropdown_content a {
    color: #4D4D4D;
    padding: 10px 10px;
    text-align: center;
    font-size: 15px;
    font-weight: bold;
    text-decoration: none;
    display: block;
    transition: color 0.3s ease;
}
.member_login_general {
    padding-bottom: 5px;
}
.member_login_doctor {
    padding-top: 5px;
}
.dropdown_content a:hover {
    color: #FDB2B7;
}

/* ドロップダウンの様式 */
.show {
    display: block;
}

/* アカウント */
.member-name {
    margin: 0;
    color: #4D4D4D;
    font-size:15px;
    font-weight: bold;
}
.account_button {
    display: flex;
    align-items: center;
    margin-left: 50px;
    padding-block: 0.5rem;
    padding-inline: 1rem;
    border-radius: 9999px;
    /* border-width: 1px;
    border-color: rgb(229, 233, 240); */
    border: 1px solid rgb(193, 193, 194);
    background: rgb(255, 255, 255);
    text-decoration: none;
    transition: 0.3s;
}
.account_button:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/*------------------------------------------------------------------------------------------------------------*/

/*----------------------------　メイン部分:スライドバーのデザイン　------------------------------*/

/*--トップページのスライドバーのデザイン--*/
.top_main {
    margin-top: 120px; /* header の高さに合わせて調整  */
}
picture {
    text-align: center;
}
li {
    display: list-item;
    text-align: -webkit-match-parent;
    unicode-bidi: isolate;
}
/*画像スライドの配置--*/
.p_mv_slider_list {
    list-style-type: none;
    margin-top: 30px;
    margin-bottom: 10px;
}
.swiper-wrapper {
    display: flex;
    transition-property: transform;
    box-sizing: content-box;
}
.swiper-container {
    width: 100%;
    height: 100%;
    margin: 0 auto; 
}
.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    margin: 0 ; 
}
.main_column,
.next_column,
.middle_column,
.last_column {
    display: flex;
    width: 100%;
}

.top_slide_piture_1,
.top_slide_piture_2,
.top_slide_piture_3,
.top_slide_piture_4 {
    width: 100%;
    height: auto;
}

/*トップスライドのメイン画像--*/
/*テキストの部分*/
.p-mv-slider__item_1_text_1 {
    position: absolute;
    top: 15%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    
    color: #545454;
    background-color: transparent;
    font-size: x-large;
    font-weight: bold;
}
.p-mv-slider__item_1_text_2 {
    text-align: center;
    
    color: #545454;
    font-size: 20px;
    font-weight: 600;
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}
/*--画像背景--*/
.p-mv-slider__item_1_background {
    display: flex;
    justify-content: center;
    width:100%;
    height: 390px;
    background-image: url('../image/top_slide1.png');
    background-repeat: no-repeat; 
    background-size: cover; 
    background-position: center; 
}
/*画像本体--*/
.main_column {
    display: flex;
}
.top_slide_piture_1 {
    width:100%;
    height: 390px;
}
/*--LOGOの配置--*/
.top_slide_piture_1_logo {
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 300px;
}
/*--マスコットの配置--*/
.top_slide_piture_1_mascot {
    position: absolute;
    width: 8%;
    top: 77%;
    left: 88%;
    transform: translate(-50%, -50%);
}

/*トップスライドの医師検索画像--*/
/*テキストの部分*/
.p-mv-slider__item_2_text_1 {
    text-align: center;
    
    color: #545454;
    font-size: x-large;
    font-weight: bold;
    margin-bottom: 0px;
}
.p-mv-slider__item_2_text_2 {
    text-align: center;
    
    color: #545454;
    font-size: x-large;
    font-weight: bold;
    position: absolute;
    top: 13%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

/*--画像背景--*/
.p-mv-slider__item_2_background {
    display: flex;
    justify-content: center;
    width:100%;
    height: 390px;
    background-color: #FFE6DC;
}

/*画像本体--*/
.next_column {
    display: flex;
}
.top_slide_piture_2 {
    width: 1000px;
}

/*トップスライドの女性情報画像*/
/*ページ遷移のボタン*/
.p-mv-slider__item_3_text_1 {
    position: absolute;
    top: 20%;
    left: 87%;
    transform: translate(-50%, -50%);
    
    color: #545454;
    font-size: 1em;
    font-weight: bold;
    width: 600px;
    text-align: left;
}
.slide_button_column {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 78%;
    transform: translate(-50%, -50%);
    pointer-events: auto;
}
.to-column {
    position: relative;
    padding: 15px 30px;
    padding-right: 45px;
    width: 100px;
    text-decoration: none;
    background-color: #4D4D4D;
    border: 1px solid #4D4D4D;
    border-radius: 0.5em;
    overflow: hidden;
    pointer-events: auto;  
}
.to-column:hover {
    background-color: #4D4D4D;
    opacity: 0.5;
    border: 1px solid #4D4D4D;
}
.slide-button-column-text {
    position: relative;
    font-size: 20px;
    font-weight: bold;
    line-height: 20px;
    color: white;
    
    box-sizing: border-box;
    z-index: 1; 
    white-space: nowrap;
}
/*ページ遷移のボタンのicon*/
.slide_button_column_icon {
    position: absolute;
    top: 86%;
    left: 96%;
    transform: translate(-50%, -50%);
}
/*画像本体*/
.middle_column {
    display: flex;
}
.top_slide_piture_3 {
    width:100%;
    height: 390px;
}

/*トップスライドの意見を送る画像*/
.p-mv-slider__item_4_text_1 {
    text-align: center;
    
    color: #545454;
    font-size: 1.6em;
    font-weight: bold;
    position: absolute;
    top: 15%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}
.p-mv-slider__item_4_text_2 {
    text-align: center;
    color: #545454;
    font-size: 1.1em;
    font-weight:500;
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}
/*画像本体*/
.last_column {
    display: flex;
}
.top_slide_piture_4 {
    width:100%;
    height: 390px;  
}
/*ページ遷移のボタン*/
.slide_button {
    text-align: center;
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: auto;
}
.to-contact {
    position: relative;
    padding: 15px 80px;
    text-decoration: none;
    background-color: #4D4D4D;
    border: 1px solid #4D4D4D;
    border-radius: 0.5em;
    overflow: hidden;
    pointer-events: auto;  
}
.to-contact:hover {
    background-color: #4D4D4D;
    opacity: 0.5;
    border: 1px solid #4D4D4D;
}
.slide-button-text {
    position: relative;
    font-size: large;
    font-weight: bold;
    line-height: 20px;
    color: white;
    
    box-sizing: border-box;
    z-index: 1; 
}
/* --ページネーションのデザイン-- */
.swiper-container {
    position: relative;
}

.swiper-pagination {
    /* position: absolute;
    bottom: 15% !important; 
    left: 50%;
    transform: translateX(-50%); */
    position: static !important;
    margin-top: 10px !important;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background-color: #000 !important; 
    margin: 0 5px; 
    border-radius: 50%; 
    opacity: 0.3 !important;
    cursor: pointer;
}

.swiper-pagination-bullet-active {
    background-color: #FDB2B7 !important;
    opacity: 1 !important;
}

/* --スワイプボタンのデザイン-- */
.swiper-button-prev, .swiper-button-next {
    background-color: gray; 
    opacity: 0.3 !important;
    border-radius: 50%; /* 圆形 */
    width: 50px !important; 
    height: 50px !important; 
    display: flex;
    align-items: center;
    justify-content: center;
}
.swiper-button-prev {
    left:5px !important;
    top:50% !important;
}
.swiper-button-next {
    right: 5px !important;
    top:50% !important;
}
.swiper-button-prev:after, .swiper-button-next:after {
    font-size: xx-large !important;
    color: white;
}

 /*-- APPダウンロード画面のデザイン --*/

.app_download {
    display: flex;
    justify-content: center; 
    margin-top: 100px;
    margin-left: auto; 
    margin-right: auto; 
    padding-left: 50px; 
    padding-right: 50px; 
    background-color: #FFE6DC;
    max-width: 1200px; 
    width: 100%;
    box-sizing: border-box; 
}
.app_download_group_1 {
    margin-top: 30px;
    margin-bottom: 30px;
    margin-right: 50px; 
}
.app_download_group_2 {
    margin-top: 30px;
    margin-bottom: 30px;
    margin-left: 50px; 
}
.phone_picture_text {
    text-align: center;
    margin-bottom: 30px;
    color: #4D4D4D;
    font-size: large;
    font-weight: bold;
    
}
.phone_picture {
    display: flex;
    justify-content: center; 
}
.smart-phone-1, .smart-phone-2 {
    width: 220px;
}
.arrow {
    /* width: 80px; */
    /* margin-top: 150px; */
}
.app_icon {
    display: flex;
    justify-content: center; 
    margin-bottom: 50px;
}
.app_icon_2 {
    margin-left: 30px;
}
.app_download_picture_text_1 {
    text-align: center;
    margin-top: 30px;
    margin-bottom: 30px;
    color: #4D4D4D;
    font-size: x-large;
    font-weight: bold;
    
}
.app_download_picture_text_2 {
    text-align: center;
    margin-bottom: 50px;
    color: #4D4D4D;
    font-size: large;
    font-weight: normal;
    
}
.app-link-1 > img,
.app-link-2 > img {
    width: 230px;
}
.app_QRcode_1 {
    margin-top: 30px; 
    display: flex;
    justify-content: center;
} 
.app_QRcode_1 > img {
    margin-left: 0; 
}

.app_QRcode_2 {
    margin-top: 30px; 
    display: flex;
    justify-content: center;
}

.app_QRcode_2 > img {
    margin-left: 0; 
}
.app_QRcode_1 > img,
.app_QRcode_2 > img {
    width: 150px;
}


/*-- トップに戻るボタンのデザイン --*/
.swiper-button-to-top {
    position: fixed; /* 位置を固定 */
    bottom: 40px; /* 画面の底部まで３０ｐｘ */
    right: 15px; /* 画面の右側まで15ｐｘ */
    width: 50px;
    height: 50px;
    background-color: #F98A92; 
    opacity: 0.5;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    cursor: pointer;
}
/*ボタン上の指示文字*/
.swiper-button-to-top:after {
    font-size: 15px;
    font-weight: bold;
    color: white;
    content: 'TOP';    
}

/*---------------------------- メイン部分:サービスの使い方の部分のデザイン ---------------------------*/
/*-- 全部の内容を中央に置く--*/
.service-introduce{
    display: flex;
    align-items: center;
    justify-content: center;
}
/*-- タイトルのデザイン --*/
.service-introduce-title {
    position: relative;
    margin-top: 50px;
    margin-bottom: 30px;
    color: #545454;
    
    text-align: center;
    font-size: x-large;
    font-weight: bold;
}
/*-- 各card-blogの間隔 --*/
.card-blog-doctor-search,.card-blog-health-data-management {
    margin-left: 100px;
}
/*-- 背景のデザイン --*/
.card-blog-lifeplan-picture-area,.card-blog-doctor-search-picture-area,.card-blog-health-data-management-picture-area {
    position: relative;      
    width: 250px;            
    height: 180px;           
    border-radius: 10%;
    background-color: #FFE6DC;
    display: flex;           
    align-items: center;     
    justify-content: center; 
    /* overflow: hidden;*/
}
/*-- 写真を中央に置きかつ背景より小さくする --*/
.piture_lifeplan, .piture_doctor_search,.piture_health_data_management{
    max-width: 80%;  
    max-height: 80%; 
    width: auto;     
    height: auto;    
    display: block;  
    margin: auto;    
}
/*-- 写真下のテキストのデザイン --*/
.card-blog-lifeplan-text,.card-blog-doctor-search-text,.card-blog-health-data-management-text {
    margin-top: 10px;
    
    color: #545454;
    font-size: large;
    font-weight: bold;
    text-align: center;
}
/*-- 数字のデザイン --*/
.ranking_num {
    position: absolute;
    top: -10px;               
    left: 0;            
    transform: translate(-50%);   
    text-align: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: white;
    background-color: #F98A92;
    font-size: x-large;
    font-weight: bold;
}

/*----------------------------- メイン部分:サービスの使い方の詳細のデザイン ------------------------------*/
.service-introduce-details {
    display: flex;
    flex-direction: column; 
    align-items: center; 
    margin: 0 auto; 
    margin-top: 200px;
}
/*-- 各コラムの間隔 --*/
.lifeplan-column {
    display: flex;
}
.doctor-search-column, .health-data-management-column {
    display: flex;
    margin-top: 60px;
}
.lifeplan-column-1, .doctor-search-column-1, .health-data-management-column-1 {
    margin-right: 50px;
}
/*-- 画像のデザイン --*/
.lifeplan-column-picture-area, .doctor-search-column-picture-area, .health-data-management-column-picture-area {
    position: relative;      
    width: 250px;            
    height: 180px;           
    border-radius: 10%;
    background-color: #FFE6DC;
    display: flex;           
    align-items: center;     
    justify-content: center; 
}
.column_piture_lifeplan, .column_piture_doctor_search, .column_piture_health_data_management {
    max-width: 80%;  
    max-height: 80%; 
    width: auto;     
    height: auto;    
    display: block;  
    margin: auto; 
}
/*-- 画像下部のテキストのデザイン --*/
.lifeplan-column-text, .doctor-search-column-text, .health-data-management-column-text {
    margin-top: 10px;
    
    color: #545454;
    font-size: large;
    font-weight: bolder;
    text-align: center;
    position: relative;
}
/*--  画像下部のテキストのアンダーライン --*/
.lifeplan-column-text::after, .doctor-search-column-text::after, .health-data-management-column-text::after {
    content: '';
    position: absolute;
    left: 30px;
    right: -8px;
    bottom: -1px;
    height: 1px;
    background-color: #545454;
    width: 180px;
}

/*--  画像右側のテキストのデザイン --*/
.lifeplan-column-2-text, .doctor-search-column-2-text, .health-data-management-column-2-text {

    color: #545454;
    font-size: large;
    font-weight: normal;
    margin-top: 50px;
}
/*-- 数字のデザイン --*/
.service-ranking_num {
    position: absolute;
    top: -10px;               
    left: 0;            
    transform: translate(-50%);   
    text-align: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: white;
    background-color: #F98A92;
    font-size: x-large;
    font-weight: bold;
}

/*-------------------------------------　LINE BOXのデザイン　-------------------------------------*/
/* line-boxの位置を配置 */
.line-box-container {
    margin-top: 100px;
    margin-right: 100px;
    text-align: center;
}

.line-fixed-button-box {
    display: flex;
    justify-content: right;
    align-items: center;
}
/* line-boxのデザイン */
.line-fixed-button{
    background-color: white;
    /* border-radius:50px; */
    border: 1px solid white;
    display: inline-flex;
    align-items: center;     
    justify-content: center; 
    padding: 5px 20px; 
}
.line-fixed-button:hover {
    opacity: 0.7;
}
.img-create {
    display: flex;
    max-width: 80%; 
    align-items: center; 
    justify-content: center; 
}
.line-link {
    /* display: flex; */
    max-width: 100%; 
    align-items: center; 
    justify-content: center;
    text-decoration: none;
}
/* line-boxの中の内容 */
.line-box-logo {
    width: 230px;
    /* height:40px; */
}
.line-box-text {
    margin-top: 0px;
    margin-bottom: 0px;
    margin-left: 10px;
    font-size: medium;
    font-weight: bold;
    
    color: #4D4D4D;
    white-space: nowrap;
}

/*-------------------------------- フッター部分のデザイン　---------------------------------*/
/* フッターの中の配置 */
.top_footer {
    background-color: #f8f8f8; /* 根据需要设置背景颜色 */
    margin-top: 50px;
    padding: 20px 0; /* paddingを設置 */
}
/* LOGOのサイズ */
.footer-logo {
    width: 150px;
    margin-left: 30px;
}
/* タブの配置 */
.p-footer-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 100%; 
    margin: 0 auto; 
    flex-wrap: wrap; 
}
/* タブリストの配置 */
.p-footer-menu {
    display: flex;
    flex-wrap: wrap; 
    margin-right:90px;
}
.p-footer-menu-item-1,
.p-footer-menu-item-2,
.p-footer-menu-item-3,
.p-footer-menu-item-4 {
    margin: 20px 30px; 
}

.menulist {
    list-style: none;
    padding: 0;
}
.menulist li {
    margin-bottom: 10px; 
}
.menulist li a {
    text-decoration: none;
    color: #545454;
}
.menulist li a h4 {
    margin: 0;
}
.menulist li a:hover {
    color: #F98A92;
}
.company, .terms, .privacy-policy, .contact, .our-story, .service-in-footer, .lifeplan, .doctor-search, .column-in-footer {
    
    font-size: medium;
    font-weight: normal;
}

/* SNSアイコンの配置とデザイン */
.snsBox {
    display: flex;
    margin-top: 12px;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap; 
}
.snsBox a {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    align-items: center;
    margin: 10px; 
}
.x-icon, .instagram-icon, .line-icon ,.note-icon{
    width: 30px;
    height: 30px;
    margin-bottom: 10px;
    
}
.x-icon:hover, .instagram-icon:hover, .line-icon:hover {
    opacity: 0.7;
}
.sns-text-x, .sns-text-instagram, .sns-text-line {
    /* margin-left: 15px; */
    color: #545454;
    font-size: small;
        
}
.sns-text-x:hover {
    color: #000000;
}
.sns-text-instagram:hover {
    color: #EF02C9;
}
.sns-text-line:hover {
    color: #06C755;
}

/* copyrightの配置とデザイン */
.p-footer-bottom {
    width: 100%;
    text-align: left;
}
.copyright {
    margin-top: 20px;
    margin-left: 30px;
    margin-bottom: 0px;
    
    font-size: small;
    color: #777777;
}

body {
    opacity: 0;
    animation: fadeIn 0.3s ease-in forwards;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

