@charset "utf-8";

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
    color:#7d6a27;
    background:#fff;
    line-height:2.1;
    letter-spacing:0.05em;
}

img{
    max-width:100%;
    display:block;
}

.sp{display:none;}
.pc{display:block;}

.wrapper{
    min-width:1200px;
    overflow:hidden;
}

.hero{
    background:url(image/background.jpg) center top no-repeat;
    background-size:cover;
    padding:0px 0 240px;
}

.hero_images{
    width:1100px;
    margin:0 auto;
    display:flex;
    justify-content:center;
    gap:30px;
}

.hero_images img{
    width:100%;
}

.hero_copy{
    text-align:center;
    margin-top:20px;
}

.hero_copy h1{
    font-size:56px;
    font-weight:500;
    margin-bottom:0px;
}

.hero_copy .sub{
    font-size:28px;
    font-weight:500;
}

.section_title{
    position:relative;
    text-align:center;
    font-size:40px;
    font-weight:normal;
    margin-bottom:80px;
    line-height:1.4;
}

/* 左右のライン */
.section_title::before,
.section_title::after{
    content:"";
    position:absolute;
    top:50%;
    width:90px;
    height:2px;
    background:#b89d3d;
}

/* 左 */
.section_title::before{
    right:50%;
    margin-right:180px;
}

/* 右 */
.section_title::after{
    left:50%;
    margin-left:180px;
}

.message_area{
    padding:0;
    margin-top:-100px;
}

.message_wrap{
    width:1100px;
    margin:0 auto 100px;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
}

.message_text{
    width:680px;
    font-size:14px;
    font-weight:700;
}

.message_text p{
    margin-bottom:30px;
}

.doctor_block{
    width:320px;
    text-align:center;
}

.doctor_name{
    margin-top:25px;
    font-size:15px;
    line-height:2;
    font-weight:700;
}

.doctor_name span{
    font-size:18px;
}

.doctor_comment_area{
    background:#ece7bf;
    padding:80px 0;
}

.doctor_comment{
    width:1100px;
    margin:0 auto 70px;
    display:flex;
    gap:40px;
}

.doctor_comment img{
    width:200px;
    height:250px;
    object-fit:cover;
}

.doctor_comment_text{
    flex:1;
    font-size:14px;
    font-weight:700;
}

.keireki{
    width:100%;
    height:auto;
    font-size:13px;
    font-weight:700;
    text-align:left;
    padding:10px;
    box-sizing:border-box;
    border:1px solid #7d6a27;
    margin:10px 0 0;
}

.keireki li{
    margin:0 0 5px 20px;
    list-style-position: outside;
    line-height:160%;
}

.sub_doctor{
    margin-top:20px;
    font-weight:700;
    font-size:16px;
}

.simple{
    align-items:center;
}

.history_area{
    padding:110px 0;
}

.history_head{
    width:1100px;
    margin:0 auto 50px;
    display:flex;
    justify-content:space-between;
    gap:180px;
}

/* 左右タイトル */
.history_head div{
    flex-basis:calc((100% - 180px) / 2);

    border:2px solid #b89d3d;
    text-align:center;

    padding:18px 20px;

    font-size:24px;
    line-height:1.5;
}

.history_flex_block{
    width:1100px;
    margin:0 auto 100px;
    display:grid;
    grid-template-columns:1fr 180px 1fr;
}


.history_timeline{
    width:1100px;
    margin:0 auto 100px;
    position:relative;
}

.history_row{
    display:grid;
    grid-template-columns:1fr 180px 1fr;
    align-items:center;
    position:relative;
    min-height:110px;
}

.history_left{
    text-align:right;
    padding-right:40px;
    font-size:18px;
    line-height:2;
}

.history_right{
    padding-left:40px;
    font-size:18px;
    line-height:2;
}

.history_year{
    position:relative;
    text-align:center;
}

/* 縦ライン */
.history_year::before{
    content:"";
    position:absolute;
    top:-45px;
    bottom:-45px;
    left:50%;
    transform:translateX(-50%);
    width:16px;
    background:#f7f3c6;
    z-index:0;
}

/* 最初だけ上を消す */
.history_row:first-child .history_year::before{
    top:50%;
}

/* 最後だけ下を消す 
.history_row:last-child .history_year::before{
    bottom:50%;
}*/

/* 年号 */
.history_year span{
    position:relative;
    z-index:1;
    background:#fff;
    padding:0 14px;
    font-size:42px;
    line-height:1;
}

/* ▼ */
.history_timeline::after{
    content:"";
    position:absolute;
    bottom:-73px;
    left:50%;
    transform:translateX(-50%);
    width:96px;
    height:43px;
    background:url(image/sankaku.jpg) no-repeat center center;
    background-size:contain;
}

/* ▼まで線を伸ばす */
.history_timeline::before{
    content:"";
    position:absolute;
    bottom:-55px;
    left:50%;
    transform:translateX(-50%);
    width:16px;
    height:55px;
    background:#f7f3c6;
}

.data_boxes{
    width:1100px;
    margin:0 auto;
    display:flex;
    justify-content:space-between;
}

.data_box{
    width:320px;
    border:2px solid #b89d3d;
    text-align:center;
    padding:45px 20px;
}

.data_box h3{
    font-size:20px;
    font-weight:500;
    margin-bottom:25px;
    line-height:1.8;
}

.data_box p{
    font-size:18px;
    line-height:2;
    font-weight:500;
}

