﻿@charset "UTF-8";

@import url('//fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;600;700;900&display=swap');
@import url('//fonts.googleapis.com/css?family=Quicksand:300,400,500,700');
@import url('//fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600;700;900&display=swap');
@import url('//fonts.googleapis.com/css?family=Abel');
@import url('//fonts.googleapis.com/css2?family=Josefin+Sans:wght@300;400;500;600;700&display=swap');


/*========================
ヘッダー画像
========================*/
.topimg {
  width: 100%;
  height: 100vh;
  padding: 0;
  margin: 0 auto;
  background-image:url(../img/index/header.png);
  background-position:center center;
  background-repeat:no-repeat;
  -moz-background-size:cover;
  background-size:cover;
  position: relative;
}
@media screen and (max-width: 1000px) {
.topimg {
  height: 640px;
  }
}
@media screen and (max-width: 767px) {
.topimg {
  height: 480px;
  }
}
@media screen and (max-width: 480px) {
.topimg {
  height: 340px;
  }
}


/*========================
INFORMATION (お知らせ) & インスタグラム
========================*/
.topinfo {
  width:100%;
  max-width: 1240px;
  margin: auto;
  padding:64px 32px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  justify-content: flex-start;
  align-items:center;
  flex-wrap: wrap;
}
.topinfo_info {
  flex: 1;
}
.topinfo_insta {
  max-width: 420px;
  margin: 0 0 0 40px;
}
@media screen and (max-width: 1140px) {
.topinfo_insta {
  max-width: 300px;
  }
}
@media screen and (max-width: 840px) {
.topinfo {
  flex-direction: column;
  display:block;
  }
.topinfo_insta {
  max-width: 100%;
  margin: 42px 0 0 0;
  }
}
@media screen and (max-width: 767px) {
.topinfo {
  padding:48px 24px;
  }
}

/*-------------------------
INFORMATION
--------------------------*/
.info {
  width:100%;
  margin: auto;
  padding:12px 6px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  justify-content: flex-start;
  align-items:flex-start;
  flex-wrap: wrap;
  border-bottom: 1px solid #BDBDAE;
}
.info:last-child {
  border-bottom: none;
}
.info_date {
  width: 6em;
  margin: 0 15px 0 0;
  color: #CB6A40;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.info_detail {
  flex: 1;
}
@media screen and (max-width: 640px) {
.info {
  flex-direction: column;
  display:block;
  }
.info_date {
  width: 100%;
  margin: 0 0 0 0;
  }
}

/*-------------------------
INSTAGRAM
--------------------------*/
.topinsta {
  width:100%;
  margin: auto;
  padding:0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  justify-content: flex-start;
  align-items:flex-end;
}
.topinsta_text {
  flex: 1;
  font-size: 0.9em;
}
.topinsta_img {
  width: 100px;
}
.topinsta_text img {
  width: 100%;
  max-width: 300px;
}
@media screen and (max-width: 1140px) {
.topinsta_img {
  display: none;
  }
}
@media screen and (max-width: 840px) {
.topinsta {
  max-width: 420px;
  }
.topinsta_img {
  display: block;
  }
}
@media screen and (max-width: 440px) {
.topinsta_img {
  display: none;
  }
.topinsta_text img {
  max-width: 240px;
  }
.topinsta_text {
  text-align: center;
  }
}


/*========================
NEW ARRIVAL (新着商品)
========================*/
.newarrivalwrap {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding:64px 32px 48px;
}
@media screen and (max-width: 767px) {
.newarrivalwrap {
  padding:48px 24px 38px;
  }
}

/*商品並び*/
.topnewcolumn {
  width:100%;
  margin: auto;
  padding:0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  justify-content: flex-start;
  align-items:flex-start;
  flex-wrap: wrap;
}
.topnewcolumn li {
  width: 20%;
  max-width:20%;
  width: calc(100% / 5);
  padding:0 8px;
  box-sizing: border-box;
}
@media screen and (max-width: 1140px) {
.topnewcolumn li {
  width: 33.33%;
  max-width:33.33%;
  width: calc(100% / 3);
  padding:0 8px 18px;
  }
}
@media screen and (max-width: 767px) {
.topnewcolumn li {
  width: 50%;
  max-width:50%;
  width: calc(100% / 2);
  padding:0 8px 15px;
  }
}
@media screen and (max-width: 480px) {
.topnewcolumn li {
  flex-direction: column;
  display:block;
  width: 100%;
  max-width:100%;
  padding:0 0 20px;
  }
.topnewcolumn li:last-child{
  padding:0 0 0;
  }
}

