
/* ----------------------------------
mv
---------------------------------- */
.kv{
    position:relative;
    /* width:100%; */
    overflow:hidden;
}

.kv_slider{
    position:relative;
    width:100%;
    aspect-ratio:1920 / 1080; /* お好みで変更 */
}



.kv_slider img{

    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

    opacity:0;
    transition:opacity 1.5s ease;

}

.kv_slider img.active{

    opacity:1;
    z-index:2;

}
.kv_info{
  margin-top:96px;
  margin-bottom:96px;
  padding:0 5%;
}
ul.kv_list{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 20px;
  width:100%;
}
ul.kv_list li{
  width:calc((100% - 80px) / 5);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius:32px;
  height:64px;
  border:1px solid #36322F;
  transition: 0.7s all;
}
ul.kv_list li:hover{
  transform: scale(1.1);
  transition: 0.7s all;
  cursor: pointer;
}
ul.kv_list li a{
  font-family: var(--f-f-mincho);
  color:var(--main-font-color);
  font-size:clamp(1.2rem,1.4rem,1.6rem);
}
/* ----------------------------------
news
---------------------------------- */
.news_wrapper{
  display: flex;
  align-items: flex-start;
  gap:90px;
}
.news_content{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap:90px;
  position:relative;
}
.news_content::before,
.news_content::after{
  background-color: #d9d9d9;
  position:absolute;
  content:"";
  width:920px;
  height:1px;
  left:0;
  bottom:-130px;
}
.news_content::after{
  bottom:-135px;
}
.news_head a{
  color:var(--main-font-color);
  position:relative;
}
.news_head a:not(:last-child)::after{
  content:"";
  position:absolute;
  width:12px;
  height:6px;
  background: url(../images/index/arrow_black.png) center center no-repeat;
  background-size: cover;
  right:-24px;
  top:50%;
  transform: translateY(-50%);
}

.news-item{
  font-size:1.4rem;
  padding-bottom:2.4rem;
  margin-bottom:2.4rem;
  position:relative;
  width:100%;
}
.news-item::before{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  width:24px;
  height:1px;
  background-color: #605C5A;
  z-index: 1;
}
.news-item::after{
  position:absolute;
  content:"";
  left:0;
  bottom:0;
  height:1px;
  width:692px;
  background-color: #d9d9d9;
}
.news-item span{
  display: inline-block;
}
.news-date{
  font-family:var(--english-font);
  margin-right:1em;
}
.news-category{
  font-size:1.1rem;
}
.news-title{
  margin-top:1em;
  position:relative;
}
/* .news-title::after{
  content:"";
  position:absolute;
  width:12px;
  height:6px;
  background: url(../images/index/arrow_black.png) center center no-repeat;
  background-size: cover;
  right:-420px;
  top:50%;
  transform: translateY(-50%);
} */
.news-title a{
  color:var(--main-font-color);
}
/* ----------------------------------
symptoms
---------------------------------- */
.symptoms h3{
  font-size:2rem;
}
.symptoms ul{
  display: flex;
  flex-wrap: wrap;
  margin-top:4.2rem;
  gap:16px;
  margin-bottom:64px;
  padding:0 140px;
}
.symptoms ul li{
  width:calc((100% - 32px) / 3);
  padding-left:40px;
  position:relative;
  flex:1 0 auto;
}
.symptoms ul li::before{
  position:absolute;
  content:"";
  width:23px;
  height:20px;
  background: url(../images/index/check.png) center center no-repeat;
  background-size: cover;
  left:0;
  top:50%;
  transform: translateY(-50%);
}