.data_box p span{
    font-size:28px;
    line-height:2;
}

.mission_area{
    background:#dce8ef;
    padding:110px 0;
}

.mission_copy{
    text-align:center;
    font-size:32px;
    line-height:1.6;
    margin-bottom:70px;
    font-weight:500;
}

.policy_box{
    width:1000px;
    margin:0 auto;
    background:#fff;
    border:1px solid #b89d3d;
    padding:50px;
}

.policy_box h3{
    margin-bottom:25px;
    font-size:24px;
    font-weight:normal;
}

.policy_box ol{
    padding-left:25px;
}

.policy_box li{
    margin-bottom:18px;
    font-weight:700;
}

.gallery_area{
    padding:110px 0;
}

.gallery_block{
    width:1100px;
    margin:0 auto 120px;
}

.gallery_logo{
    margin:0 auto 40px;
}

.gallery_grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}

.footer{
    background:#a38d2c;
    color:#fff;
    text-align:center;
    padding:20px;
    font-size:13px;
}


/* =======================================================
SP
======================================================= */

@media screen and (max-width: 767px){

body{
    min-width:100%;
    font-size:14px;
    line-height:2;
}

.wrapper{
    min-width:100%;
}

.sp{display:block;}
.pc{display:none;}


/* ----------------
hero
---------------- */

.hero{
    padding:0 0 80px;
    background-position:center top;
}

.hero_images{
    width:100%;
}

.hero_copy{
    margin-top:25px;
    padding:0 20px;
}

.hero_copy h1{
    font-size:34px;
    line-height:1.5;
}

.hero_copy .sub{
    font-size:14px;
    line-height:1.8;
    margin-top:10px;
}

/* ----------------
section title
---------------- */

.section_title{
    font-size:28px;
    margin-bottom:45px;
}

.section_title::before,
.section_title::after{
    width:45px;
    height:1px;
}

.section_title::before{
    margin-right:90px;
}

.section_title::after{
    margin-left:90px;
}

/* ----------------
message
---------------- */

.message_area{
    margin-top:-40px;
}

.message_wrap{
    width:100%;
    display:block;
    padding:0 20px;
    margin:0 auto 60px;
}

.message_text{
    width:100%;
    font-size:14px;
    font-weight:700;
}

.message_text p{
    margin-bottom:25px;
}

.doctor_block{
    width:100%;
    margin-top:50px;
}

.doctor_block img{
    width:240px;
    margin:0 auto;
}

.doctor_name{
    font-size:14px;
    margin-top:20px;
}

.doctor_name span{
    font-size:18px;
}

/* ----------------
doctor comment
---------------- */

.doctor_comment_area{
    padding:60px 20px;
}

.doctor_comment{
    width:100%;
    display:block;
    margin:0 auto 60px;
}

.doctor_comment:last-child{
    margin-bottom:0;
}

.doctor_comment img{
    width:180px;
    height:auto;
    margin:0 auto 25px;
}

.doctor_comment_text{
    font-size:14px;
    font-weight:700;
}

.sub_doctor{
    font-size:15px;
    margin-top:20px;
    text-align:left;
}

/* ----------------
history
---------------- */

.history_area{
    padding:70px 20px;
}

.history_head{
    width:100%;
    gap:80px;
    margin-bottom:40px;
}

.history_head div{
    flex-basis:calc((100% - 80px) / 2);
    font-size:13px;
    padding:12px 8px;
}

/* timeline */

.history_timeline{
    width:100%;
    margin:0 auto 80px;
}

.history_row{
    grid-template-columns:1fr 90px 1fr;
    min-height:90px;
}

.history_left{
    padding-right:12px;
    font-size:11px;
    line-height:1.8;
}

.history_right{
    padding-left:12px;
    font-size:11px;
    line-height:1.8;
}

.history_year span{
    font-size:24px;
    padding:0 6px;
}

.history_year::before{
    width:8px;
    top:-35px;
    bottom:-35px;
}

.history_timeline::before{
    width:8px;
    height:40px;
    bottom:-40px;
}

.history_timeline::after{
    width:56px;
    height:25px;
    bottom:-58px;
}

/* ----------------
data
---------------- */

.data_boxes{
    width:100%;
    display:block;
}

.data_box{
    width:100%;
    margin-bottom:20px;
    padding:35px 20px;
}

.data_box:last-child{
    margin-bottom:0;
}

.data_box h3{
    font-size:18px;
    margin-bottom:18px;
}

.data_box p{
    font-size:16px;
}

.data_box p span{
    font-size:24px;
}

/* ----------------
mission
---------------- */

.mission_area{
    padding:70px 20px;
}

.mission_copy{
    font-size:22px;
    line-height:1.8;
    margin-bottom:40px;
}

.policy_box{
    width:100%;
    padding:30px 20px;
}

.policy_box h3{
    font-size:22px;
    margin-bottom:20px;
}

.policy_box li{
    font-size:14px;
    margin-bottom:16px;
    font-weight:700;
}

.policy_box br{
    display:none;
}

/* ----------------
gallery
---------------- */

.gallery_area{
    padding:70px 20px;
}

.gallery_block{
    width:100%;
    margin-bottom:70px;
}

.gallery_logo{
    width:260px;
    margin:0 auto 30px;
}

.gallery_grid{
    grid-template-columns:repeat(2,1fr);
    gap:6px;
}

/* ----------------
footer
---------------- */

.footer{
    font-size:11px;
    padding:16px;
}

}