/*各商品枠*/
.topnewitem {
  flex-direction: column;
  display:block;
}
.topnewitem_detail {
  padding: 0 6px;
}
.topnewitem_detail h4 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.95em;
  line-height: 1.5;
  color: #CB6A3F;
  margin: 10px 0 4px;
}
.topnewitem_detail p {
  font-size: 0.85em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
@media screen and (max-width: 480px) {
.topnewitem {
  width:100%;
  margin: auto;
  padding:0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  justify-content: flex-start;
  align-items:flex-start;
  flex-wrap: wrap;
  flex-direction: row;
  }
.topnewitem_img {
  width: 100%;
  flex: 2;
  }
.topnewitem_detail {
  width: 100%;
  flex: 3;
  margin: 0 0 0 12px;
  padding: 0;
  }
.topnewitem_detail h4 {
  margin: 0 0 4px;
  }
}

/* 画像トリミング */
.topnewitem_img{
  position: relative;
  width: 100%;
  padding-top: 74%;
  margin: 0 auto;
}
.topnewitem_img img{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  object-fit: cover;
}
@media screen and (max-width: 480px) {
.topnewitem_img{
  padding-top: 32%;
  }
}

/* NEWアイコン */
.topnewcolumn li{
  position: relative;
}
.topnewcolumn .new {
  position: absolute;
  top: 0;
  left: 8px;
  max-width: 48px;
  z-index: 2;
}
@media screen and (max-width: 480px) {
.topnewcolumn .new {
  left: 0;
  max-width: 36px;
  }
}


/*========================
縦書き見出し付き２カラム
========================*/
.topcolumn {
  width:100%;
  margin: auto;
  padding: 64px 0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  justify-content: flex-start;
  align-items: flex-start;
}
.topcolumn_chap {
  width:100%;
  max-width:200px;
  margin:0 30px 0 0;
  writing-mode: vertical-rl;
}
.topcolumn_chap h3{
  font-size: 1.8em;
  font-weight: 600;
  color: #222;
  line-height: 1.5;
  width: 200px;
  display: table-cell;
  vertical-align: middle;
  letter-spacing: 0.06em;
}
.topcolumn_detail {
  box-sizing: border-box;
  max-width: 100%;
  flex: 1;
  padding-top: 42px;
}
@media screen and (max-width: 1000px) {
.topcolumn_chap {
  width:100%;
  max-width:160px;
  margin:0 30px 0 0;
  }
.topcolumn_chap h3{
  font-size: 1.6em;
  width: 160px;
  }
}
@media screen and (max-width: 840px) {
.topcolumn {
  flex-direction: column;
  display:block;
  }
.topcolumn_chap {
  max-width:100%;
  margin:0 0 36px 0;
  writing-mode: horizontal-tb;
  }
.topcolumn_chap h3{
  font-size: 1.8em;
  width: 100%;
  letter-spacing: 0;
  line-height: 1.7;
  }
.topcolumn_detail {
  padding-top: 0;
  }
}
@media screen and (max-width: 767px) {
.topcolumn {
  padding: 48px 0;
  }
}
@media screen and (max-width: 640px) {
.topcolumn_chap h3{
  font-size: 1.5em;
  }
.topcolumn_chap {
  margin:0 0 24px 0;
  }
}


/*========================
ドクター紹介
========================*/
.topdoctorwrap {
  width:100%;
  margin: auto;
  padding: 0;
  background-color: rgb(234,234,234);
  background-color: linear-gradient(180deg, rgba(234,234,234,1) 0%, rgba(242,243,247,1) 100%);
  background-image:url(../img/index/flowerbg.png);
  background-position:center bottom;
  background-repeat:no-repeat;
  -moz-background-size:contain;
  background-size:contain;
}
.topdoc {
  width: 100%;
  max-width: 680px;
  height: 100%;
  margin: 0 auto;
  padding: 64px 32px 42px;
  background-image:url(../img/index/doctor.png);
  background-position:left top;
  background-repeat:no-repeat;
  -moz-background-size:auto;
  background-size:auto;
}
.topdoc_detail {
  margin-left: auto;
  max-width: 320px;
}
.topdoc_detail p{
  line-height: 2;
}
@media screen and (max-width: 767px) {
.topdoc {
  padding: 42px 32px 32px;
  }
}
.topdoc_namejpn {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 100%;
  font-size: 1.8em;
  font-weight: 600;
  margin-bottom: 8px;
}
.topdoc_nameeng {
  font-family: 'Abel', sans-serif;
  font-size: 1.8em;
  line-height: 100%;
  font-weight: 300;
  color: #BDBDAD;
}
@media screen and (max-width: 640px) {
.topdoc {
  background-image:url(../img/index/doctor.png);
  background-position:12px top;
  background-repeat:no-repeat;
  -moz-background-size:240px auto;
  background-size:240px auto;
  }
.topdoc_detail {
  max-width: 100%;
  text-align: right;
  }
}
@media screen and (max-width: 500px) {
.topdoc {
  background-image:url(../img/index/doctor.png);
  background-position:-36px bottom;
  background-repeat:no-repeat;
  -moz-background-size:200px auto;
  background-size:200px auto;
  padding: 42px 24px 32px;
  }
.topdoc_detail p{
  font-size: 0.95em;
  }
.topdoc_namejpn {
  font-size: 1.6em;
  }
.topdoc_nameeng {
  font-size: 1.6em;
  }
}


/*========================
商品カテゴリ案内
========================*/
.topcatbox {
  width: 100%;
  height: auto;
  padding: 0;
  margin: 0 auto;
  background: #FFF;
  box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.3);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  justify-content: flex-start;
  align-items:stretch;
  flex-wrap: wrap;
}
.topcat_img {
  width:36% ;
  height: auto;
  background-position:center center;
  background-repeat:no-repeat;
  -moz-background-size:cover;
  background-size:cover;
}
.topcat_detail {
  height: auto;
  flex: 1;
  padding: 24px;
}
.topcat_detail h3 {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
  font-weight: 700;
  font-size: 1.3em;
  margin-bottom: 5px;
}
.topcat_detail h6 {
  font-family: 'Abel', sans-serif;
  font-size: 1.25em;
  line-height: 100%;
  color: #BDBDAD;
  margin-bottom: 12px;
}
.topcat_detail p{
  line-height: 1.6;
  font-size: 0.92em;
}
.topcat_detail h4 {
  font-weight: 700;
  line-height: 1.4;
  color: #CB6A40;
  letter-spacing: 0.03em;
  padding: 5px 0 0;
}
.topcat_detail h4 span{
  font-size: 1.3em;
}
@media screen and (max-width: 480px) {
.topcatbox {
  flex-direction: column;
  display:block;
  }
.topcat_img {
  width:100% ;
  min-height: 200px;
  -moz-background-size:100% auto;
  background-size:100% auto;
  }
.topcat_detail {
  padding: 20px;
  }
}
.topcatbox .cat0{background-image:url(../img/item/cat0.png);}
.topcatbox .cat1{background-image:url(../img/item/cat1.png);}
.topcatbox .cat2{background-image:url(../img/item/cat2.png);}
.topcatbox .cat3{background-image:url(../img/item/cat3.png);}
.topcatbox .cat4{background-image:url(../img/item/cat4.png);}
.topcatbox .cat5{background-image:url(../img/item/cat5.png);}
.topcatbox .cat6{background-image:url(../img/item/cat6.png);}
.topcatbox .cat7{background-image:url(../img/item/cat7.png);}
.topcatbox .cat8{background-image:url(../img/item/cat8.png);}
.topcatbox .cat9{background-image:url(../img/item/cat9.png);}


/*========================
クリニック写真
========================*/
.topphoto {
  width:100%;
  max-width: 1240px;
  margin: auto;
  padding:64px 32px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  justify-content: flex-start;
  align-items:flex-start;
  flex-wrap: wrap;
}
.topphoto li{
  width:50%;
  padding:0 12px 24px;
}
.topphoto p{
  font-size: 0.9em;
  margin-top: 6px;
  text-align: center;
  line-height: 1.55;
}
@media screen and (max-width: 840px) {
.topphoto li p{
  text-align: left;
  font-size: 0.85em;
  padding: 0 12px;
  }
.topphoto li br{
  display: none;
  }
}
@media screen and (max-width: 767px) {
.topphoto {
  padding:48px 24px;
  }
}
@media screen and (max-width: 640px) {
.topphoto {
  flex-direction: column;
  display:block;
  }
.topphoto li{
  width:100%;
  padding:0 0 20px;
  }
.topphoto li p{
  font-size: 0.9em;
  }
}