.symptoms img{
  width:100%;
}
/* ----------------------------------
answer
---------------------------------- */
.answer h2.section_title{
  position:relative;
  z-index: 1;
}
.answer h2.section_title::before{
  content:"Answer";
  position:absolute;
  font-size:clamp(8rem,10rem,14rem);
  color:#FBF4F2;
  bottom:0;
  letter-spacing:10px;
  left:50%;
  transform: translateX(-50%);
  z-index: -1;
}
.answer_title{
  display: inline-block;
  margin:48px auto;
  padding-bottom:1.6rem;
  font-size:2.4rem;
}
.answer ul{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap:64px;
  margin-top:60px;
}
.answer ul li{
  font-size:1.8rem;
}
.answer ul li p{
  margin-top:1em;
}
.answer ul li p span{
  font-size:1.4rem;
  margin-top:1rem;
  display: block;
}
/* ----------------------------------
clinic_info
---------------------------------- */
.clinic_info.index_section{
  position:relative;
  margin-bottom:0;
  padding-bottom:120px;
}
.clinic_info h2.section_title{
  position:relative;
  z-index: 1;
}
.clinic_info h2.section_title::before{
  content:"CLINIC";
  position:absolute;
  font-size:clamp(8rem,10rem,14rem);
  color:#FBF4F2;
  bottom:0;
  letter-spacing:10px;
  left:50%;
  transform: translateX(-50%);
  z-index: -1;
}
.clinic_info::after{
  content:"";
  position:absolute;
  width:100%;
  height:840px;
  top:65px;
  width:100%;
  background-color: #F6F0E0;
  z-index: -1;
}
.wrapper.clinic_info_wrap{
  display: flex;
  margin-top:64px;
  gap:64px;
  padding:80px;
  background-color: #fff;
  align-items: center;
}
.info_detail{
  text-align: center;
}
.info_detail h3{
  text-align: center;
}
.info_detail h3 img{
  width:88px;
}
.info_detail,.info_map{
  width:calc((100% - 24px) / 2);
}
.info_links{
  margin-top:24px;
  display: flex;
  justify-content: space-between;
}
.info_links a{
  font-family:var(--english-font);
  color:var(--main-font-color);
  font-size:2.6rem;
  position:relative;
  padding-left:36px;
  text-align: center;
  letter-spacing: 3px;
}
.info_links a::before{
  position:absolute;
  content:"";
  width:24px;
  height:24px;
  background: url(../images/index/tel_icon.png) center center no-repeat;
  background-size: cover;
  top:12px;
  left:0;
}
.info_links a.info_mail::before{
  width:22px;
  height:24px;
  background: url(../images/index/calender_icon_pink.png) center center no-repeat;
  background-size: cover;
}
.info_links a.info_insta::before{
  width:24px;
  height:24px;
  background: url(../images/common/instagram_icon.png) center center no-repeat;
  background-size: cover;
}
.info_links a span{
  font-size:1.2rem;
  display: block;
  letter-spacing: 0;
}
.info_detail table{
  width:100%;
  margin:24px auto;
}
.info_detail table tr{
  border-bottom:1px solid #D9D9D9;
}
.info_detail table tr th,
.info_detail table tr td{
  padding:24px 12px;
}
.info_detail table tr td.sat{
  position:relative;
}
.info_detail table tr td.sat span{
  position:absolute;
  font-size:1rem;
  bottom:12px;
  left:50%;
  transform: translateX(-50%);
}
.info_detail p,.info_map p{
  text-align: left;
  line-height: 2;
}
.info_map iframe{
  width:100%;
  height:328px;
  margin-bottom:8px;
}
/* ----------------------------------
clinic_image
---------------------------------- */
.clinic_image{
  position:relative;
}
.clinic_image h2{
  color: #fff;
  font-size:8rem;
  position:absolute;
  right:24px;
  bottom:0;
  font-family: var(--english-font);
  line-height: 1;
}
/* ----------------------------------
about
---------------------------------- */
.about{
  margin-top:180px;
  padding-bottom:90px;
  position:relative;
}
.about h2.section_title{
  position:relative;
  z-index: 1;
}
.about h2.section_title::before{
  content:"About";
  position:absolute;
  font-size:clamp(8rem,10rem,14rem);
  color:#FBF4F2;
  bottom:0;
  letter-spacing:10px;
  left:50%;
  transform: translateX(-50%);
  z-index: -1;
}
.about::before,
.about::after{
  content:"";
  position:absolute;
  background-color: #D9D9D9;
  width:90%;
  height:1px;
  right:1px;
  bottom:0;
}
.about::before{
  bottom:5px;
}
.wrapper.about_wrapper{
  padding:64px;
  background: linear-gradient(114.68deg, #FFFCF5 18.52%, #F6F0E0 81.48%);
  margin-top:80px;
}
.about_wrapper h3{
  font-size:1.6rem;
  color:#91725F;
  font-family: var(--english-font);
}
.about_wrapper h3 span{
  font-size:2.8rem;
}
.name_mean{
  margin-top:32px;
  position:relative;
}
img.cross_icon{
  position:absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
  z-index: 1;
}
.name_mean h4{
  font-family: var(--english-font);
  font-size:2.4rem;
}
.mean_head,
.mean_detail div{
  padding:40px 0;
  width:100%;
  background-color: #fff;
}
.mean_detail{
  margin-top:8px;
  display: flex;
  gap: 8px;
}
.wrapper.thought{
  margin-top:120px;
}
.thought_title{
  font-size:2.6rem;
}
.thought_title span{
  display: block;
  font-size:1.6rem;
  font-family: var(--english-font);
}
.thought ul{
  margin:64px auto;
  display: flex;
  align-items: flex-start;
}
.thought ul li h4{
  font-size:1.8rem;
}
.thought ul li p{
  text-align: left;
  font-size:1.4rem;
  margin-top:1em;
}
.thought_detail{
  padding:25px;
  line-height: 1.7;
}
.thought ul li:not(:first-child)  .thought_detail{
  position:relative;
}
.thought ul li:not(:first-child)  .thought_detail::before{
  position:absolute;
  content:"";
  width:1px;
  height:186px;
  background-color: #D9D9D9;
  top:0;
  left:0;
}
.thought ul li:not(:first-child)  .thought_detail::after{
  position:absolute;
  content:"";
  width:1px;
  height:24px;
  background-color: #A7A4A4;
  top:0;
  left:0;
}
/* ----------------------------------
reason
---------------------------------- */
.reason{
  background: url(../images/index/reason_bg.jpg) top 150px center no-repeat;
  background-size: cover;
  padding-bottom: 180px;
}
.wrapper.reason_head{
  display: flex;
  align-items: center;
  gap:80px;
  margin-right: calc(50% - 50vw);
}
.icon_logo{
  margin-left:-120px;
}
.reazon_content{
  margin-top:120px;
}
.reason_inner{
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap:64px;
  margin-bottom:64px;
}
.reason_inner.re{
  flex-direction: row-reverse;
}
.reason_inner .last{
  margin-bottom:0;
}
.reason_detail span{
  font-size:4.8rem;
  color:#e4e4e4;
  font-family:var(--english-font);
}
.reason_detail{
  width:calc((100% - 64px) / 2);
}
.reason_detail h4{
  padding-bottom:5px;
  margin-top:1em;
  font-size:2rem;
}
.reason_txt{
  margin-top:40px;
}
.reason_txt ul{
  margin-top:16px;
  font-size:1.4rem;
  line-height: 2;
}
/* ----------------------------------
medicine
---------------------------------- */
.medicine{
  padding-top:180px;
}
#trouble h2.section_title{
  position:relative;
  z-index: 1;
}
#trouble h2.section_title::before{
  content:"Internal Medicine";
  position:absolute;
  width:100vw;
  text-align: left;
  letter-spacing:10px;
  font-size:clamp(8rem,10rem,14rem);
  color:#FBF4F2;
  bottom:0;
  left:50%;
  transform: translateX(-50%);
  z-index: -1;
}
.medicine_wrap{
  margin-top:80px;
  display: flex;
  gap:64px;
  align-items: flex-start;
  justify-content: flex-start;
}
.medicine_nav{
  width:calc((100% - 64px) / 2);
}
.medicine_nav ul{
  width:100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap:20px;
}
.medicine_nav ul li{
  text-align: center;
  width:calc((100% - 40px) / 3);
  padding:30px 0 42px;
  border-bottom:1px solid #d9d9d9;
}
.medicine_nav ul li a article{
  height:80px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.medicine_nav ul li a span{
  color:var(--main-font-color);
}
.medicine_btn{
  width:100%;
  background-color: #ffe4e1;
  color:var(--main-font-color);
  padding:14px 0;
  margin-top:40px;
  display: block;
  position:relative;
}
.medicine_btn::after{
  content:"";
  position:absolute;
  width:12px;
  height:6px;
  background: url(../images/index/icons/btn_arrow.png) center center no-repeat;
  background-size: cover;
  top:50%;
  transform: translateY(-50%);
  right:24px;
}
.medicine_wrap.re{
  flex-direction: row-reverse;
}
.medicine.others{
  padding-top:0;
}
.medicine.others h2.section_title{
  text-align: right;
}
.others h2.section_title{
  position:relative;
  z-index: 1;
}
.others h2.section_title::before{
  content:"Others";
  position:absolute;
  width:100vw;
  text-align: right;
  letter-spacing:10px;
  font-size:clamp(8rem,10rem,14rem);
  color:#FBF4F2;
  bottom:0;
  left:50%;
  transform: translateX(-50%);
  z-index: -1;
}
.section_title .inner {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start; /* ← ここが重要 */
}
.medicine.others h2.section_title span.en{
  font-size:4.8rem;
}
.medicine.others .medicine_nav ul li{
  padding:18px 0 28px;
}
/* ----------------------------------
menu
---------------------------------- */
section.clinic_menu{
  padding-top:180px;
  padding-bottom:180px;
  background-color: #FFFAEF;
}
.clinic_menu ul.wrapper{
  margin-top:64px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap:40px;
}
.clinic_menu ul.wrapper li{
  width:calc((100% - 80px) / 3);
  background-color: #fff;
}
.clinic_menu ul.wrapper li a{
  color:var(--main-font-color);
}
.clinic_menu ul.wrapper li a p.menu_name{
  font-size:2rem;
}
.clinic_menu ul.wrapper li article{
  padding:12px 24px 0;
  height:140px;
}
.clinic_menu ul.wrapper li article span{
  font-size:1.4rem;
  color:#91725F;
  font-family:var(--english-font)
}
.clinic_menu ul.wrapper li article img{
  margin-top:1em;
}
.clinic_menu_btn{
  display: block;
  width:320px;
  text-align: center;
  margin:64px auto 0;
  position:relative;
  background-color: #91725F;
  color:#fff;
  padding:1em 0;
}
.clinic_menu_btn::after{
  content:"";
  position:absolute;
  width:12px;
  height:6px;
  background: url(../images/index/icons/btn_arrow.png) center center no-repeat;
  background-size: cover;
  top:50%;
  transform: translateY(-50%);
  right:24px;
}
/* ----------------------------------
focus
---------------------------------- */
section.clinic_menu.focus{
  position:relative;
  margin-bottom:360px;
}
.focus_title{
  position:absolute;
  font-size:12rem;
  color:#F7F5F2;
  top:-150px;
  right:0;
  font-family: var(--english-font);
}
section.clinic_menu.focus::before{
  content:"";
  position:absolute;
  width:82.5vw;
  height:1660px;
  top:8px;
  right:0;
  background-color: #F7F5F2;
  z-index: -1;
}
section.focus.clinic_menu{
  padding-top:0;
  padding-bottom:0;
  background-color:transparent;
}
.focus.clinic_menu ul.wrapper li article{
  text-align: center;
}
.focus.clinic_menu ul.wrapper li article p.menu_name{
  margin-bottom:0.5em;
}
/* ----------------------------------
greeting
---------------------------------- */
.greeting_wrap{
  display: flex;
  gap: 64px;
  align-items: center;
  justify-content: flex-start;
}
.greeting_detail{
  width:calc((100% - 64px) / 2);
  max-width: 500px;
}
.greeting_message{
  margin-top:48px;
}
.gree_name{
  text-align: right;
}
.gree_name span{
  font-size:0.8em;
  margin-right:1em;
}
.greeting_detail a.medicine_btn{
  width:320px;
  text-align: center;
}
/* ----------------------------------
price
---------------------------------- */
section.price{
  position:relative;
}
.price_wrap{
  padding:40px 0;
  width:876px;
  position:absolute;
  background: rgba(255, 255, 255, 0.3);
  background-blend-mode: soft-light;
  backdrop-filter: blur(20px);
  top:-40px;
  left:50%;
  transform: translateX(-50%);
}
.price_wrap p{
  margin:24px auto;
}
.price_wrap a.medicine_btn{
  width:320px;
  margin:0 auto;
}
/* ----------------------------------
facility
---------------------------------- */
.facility h2.section_title{
  position:relative;
  z-index: 1;
}
.facility h2.section_title::before{
  content:"Facility";
  position:absolute;
  font-size:clamp(8rem,10rem,14rem);
  color:#FBF4F2;
  bottom:0;
  letter-spacing:10px;
  left:50%;
  transform: translateX(-50%);
  z-index: -1;
}
.facility article{
  margin-top:64px;
  width:100%;
  display: block;
}
.facility article img{
  width:100%;
}
/* ----------------------------------
blog
---------------------------------- */
.index_blog_head{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.index_blog_head a{
  padding-right:28px;
  position:relative;
  color:var(--main-font-color);
}
.blog_content{
  display: flex;
  gap: 32px;
  align-items: flex-start;
  justify-content: space-between;
  margin-top:40px;
}
.blog_content .news-item{
  width:calc((100% - 64px) / 3);
}
.blog_content .news-item::after{
  width:100%;
}
.blog_content .thumbnail{
  margin-bottom:1rem;
}
.blog_content .news-title a{
  display: block;
  position:relative;
}
.index_blog_head a::after,
.blog_content .news-title a::after{
  content:"";
  position:absolute;
  width:12px;
  height:6px;
  background: url(../images/index/arrow_black.png) center center no-repeat;
  background-size: cover;
  right:0;
  top:50%;
  transform: translateY(-50%);
}
/* ----------------------------------
faq
---------------------------------- */
.faq h2.section_title{
  position:relative;
  z-index: 1;
}
.faq h2.section_title::before{
  content:"Faq";
  position:absolute;
  font-size:clamp(8rem,10rem,14rem);
  color:#FBF4F2;
  bottom:0;
  letter-spacing:10px;
  left:50%;
  transform: translateX(-50%);
  z-index: -1;
}
.faq_wrapper{
  margin-top:64px;
}
.faq_wrapper dl{
  background-color: #FFFAEF;
  padding:32px;
  margin-bottom:16px;
}
.faq_wrapper dl span{
  font-family: var(--english-font);
  display: block;
  width:40px;
  height:40px;
  line-height: 40px;
  border-radius:20px;
  border:1px solid #91725F;
  background-color: #fff;
  color:#91725F;
  margin-right:1em;
  text-align: center;
}
.faq_wrapper dl dt,
.faq_wrapper dl dd{
  padding-left:56px;
  position:relative;
}
.faq_wrapper dl dt::before,
.faq_wrapper dl dd::before{
  font-family: var(--english-font);
  content:"Q";
  position:absolute;
  width:40px;
  height:40px;
  line-height: 40px;
  border-radius:20px;
  border:1px solid #91725F;
  background-color: #fff;
  color:#91725F;
  left:0;
  top:-7px;
  text-align: center;
}
.faq_wrapper dl dt{
  margin-bottom:27px;
}
.faq_wrapper dl dd::before{
  content:"A";
  background-color: #ffe4e1;
  border:none;
}
/* ----------------------------------
template
---------------------------------- */
.temp_wrap{
  width:100%;
  max-width: 980px;
  margin:0 auto;
  background-color: #fff;
  padding-top:16px;
  padding-bottom:120px;
  line-height: 2;
}
.temp_wrap p{
  font-size:2rem;
}
.temp_mv{
  background: url(../images/common/temp_title_bg.png) center center no-repeat;
  background-size: cover;
  padding-top:100px;
  padding-bottom:100px;
}
.temp_mv h2{
  width:632px;
  margin:0 auto;
  padding:32px 0;
  font-size:1.8rem;
  background: #FFFFFF;
  box-shadow: 0px 0px 16px rgba(0, 0, 0, 0.16);
}

.temp_mv h2 span{
  font-size:4.8rem;
  font-family: var(--english-font);
}
.temp_head{
  margin:120px auto;
  
}
.temp_index{
  padding:32px 48px;
  background-color: #F8F8F8;
}
.temp_index h3{
  font-size:1.8rem;
  margin-bottom:8px;
}
.temp_index ul.index_list{
  list-style: disc;
  padding-left:1.5em;
  line-height: 2;
}

.temp_index ul.index_list li a{
  color:#605C5A;
  font-size:2rem;
}
.index_inner{
  font-size:1.6rem;
}
.index_inner li{
  position:relative;
}
.index_inner li::before{
  content:"";
  position:absolute;
  width:5px;
  height:10px;
  border-left:1px solid #303030;
  border-bottom:1px solid #303030;
  bottom:43%;
  left:-1em;
}
/* =============================
template
============================= */
.temp_sec{
  margin-top:120px;
}
.temp_sec img{
  margin-top:64px;
  margin-bottom:24px;
  width: 70%;
  max-width:980px;
  height: auto;
  display: block;
}
.velskar_image_flex{
  display: flex;
  align-items: center;
  gap:24px;
}
.temp_sec .velskar_image_flex img{
  width:calc((90% - 24px) / 2);
}
.temp_sec h3{
  font-size:3.2rem;
  background-color: #FFFAEF;
  border-left:8px solid #91725F;
  padding:16px;
}
.sec_inner{
  margin-top:64px;
}
.sec_inner h4{
  font-size:2.8rem;
  padding-bottom:16px;
  position:relative;
  margin-bottom: 40px;
}
.sec_inner h4::before{
  content:"";
  position:absolute;
  width:48px;
  height:1px;
  background-color: #605C5A;
  bottom:0;
  left:0;
  z-index: 1;
}
.sec_inner h4::after{
  content:"";
  position:absolute;
  width:100%;
  height:1px;
  background-color: #D9D9D9;
  bottom:0;
  left:0;
}
.sec_inner h5{
  font-size:2.2rem;
  padding:5px 12px;
  background-color: #F8F8F8;
  margin-bottom:16px;
}
.sec_inner .price_content h5{
  border-bottom:1px solid #d8d8d8;
}
.sec_inner p{
  margin-top:12px;
}
.temp_wrap .price_content p{
  font-size:1.6rem;
}
.sec_link{
  margin-top:40px;
}
.sec_link ul{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 24px;
}
.sec_link ul li{
  width:calc((100% - 48px) / 3);
}
.sec_link ul li a{
  width:100%;
  background-color: #ffe4e1;
  color:var(--main-font-color);
  text-align: center;
  display: block;
  padding-top:8px;
  padding-bottom:8px;
  position:relative;
}
.sec_link ul li a::after{
  content:"";
  position:absolute;
  width:12px;
  height:6px;
  right:16px;
  top:50%;
  transform: translateY(-50%);
  background: url(../images/index/arrow_white.png) center center no-repeat;
  background-size: cover;
}
.sec_link ul li a span{
  font-size:1.4rem;
}
.sec_inner table{
  margin-top:40px;
  width:100%;
}
.sec_inner table thead tr{
  background-color: #F8F8F8;
  border-top:1px solid #D9D9D9;
}
.sec_inner table thead tr th{
  text-align: center;
  padding:16px;
}
.sec_inner table thead tr th:not(:first-child){
  border-left:1px solid #D9D9D9;
}
.sec_inner table tbody tr{
  border-bottom:1px solid #D9D9D9;
}
.sec_inner table tbody tr:first-child{
  border-top:1px solid #D9D9D9;
}
.sec_inner table tbody tr th{
  padding:30px;
  width:260px;
  background-color: #F8F8F8;
  text-align: center;
}
.sec_inner table tbody tr td{
  border-left:1px solid #D9D9D9;
  padding:16px;
}
.sec_inner table tbody tr td a{
  color:#303030;
  text-decoration: underline;
  font-size:1.8rem;
  opacity: 0.9;
}
.temp_card_content{
  padding:24px;
  background-color: #F8F8F8;
}
.temp_card_content.price_content{
  margin-top:36px;
}
.temp_card_content ul{
  display: flex;
  gap: 16px;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.temp_card_content ul{
  margin-top:16px;
}
.temp_card_content ul li{
  width:calc((100% - 16px) / 2);
  background-color: #fff;
  height:80px;
  text-align: center;
  display: flex;
  align-items: center;      /* 縦中央 */
  justify-content: center;  /* 横中央 */
  flex-direction: column;   /* brやspanを縦並びに */
}
.temp_card_content ul li span{
  font-size:1.4rem;
}
.sec_inner dl{
  background-color: #FFFAEF;
  padding:38px 32px;
  margin-top:16px;
}
.sec_inner dl dt,
.sec_inner dl dd{
  position:relative;
  padding-left:56px;
  font-size:2rem;
}
.sec_inner dl dd{
  margin-top:16px;
}
.sec_inner dl dt::before,
.sec_inner dl dd::before{
  content:"Q";
  font-family: var(--english-font);
  position:absolute;
  width:40px;
  height:40px;
  line-height: 40px;
  border-radius: 20px;
  border:1px solid #91725F;
  color:#91725F;
  background-color: #fff;
  top:50%;
  transform: translateY(-50%);
  left:0;
  text-align: center;
}
.sec_inner.flow dl {
  counter-reset: step;
}
.sec_inner.flow dl dt {
  counter-increment: step;
  font-size:1.8rem;
  font-weight:bold;
  color:var(--main-font-color);
}
.sec_inner.flow dl dt::before {
  content: counter(step);
}

.sec_inner dl dd::before{
  content:"A";
  border: none;
  color:var(--main-font-color);
  background-color: #ffe4e1;
}
.sec_inner.flow dl dd{
  padding-bottom:80px;
}
.sec_inner.flow dl dd::before{
  display: none;
}
.sec_inner.flow dl dd:not(:last-child):after{
  content:"";
  position:absolute;
  left:50%;
  transform: translateX(-50%);
  bottom:30px;
  border-top:10px solid #91725F;
  border-left:10px solid transparent;
  border-right:10px solid transparent;
}
ul.temp_list{
  padding-left:3em;
  list-style: disc;
  line-height: 2;
}
.sec_inner.temp_access table thead tr th{
  width:calc(100% / 3);
}
.sec_inner.temp_access table tbody tr td{
  text-align: center;
}
.sec_inner table.price_table thead tr th{
  width:55%;
}
.sec_inner table.price_detail_table thead tr th:first-child{
  width:65%;
}
.sec_inner table.price_detail_table tbody tr td{
  text-align: center;
}
/* ----------------------------------
ぱんくず
---------------------------------- */
.breadcrumbs{
  display: flex;
  align-items: center;
  padding:16px;
  font-family: var(--f-f-japanese);
}
.breadcrumbs a{
  color:#222222;
}
.arrow{
  display: block;
  width:7px;
  height:7px;
  border-right:1px solid #222222;
  border-bottom:1px solid #222222;
  margin:0 10px 0 7px;
  transform: rotate(-45deg);
}

/* ----------------------------------
archive
---------------------------------- */
.main_single{
  padding-top:120px;
  padding-bottom:120px;
}
.archive_news{
  margin:60px auto;
  width:100%;
  max-width: 1280px;
  padding:0 3%;
  box-sizing: border-box;
}
.news_head ul{
  display: flex;
  justify-content: flex-end;
}
.news_head ul li{
  padding-left:2em;
  font-size:1.2rem;
  font-family: var(--english-font);
}
.news_head ul li a,
.cp_item a{
  color:#222222;
}
span.archive_thumb{
  display: block;
  width:180px;
  aspect-ratio: 16 / 9;
}
span.archive_thumb span,
span.archive_thumb span img{
  width:100%;
  display: block;
}
.cp_list{
  margin:60px auto;
}
.cp_list li{
  border-bottom:1px solid #dfdfdf;
  font-size:1.4rem;
  padding:1em;
}
.cp_link p{
  display: flex;
  align-items: center;
  position: relative;
}
.cp_link p img{
  width:100%;
  height:100%;
}
p.view_all a{
  background-color: #ffe4e1;
  color:#fff;
  text-align: center;
  display: block;
  padding-top:16px;
  padding-bottom:16px;
  position:relative;
  width:180px;
  margin:0 0 0 auto;
}
.taxonomy_date,.taxonomy_title{
  display: block;
}
.taxonomy_date{
  text-align: center;
  width:15%;
}
.taxonomy_title{
  text-align: left;
}
.cp_link p::after{
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  right:20px;
  top:43px;
  border-top: solid 1px;
  border-right: solid 1px;
  transform: rotate(45deg);
  color: inherit;
}
/* 投稿記事 */
main.main_single{
  margin:80px auto;
}
.post_title{
  margin:80px auto 0;
}
.post_title h2{
  font-size:20px;
  font-weight:bold;
  background-color: rgba(0,0,0,0.6);
  color:#fff;
  padding:5px 12px;
  box-sizing: border-box;
}
.post_info{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding:7px 5px 0 0;
  font-size:12px;
}
.post_info a{
  display: inline-block;
  text-decoration: underline;
  font-weight: bold;
  color:#ed8599;
}
.post_flex{
  display: flex;
  align-items: flex-start;
  margin-top:60px;
}
.single_content{
  padding-right:5%;
  box-sizing: border-box;
}
.post_flex_content{
  width:75%;
}
.single_content img{
  width:100%;
}
.single_content p{
  margin-top:30px;
  font-size:16px;
}
.post_sidebar{
  width:25%;
  margin-top:30px;
}
/* .sidebar */
.side_title{
  font-family: var(--english-font);
  font-size:16px;
  font-weight:bold;
  padding:10px 5%;
  border:1px solid #4D4D4D;
  box-sizing: border-box;
}
.side_content{
  padding:10px 5%;
  box-sizing: border-box;
  background-color: #efefef;
}
.side_inner{
  margin-bottom:10px;
}
.side_inner .news_title{
  text-align: left;
  border-bottom:1px solid #a0a0a0;
}

.side_inner .news_date,
.side_inner .news_title{
  font-size: 13px;
  color:#4D4D4D;
}
.side_inner .news_title{
  color:#ed8599;
}

.post_content{
  margin:96px auto;
}
/* ----------------------------------
contact
---------------------------------- */
.mw_wp_form{
  padding:30px 0;
}
.contact{
  margin:60px auto;
  width:100%;
  padding:48px 5%;
  background-color: #FFFAEF;
}

.temp_wrap .mw_wp_form h3{
  margin-bottom:8px;
  border-top:none;
  font-size:2rem;
  display: flex;
  gap:8px;
  align-items: center;
  background-color: transparent;
  border-left:none;
  position:relative;
}
.temp_wrap .mw_wp_form h3{
  font-size:2.4rem;
  padding-bottom:16px;
  position:relative;
  margin-bottom: 40px;
}
.temp_wrap .mw_wp_form h3::before{
  content:"";
  position:absolute;
  width:48px;
  height:1px;
  background-color: #605C5A;
  bottom:0;
  left:0;
  z-index: 1;
}
.temp_wrap .mw_wp_form h3::after{
  content:"";
  position:absolute;
  width:100%;
  height:1px;
  background-color: #D9D9D9;
  bottom:0;
  left:0;
}
.mw_wp_form span.repuired{
  display: inline-block;
  padding:3px 5px;
  background-color: #ffe4e1;
  color:#fff;
  font-size:1.2rem;
}
.contact form p{
  font-size:14px;
  margin-bottom:8px;
}
.contact form p span.form_label{
  padding:3px 5px;
  background-color: #808080;
  color:#fff;
}
.contact form p span.red{
  padding:3px 5px;
  margin-left:3px;
  font-size:10px;
  background-color: #29abe2;
  color:#fff;
}
.contact form select{
  box-sizing: border-box;
  appearance: none;
  border:none;
}
.contact form input[name="name"],
.contact form input[name="rubi"],
.contact form input[name="address"],
.contact form input[type="email"],
.contact form textarea,
.contact form select{
  width:50%;
  padding:8px;
  font-size:1.6;
  border:1px solid rgba(0,0,0,0.1);
  background-color: rgb(255, 255, 255);
  border-radius:7px;
}
.contact form input[type="text"]{
  padding:8px;
  border:none;
  background-color: rgb(255, 255, 255);
  border-radius:7px;
}
.contact form input[name="tel"],
.contact form input[name="add_number"]{
  width:20px;
}
.contact form input[type=submit]{
  padding:15px 0;
  margin-top:60px;
  width:200px;
  border:none;
  background-color: #ffe4e1;
  color:#fff;
  border-radius:7px;
}
.mw_wp_form .error{
  margin-top:5px;
}