/* -------------------- PC ----------------------- */

/* --------------------
   common
----------------------- */

body{
  
}

/* ---------- header ---------- */
header{
  width: 100%;
  padding: 16px 0 50px;
  background: #ffffff;
}
.header__wrap{
  width: 1000px;
  margin: 0 auto;
}

.header__logo img{
  width: 252px;
  height: auto;
}


/* ---------- footer ---------- */
footer{
  width: 100%;
  font-family: 'Yu Gothic','Hiragino Sans',sans-serif;
}

footer a{
  color: #333333;
}

.footer__cont{
  width: 1000px;
  margin: 0 auto;
  padding: 60px 0 40px;
}

/* ご利用規約 | 個人情報保護に関する事項 */
.footer__link{
  margin-bottom: 30px;
  font-size: 14px;
  line-height: calc(26 / 14);
  display: flex;
}
.footer__link li + li{
  margin-left: 0.5em;
}
.footer__link li + li::before{
  margin-right: 0.5em;
  content: "｜";
}

.footer__link a{ text-decoration: underline;}
.footer__link a:hover{ text-decoration: none;}

/* footer__txt */
.footer__txt{
  margin-bottom: 44px;
  font-size: 14px;
  line-height: calc(26 / 14);
}

/* footer__wrap */
.footer__wrap{
  width: 1000px;
  padding-bottom: 26px;
  border-bottom: 1px solid #E2E2E2;
  font-size: 12px;
  line-height: 1;
  display: grid;
  grid-template-columns: 144px 428px 428px;
}

.footer__wrap .footer__jp{
  grid-row: 1 / 2;
  grid-column: 1 / 2;
}
  .footer__wrap .footer__jp img{
    width: 144px;
    height: auto;
  }

.footer__wrap .copyright{
  padding-left: 10px;
  grid-row: 1 / 2;
  grid-column: 2 / 3;
}

.footer__update{
  font-size: 14px;
  text-align: right;
  grid-row: 1 / 2;
  grid-column: 3 / 4;
}

/* footer__logo--jj */
.footer__logo--jj{
  padding-top: 26px;
}
.footer__logo--jj img{
  width: auto;
  height: 29px;
}


/* ---------- gnav ---------- */
nav.gnav{
  width: 1000px;
  height: 80px;
	color:#fff;
	text-align: center;
  position: absolute;
  top: 66px;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 9999;
}

/* --- 1階層 --- */
nav.gnav ul{
  width: 1000px;
	display: flex;
  position: relative;
}

nav.gnav ul li a{
  width: 200px;
  height: 80px;
  background-color:var(--clr-key1);
  background-image: url(/gmg/common/image/gnav/gnav_list_line.png);
  background-position: right center;
  background-repeat: no-repeat;
  background-size: 1px auto;
  border-top: 1px solid var(--clr-key1);
  border-bottom: 1px solid var(--clr-key1);
  font-size: 16px;
  font-weight: 700;
  line-height: calc(24 / 16);
  text-align: center;
	text-decoration: none;
	color: #ffffff;
	/* transition:all .3s; */
  display: flex;
  justify-content: center;
  align-items: center;
}

nav.gnav ul li a.current{
  background-color: var(--clr-key3);
  background-image: none;
  color: var(--clr-key1);
  border-left: 1px solid var(--clr-key1);
  border-right: 1px solid var(--clr-key1);
}

nav.gnav ul li.gnav__list--01 a{
  border-left: 1px solid var(--clr-key1);
  border-radius: 100px 0 0 100px;
}
nav.gnav ul li.gnav__list--05 a{
  background-image: none;
  border-right: 1px solid var(--clr-key1);
  border-radius: 0 100px 100px 0;
}

nav.gnav ul li a:hover{
  width: 201px;
  margin-left: -1px;
  border-left: 1px solid var(--clr-key1);
  background-color: var(--clr-key3);
  background-image: none;
  /* background-size: 1px auto; */
  color: var(--clr-key1);
  opacity: 1;
}
nav.gnav ul li a.current:hover{
  width: 200px;
  margin-left: 0;
}

/* --- .has-child hover ---*/
nav.gnav li.has-child:hover > ul,
nav.gnav li.has-child ul li:hover > ul,
nav.gnav li.has-child:active > ul,
nav.gnav li.has-child ul li:active > ul{
  visibility: visible;
  opacity: 1;
}


/* --- 2階層 --- */
nav.gnav li.has-child ul{
  width: 1000px;
  position: absolute;
  left: 0;
  top: 92px;

  padding: 40px 60px 16px;
  background: #ffffff;
  border: 1px solid var(--clr-key1);
  border-radius: 8px;
  text-align: left;
  font-size: 16px;
  line-height: calc(22.4 / 16);
  color: var(--clr-key2);

  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;

  visibility: hidden;
  opacity: 0;

  transition: all .3s;
}

/* 吹き出し */
nav.gnav li.has-child ul::before{
  content: "";
  position: absolute;
  border-style: solid;
  border-width: 0 11px 13px 11px;
  border-color: transparent transparent var(--clr-key1);
  translate: -50% -100%;
}

nav.gnav li.has-child ul::after{
  content: "";
  position: absolute;
  border-style: solid;
  border-width: 0 10px 12px 10px;
  border-color: transparent transparent #ffffff;
  translate: -50% -100%;
}

nav.gnav li.gnav__list--02 ul::before,
nav.gnav li.gnav__list--02 ul::after{
  top: 0;
  left: 300px;
}
nav.gnav li.gnav__list--03 ul::before,
nav.gnav li.gnav__list--03 ul::after{
  top: 0;
  left: 500px;
}
nav.gnav li.gnav__list--04 ul::before,
nav.gnav li.gnav__list--04 ul::after{
  top: 0;
  left: 700px;
}
nav.gnav li.gnav__list--05 ul::before,
nav.gnav li.gnav__list--05 ul::after{
  top: 0;
  left: 900px;
}

nav.gnav li.has-child ul li{
  width: 288px;
  margin-bottom: 24px;
}

nav.gnav li.has-child ul li a{
  width: auto;
  height: auto;
  background-color: transparent;
  background-image: none;
  border: none;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-align: left;
	color: var(--clr-key2);
  /* display: flex; */
  justify-content: flex-start;
  /* align-items: center; */
}
nav.gnav li.has-child ul li a::before{
  margin-right: 8px;
  display: inline-block;
  content: '';
  width: 6px;
  height: 10px;
  background: url(/gmg/common/image/gnav/icon_arrow_gnav.png) 0 0 no-repeat;
  background-size: 6px auto;
}

nav.gnav li.has-child ul li a:hover{
  width: auto;
  margin-left: 0;
  text-decoration: underline;
  opacity: 1;
}

.gmg_about_index .gnav__list--01 a,
.gmg_about_patients .gnav__list--01 a,
.gmg_about_symptoms .gnav__list--01 a,
.gmg_about_record .gnav__list--01 a,
.gmg_about_treatment .gnav__list--01 a,
.gmg_about_daily-life .gnav__list--01 a,
.gmg_imaavy_index .gnav__list--02 a,
.gmg_imaavy_schedule .gnav__list--02 a,
.gmg_imaavy_precautions .gnav__list--02 a,
.gmg_imaavy_side-effect .gnav__list--02 a,
.gmg_patient_index .gnav__list--03 a,
.gmg_patient_movie .gnav__list--03 a,
.gmg_patient_associations .gnav__list--03 a,
.gmg_support_index .gnav__list--04 a,
.gmg_support_pediatric .gnav__list--04 a,
.gmg_support_list .gnav__list--04 a{
  background-image: none;
}


/* -------------------- snav -------------------- */
/* --- snav-pc --- */
.snav-pc{ display: block;}
.snav-sp{ display: none;}


/*アコーディオン全体*/
.snav-pc .accordion-area{
  width: 100%;
}
.snav-pc .accordion-area a{
  text-decoration: none;
}
.snav-pc .accordion-area li + li{
  margin-top: 12px;
}
  .snav-pc .accordion-area li li + li{
    margin-top: 0;
  }

/* accordion-area */
.snav-pc .accordion-area dl{
  border: 1px solid #aaaaaa;
  border-radius: 10px;
  box-shadow: 0 0 6px #D7D2CB;
  overflow: hidden;
}

/* dl dt */
.snav-pc .accordion-area dl dt{
  padding: 19px 0 21px 18px;
  
  background-color: var(--clr-key1);

  font-size: 16px;
  font-weight: 700;
  line-height: calc(24 / 16);
  color: #ffffff;
}

.snav-pc .accordion-area .title-pc{
  position: relative;/*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  transition: all .3s ease-in-out;
}

.snav-pc .accordion-area .title-pc::before,
.snav-pc .accordion-area .title-pc::after{
  position: absolute;
  content:'';
  width: 14px;
  height: 2px;
  background-color: #ffffff;
}
.snav-pc .accordion-area .title-pc::before{
  top: 50%;
  right: 14px;
  transform: rotate(0deg);
}
.snav-pc .accordion-area .title-pc::after{    
  top: 50%;
  right: 14px;
  transform: rotate(90deg);
  transition: all .3s ease-in-out;
}
  .snav-pc .accordion-area .title-pc.close::after{
    transform: rotate(0deg);
  }


/* dl dt.link */
.snav-pc .accordion-area .link::before,
.snav-pc .accordion-area .link::after{
  display: none;
}

.snav-pc .accordion-area .link{
  padding: 0;
}
.snav-pc .accordion-area .link a{
  width: 100%;
  padding: 19px 18px 21px 18px;
  background-color: var(--clr-key1);
  color: #ffffff;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.snav-pc .accordion-area .link a::after{
  display: inline-block;
  content: '';
  width: 9px;
  height: 14px;
  background: url(/common/image/parts/icon_arrow_w9_2.png) 0 0 no-repeat;
  background-size: 9px auto;
}


/* dl dd */
/* アコーディオンで現れるエリア */
.snav-pc .accordion-area .box-pc{
    display: none;
    background: #ffffff;
}

.snav-pc .accordion-area .box-pc ul li{
  width: 100%;
  background-image: url(/gmg/common/image/snav/snav_line.png);
  background-position: 0 bottom;
  background-repeat: repeat-x;
  background-size: auto 1px;
}
  .snav-pc .accordion-area .box-pc ul li:last-child{
    background-image: none;
  }

.snav-pc .accordion-area .box-pc ul li a{
  width: 100%;
  padding: 16px 12px 16px 16px;
  font-size: 16px;
  line-height: calc(22.4 / 16);
  color: var(--clr-key2);
  display: flex;
  justify-content: flex-start;
}
.snav-pc .accordion-area .box-pc ul li a::before{
  display: inline-block;
  content: '';
  width: 6px;
  height: 22px;
  margin-right: 8px;
  background: url(/common/image/parts/icon_arrow_w6_1.png) 0 6px no-repeat;
  background-size: 6px auto;
}
.snav-pc .accordion-area .box-pc ul li a:hover{
  background-image: url(/gmg/common/image/snav/snav_line.png);
  background-position: 0 bottom;
  background-repeat: repeat-x;
  background-size: auto 1px;
  background-color: #EBF4F9;
  text-decoration: underline;
}
  .snav-pc .accordion-area .box-pc ul li:last-child a:hover{
    background-image: none;
  }

/* dl dd.active li.active */
.snav-pc .accordion-area .box-pc ul li.active{
  background-color: #EBF4F9;
}


/* ---------- fnav ---------- */
.fnav-pc{ display: block;}
.fnav-sp{ display: none;}


.fnav__bg{
  padding: 80px 0;
  width: 100%;
  background: url(/gmg/common/image/fnav/fnav_bg.png) 0 0 repeat;
  background-size: 1366px auto;
}

.fnav__cont{
  width: 1000px;
  margin: 0 auto;
}

.fnav__wrap{
  width: 1000px;
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
}

.fnav-pc .fnav__dl dt{
  margin-bottom: 16px;
  font-size: 16px;
  font-weight: 700;
  line-height: calc(30 / 16);
  color: var(--clr-key1);
}

.fnav-pc .fnav__dl dt div{
  display: flex;
  align-items: center;
}

.fnav-pc .fnav__dl dt div::before{
  display: inline-block;
  content: '';
  width: 14px;
  height: 14px;
  margin-right: 8px;
  background: url(/common/image/parts/list_w14_1.png) 0 0 no-repeat;
  background-size: 14px auto;
}

.fnav-pc .fnav__dl dd{
  margin-left: 22px;
}
.fnav-pc .fnav__dl dd li{
  margin-bottom: 14px;
  font-size: 14px;
  line-height: calc(22.5 / 14);
  color: var(--clr-key2);
}
.fnav-pc .fnav__dl dd li a{
  color: var(--clr-key2);
}

.fnav-pc .fnav__box--right dl + dl{
  margin-top: 40px;
}

.fnav-pc .fnav__dl a{
  text-decoration: underline;
}
.fnav-pc .fnav__dl dt a:hover{
  color: var(--clr-key2);
}
.fnav-pc .fnav__dl dd a:hover{
  color: var(--clr-key1);
}


/* ---------- main ---------- */
main{
  padding-bottom: 16px;
  background-image: url(/common/image/parts/footer_line.png);
  background-size: 100% 16px;
  background-repeat: no-repeat;
  background-position: 50% bottom;
}

/* --- main__head --- */
.main__head{
  width: 100%;
  height: 240px;
  padding-top: 80px;
  background-image: url(/common/image/parts/gmg_h1_bg_l.png), url(/common/image/parts/gmg_h1_bg_r.png);
  background-position: left 0, right 0;
  background-repeat: no-repeat, no-repeat;
  background-size: auto 240px, auto 240px;
}
.main__head .head__txt--lead{
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--clr-key2);
  text-align: center;
}


/* --- main__content --- */
.main__content{
  width: 100%;
  padding-bottom: 120px;
  background-color: #F9F8F7;
}


/* main__cont--top */
.main__content .main__cont--top{
  width: 1000px;
  margin: 0 auto;
  padding: 16px 0 24px;
}

/* 監修医 */
.main__content .main__cont--top .top__txt--ge{
  font-size: 12px;
  line-height: calc(25.2 / 12);
  text-align: right;
}

/* パンくず */
.breadcrumbs__list{
  margin-bottom: 8px;
  display: block;
  line-height: 1;

  li{
    display: inline;
    font-size: 12px;
    line-height: calc(25.2 / 12);
    font-weight: 700;
    white-space: normal;
  }

  li.list--parent{
    margin-right: 10px;
    padding-right: 17px;
    font-weight: normal;
    background: url(/common/image/parts/icon_breadcrumbs_list.png) right center no-repeat;
    background-size: 7px auto;
  }

  li a{
    margin-right: 10px;
    padding-right: 17px;
    font-weight: normal;
    text-decoration: underline;
    background: url(/common/image/parts/icon_breadcrumbs_list.png) right center no-repeat;
    background-size: 7px auto;
    color: var(--clr-key2);
  }  
}


/* --- main__cont--wrap --- */
.main__content .main__cont--wrap{
  width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

.main__content .main__cont--left{
  width: 280px;
  padding-bottom: 40px;
}
.main__content .main__cont--right{
  width: 670px;
}


/* --- main__cont--nav --- */
.main__content .main__cont--nav{
  width: 1000px;
  margin: 0 auto;
}

.main__content .main__cont--nav ul{
  border-top: 1px solid #AAAAAA;
  border-bottom: 1px solid #AAAAAA;
  display: flex;
  justify-content: space-between;
}
.main__content .main__cont--nav li{
  width: 50%;
  height: 110px;
  font-size: 18px;
  font-weight: 700;
  line-height: calc(27 / 18);
}
.main__content .main__cont--nav li + li{
  border-left: 1px solid #AAAAAA;
}

.main__content .main__cont--nav li a{
  display: inline-block;
  width: 100%;
  height: 100%;
  color: var(--clr-pt1);
  text-decoration: none;
  display: flex;
  align-items: center;
}
.main__content .main__cont--nav li a:hover{
  text-decoration: underline;
}

.main__content .main__cont--nav li.before a::before,
.main__content .main__cont--nav li.next a::after{
  display: inline-block;
  content: '';
  width: 24px;
  height: 24px;
  background: url(/common/image/parts/icon_arrow_main_nav.png) 0 0 no-repeat;
  background-size: 24px auto;
}

.main__content .main__cont--nav li.before a{
  padding-left: 16px;
  justify-content: flex-start;
}
  .main__content .main__cont--nav li.before a::before{
    margin-right: 16px;
    transform: rotate(180deg);
  }

.main__content .main__cont--nav li.next a{
  padding-right: 16px;
  justify-content: flex-end;
}
  .main__content .main__cont--nav li.next a::after{ margin-left: 16px;}


/* ---- pagetop ---- */
#scroll-top{
  display: none;
  width: 48px;
  height: 48px;
  position: fixed;
  bottom: 40px;
  right: 40px;
  cursor: pointer;
  z-index: 999;
}
/* #scroll-top a:hover{
  
} */
  /* .is-stop{
    position: absolute !important;
    bottom: 1200px !important;
  } */


/* ---------- modalArea ---------- */
.modalArea{
  display: none;
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  overflow-y: auto;
}

.modal__overlay{
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(000, 000, 000, 0.8);
}

.modalArea .modal__content{
  width: 1000px;
  padding: 60px 0;
  background: #ffffff;
  border-radius: 8px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.modalArea .modal__content p{
  text-align: center;
}

.modalArea .modal__content p + p{
  margin-top: 16px;
}

/* modal__txt--q */
.modalArea .modal__content .modal__txt--q{
  margin: 28px 0 32px;
  font-size: 28px;
  line-height: calc(42 / 28);
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--clr-key1);
}

/* modal__txt--caution */
.modalArea .modal__content .modal__txt--caution{
  width: 750px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}
.modalArea .modal__content .modal__txt--caution dt{
  font-weight: 700;
  flex-shrink: 0;
}


/* ---------- btn ---------- */
/* btn__select */
.btn__select{
  margin: 32px auto 10px;
  display: flex;
  justify-content: center;
}
.btn__select li + li{
  margin-left: 44px;
}
.btn__select li a{
  display: block;
  width: 340px;
  padding: 18px 0 20px 0;
  border-radius: 100px;
  font-size: 18px;
  font-weight: 700;
  line-height: calc(26 / 18);
  text-align: center;
  text-decoration: none;
}
.btn__select li:nth-of-type(1) a{
  background-color: #ffffff;
  background-image: url(/common/image/parts/arrow_icon_yes.png);
  background-position: 94% 51%;
  background-repeat: no-repeat;
  background-size: 9px auto;
  border: 2px solid rgba(216, 38, 99, 0.5);
  color: var(--clr-pt1);
}
  .btn__select li:nth-of-type(1) a:hover{
    background-color: var(--clr-pt1);
    background-image: url(/common/image/parts/icon_arrow_w9_2.png);
    background-position: 94% 51%;
    background-repeat: no-repeat;
    background-size: 9px auto;
    border: 2px solid rgba(216, 38, 99, 0.5);
    color: #ffffff;
  }
.btn__select li:nth-of-type(2) a{
  background-color: #ffffff;
  background-image: url(/common/image/parts/arrow_icon_no.png);
  background-position: 94% 51%;
  background-repeat: no-repeat;
  background-size: 9px auto;
  border: 2px solid #aaaaaa;
  color: #333333;
}
  .btn__select li:nth-of-type(2) a:hover{
    background-color: #aaaaaa;
    background-image: url(/common/image/parts/icon_arrow_w9_2.png);
    background-position: 94% 51%;
    background-repeat: no-repeat;
    background-size: 9px auto;
    border: 2px solid #aaaaaa;
    color: #ffffff;
  }

.txt__btn--no{
  width: 730px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-end;
}

.txt__btn--no p{
  width: 50%;
  font-size: 12px;
  line-height: calc(18 / 12);
  text-align: right;
}


/* pdf */
.btn__pdf{
  margin-bottom: 40px;
  display: flex;
  justify-content: center;
}
.btn__pdf li a{
  display: inline-block;
  padding:18px calc(40px + 16px + 16px) 20px 40px;
  background: #ffffff;
  border: 2px solid rgba(216, 38, 99, 0.5);
  border-radius: 100px;
  color: var(--clr-pt1);
  font-size: 18px;
  font-weight: 700;
  line-height: calc(26 / 18);
  text-decoration: none;
  position: relative;
}
.btn__pdf li a::before{
  display: inline-block;
  content: '';
  width: 18px;
  height: 18px;
  background: url(/common/image/parts/icon_download_1.png) 0 0 no-repeat;
  background-size: 18px auto;
  position: absolute;
  top: calc(50% - 9px);
  right: 40px;
}
.btn__pdf li a:hover{
  background: var(--clr-pt1);
  color: #ffffff;
}
.btn__pdf li a:hover:before{
  background: url(/common/image/parts/icon_download_2.png) 0 0 no-repeat;
  background-size: 18px auto;
}

/* btn__pdf--s */
.btn__pdf--s{
  height: 56px;
  display: flex;
  justify-content: flex-end;
}
.btn__pdf--s li a{
  width: 240px;
  padding:14px 0 16px;
  background: #ffffff;
  border: 2px solid rgba(216, 38, 99, 0.5);
  border-radius: 100px;
  color: var(--clr-pt1);
  font-size: 18px;
  font-weight: 700;
  line-height: calc(26 / 18);
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
}
.btn__pdf--s li a::after{
  display: inline-block;
  content: '';
  width: 18px;
  height: 18px;
  margin-left: 16px;
  background: url(/common/image/parts/icon_download_1.png) 0 0 no-repeat;
  background-size: 18px auto;
}
.btn__pdf--s li a:hover{
  background: var(--clr-pt1);
  color: #ffffff;
}
.btn__pdf--s li a:hover:after{
  background: url(/common/image/parts/icon_download_2.png) 0 0 no-repeat;
  background-size: 18px auto;
}


/* btn__blank--s */
.btn__blank--s{
  height: 56px;
  display: flex;
  justify-content: flex-end;
}
.btn__blank--s li a{
  width: 240px;
  padding:14px 0 16px;
  background: #ffffff;
  border: 2px solid rgba(216, 38, 99, 0.5);
  border-radius: 100px;
  color: var(--clr-pt1);
  font-size: 18px;
  font-weight: 700;
  line-height: calc(26 / 18);
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
}
.btn__blank--s li a::after{
  display: inline-block;
  content: '';
  width: 14px;
  height: 14px;
  margin-left: 16px;
  background: url(/common/image/parts/icon_blank_w14_1.png) 0 0 no-repeat;
  background-size: 14px auto;
}
.btn__blank--s li a:hover{
  background: var(--clr-pt1);
  color: #ffffff;
  text-decoration: none;
}
.btn__blank--s li a:hover:after{
  background: url(/common/image/parts/icon_blank_w14_2.png) 0 0 no-repeat;
  background-size: 14px auto;
  text-decoration: none;
}


/* ---------- list ---------- */

/* --- ※リスト --- */
.list__note1{
  text-indent: -1em;
  padding-left: 1em;
  line-height: calc(18 / 12);
}

.list__note2{
  text-indent: -1.5em;
  padding-left: 1.5em;
  line-height: calc(18 / 12);
}

.list__note3{
  text-indent: -2.5em;
  padding-left: 2.5em;
  line-height: calc(18 / 12);
}

.list__note1 li + li,
.list__note2 li + li,
.list__note3 li + li{
  margin-top: 6px;
}


/* --- ulリスト --- */
.list__disk1{
  list-style: none;
}
.list__disk1 li{
  padding-left: 20px;
  position: relative;
}
  .list__disk1 li:last-child{ margin-bottom: 0;}

.list__disk1 li::before{
  display: inline-block;
  content: "・";
  width: 1em;
  height: 16px;
  position: absolute;
  top: 0;
  left: 0;
}


/* --- olリスト --- */
.list__num1{
  text-indent: -1em;
  padding-left: 1em;
  line-height: calc(18 / 12);
}
.list__num1 li + li{
  margin-top: 12px;
}


/* ---------- heading ---------- */
h1{
  font-size: 48px;
  font-weight: 700;
  line-height: calc(60 / 48);
  letter-spacing: 0.04em;
  color: var(--clr-key2);
  text-align: center;
}


section h2{
  width: 100%;
  padding: 20px 28px;
  margin-bottom: 32px;
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 0 8px rgba(52, 117, 173, 0.25);
  font-size: 28px;
  font-weight: 700;
  line-height: calc(42 / 28);
  letter-spacing: 0.028em;
  color: var(--clr-key1);
}


section h3{
  display: inline-block;
  margin-bottom: 24px;
  padding: 7px 16px 8px;
  background: var(--clr-key2);
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
  line-height: calc(27 / 16);
  letter-spacing: 0.02em;
  color: #ffffff;
}

  section .h3--crl-gr{ background: #55B779;}
  section .h3--crl-or{ background: #F4A12C;}
  section .h3--crl-bl{ background: #4EB3EA;}
  section .h3--crl-pi{ background: #E85382;}


/* ---------- コンテンツ ---------- */
/* support__card */
.support__card{
  display: flex;
  justify-content: space-between;
}

.support__card + .support__card{
  margin-top: 40px;
  padding-top: 40px;
  background: url(/common/image/parts/line_dotted.png) 0 0 no-repeat;
  background-size: auto 1px;
}

.support__card .support__card--left{
  width: 210px;
}
.support__card .support__card--left img{
  width: 100%;
}

.support__card .support__card--right{
  width: 428px;
}

.support__card .support__card--right dl{
  margin-bottom: 32px;
}
.support__card .support__card--right dt{
  margin-bottom: 16px;
  font-size: 20px;
  font-weight: 700;
  line-height: calc(36 / 20);
  color: var(--clr-key1);
}


/* .box__detail */
.box__detail{
  margin-top: 80px;
  padding: 32px 0;
  background: #ffffff;
  border: 1px solid var(--clr-key2);
  border-radius: 8px;
  text-align: center;
}
.box__detail p{
  margin-bottom: 0;
}
.box__detail p + p{
  margin-top: 8px;
}
.box__detail .bold{
  color: var(--clr-key2);
}


/* ---------- Box 小規模コンテンツ ---------- */



/* ---------- section配下 ---------- */
section + section{ 
  margin-top: 70px;
}

section:last-child{
  margin-bottom: 80px;
}

/* --- text --- */
section p,
section p:last-of-type + div{
  margin-bottom: 32px;
  letter-spacing: -0.02em;
}


/* --- link --- */
section a{
  color: var(--clr-key2);
  text-decoration: underline;
}
section a:hover{
  text-decoration: none;
}

/* link_blank */
section a.link_blank{
  text-decoration: none;
}
section a.link_blank::after{
  display: inline-block;
  content: '';
  width: 12px;
  height: 14px;
  margin-left: 8px;
  background: url(/common/image/parts/icon_blank_w12.png) 0 0 no-repeat;
  background-size: 12px auto;
}


/* --- flex --- */
.flex-group{
  width: 100%;
  margin-bottom: 48px;
  display: flex;
  justify-content: space-between;
}
  /* 1分割 */
  .flex-group__item--1of1{
    width: 100%;
  }
  /* 2分割 */
  .flex-group__item--1of2{
    width: 320px;
  }

  .flex-group p{
    flex-shrink: 0;
  }


/* --- img --- */
.sec__img{

}

.sec__img--center{
  display: flex;
  justify-content: center;
}

section .sec__img + h3,
section .sec__img--center + h3,
section .sec__img + p,
section .sec__img--center + p,
section .sec__img + ul,
section .sec__img--center + ul{
  margin-top: 32px;
}


/* --- table --- */


/* --------------------
   個別parts
----------------------- */
/* ---------- /gmg/index.html ---------- */
/* header */
.gmg_index header{
  width: 100%;
  padding: 16px 0;
  background: #ffffff;
}

.gmg_index .header__wrap{
  width: 1000px;
  margin: 0 auto;
}

.gmg_index .header__logo img{
  width: 252px;
  height: auto;
}

/* kvArea */
.gmg_index .kvArea{
  width: 100%;
  min-width: 1000px;
  min-height: 758px;
  position: relative;
}
.gmg_index .kvArea .kv__bg{
  width: 100%;
  height: auto;
  min-width: 1366px;
  min-height: 758px;
  padding-top: 80px;
  background: url(/gmg/common/image/index/kvarea_bg.png) 0 0 no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
}

.gmg_index .kvArea h1{
  width: 1096px;
  height: 200px;
  margin: 0 auto 60px;
}

.gmg_index .kvArea .kv__box{
  width: 1000px;
  margin: 0 auto;
  padding: 50px 0;
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid var(--clr-key1);
  box-shadow: 0 0 8px rgba(52, 117, 173, 0.3);
  text-align: center;
}

.gmg_index .kvArea .kv__box h2{
  margin-bottom: 30px;
  font-size: 32px;
  font-weight: 700;
  line-height: calc(36 / 32);
}
.gmg_index .kvArea .kv__box h2 span{
  font-size: 18px;
  font-weight: normal;
}
.gmg_index .kvArea .kv__box p{
  font-size: 18px;
  line-height: calc(36 / 18);
}
.gmg_index .kvArea .kv__box p + p{
  margin-top: 30px;
}


/* commentArea */
.gmg_index .commentArea{
  width: 100%;
}

.gmg_index .commentArea .comment__bg{
  width: 100%;
  min-width: 1000px;
  padding: 80px 0;
  background: url(/gmg/common/image/index/commentarea_bg.png) 0 0 no-repeat;
  background-size: 100% auto;
}

.gmg_index .commentArea .comment__box{
  width: 1000px;
  margin: 0 auto;
  padding: 48px 48px 32px;
  background: #ffffff;
  border-radius: 8px;
  position: relative;
}

.gmg_index .commentArea .comment__box h2{
  padding: 3px 40px 5px;
  background: var(--clr-pt1);
  border-radius: 100px;
  font-size: 18px;
  font-weight: 700;
  line-height: calc(36 / 18);
  letter-spacing: 0.05em;
  color: #ffffff;
  text-align: center;
  position: absolute;
  top: -22px;
  left: 50%;
  transform: translate(-50%, 0);
}

.gmg_index .commentArea .comment__box .comment__cont{
  margin-bottom: 24px;
  display: flex;
}

.gmg_index .commentArea .comment__box .comment__cont .left{
  flex-shrink: 0;
  margin-right: 32px;
}

.gmg_index .commentArea .comment__box .docter{
  font-size: 14px;
  line-height: calc(18 / 14);
  text-align: right;
}


/* infoArea */
.gmg_index .infoArea{
  width: 100%;
  padding: 80px 0;
  background: #F9F8F7;
}

.gmg_index .infoArea h2{
  margin-bottom: 24px;
  padding-bottom: 24px;
  font-size: 24px;
  font-weight: 700;
  line-height: calc(36 / 24);
  letter-spacing: 0.05em;
  color: var(--clr-key1);
  text-align: center;
  background: url(/gmg/common/image/index/infoarea_border.png) center bottom no-repeat;
  background-size: auto 1px;

}

.gmg_index .infoArea .info__cont{
  width: 1000px;
  margin: 24px auto 0;
  padding-bottom: 24px;
  background: url(/gmg/common/image/index/infoarea_border.png) 0 bottom no-repeat;
  background-size: auto 1px;
  display: flex;
}
.gmg_index .infoArea .info__cont dt{
  margin-right: 30px;
  color: var(--clr-key2);
  flex-shrink: 0;
}


/* ---------- /gmg/index2.html ---------- */
/* kvArea */
.gmg_index2 .kvArea{
  width: 100%;
  min-height: 858px;
  position: relative;
}
.gmg_index2 .kvArea .kv__bg{
  width: 100%;
  height: auto;
  min-width: 1366px;
  min-height: 858px;
  padding-top: 100px;
  background: url(/gmg/common/image/index/kvarea_bg.png) 0 0 no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
}

.gmg_index2 .kvArea h1{
  width: 1096px;
  height: 200px;
  margin: 0 auto 48px;
}


/* menuBox */
.gmg_index2 .menuBox{
  width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

.gmg_index2 .menuBox .menu__cont{
  width: 320px;
}

.gmg_index2 .menuBox .menu__cont dl{
  border-radius: 8px;
  box-shadow: 0 0 8px rgba(52, 117, 173, 0.3);
  display: flex;
  flex-direction: column;
}
  .gmg_index2 .menuBox .menu__cont .menu__dl--left,
  .gmg_index2 .menuBox .menu__cont .menu__dl--center,
  .gmg_index2 .menuBox .menu__cont .menu__dl--left dd,
  .gmg_index2 .menuBox .menu__cont .menu__dl--center dd{
    height: 100%;
  }
  .gmg_index2 .menuBox .menu__cont .menu__dl--right1{
    margin-bottom: 24px;
  }

.gmg_index2 .menuBox .menu__cont dt{
  padding: 20px 0;
  background: var(--clr-key1);
  border-radius: 8px 8px 0 0;
  font-size: 20px;
  font-weight: 700;
  line-height: calc(29 / 20);
  text-align: center;
}
.gmg_index2 .menuBox .menu__cont dt a{
  color: #ffffff;
  text-decoration: none;
}

.gmg_index2 .menuBox .menu__cont dd{
  padding: 20px 24px;
  border: 1px solid var(--clr-key1);
  border-radius: 0 0 8px 8px;
}
.gmg_index2 .menuBox .menu__cont dd li{
  margin-bottom: 12px;
}
.gmg_index2 .menuBox .menu__cont dd li:last-child{
  margin-bottom: 0;
}

.gmg_index2 .menuBox .menu__cont dd li a{
  font-size: 16px;
  line-height: calc(22.4 / 16);
  color: var(--clr-key2);
  text-decoration: none;
  display: flex;
}
.gmg_index2 .menuBox .menu__cont dd a::before{
  display: inline-block;
  content: '';
  width: 6px;
  height: 22px;
  margin-right: 8px;
  background: url(/common/image/parts/icon_arrow_w6_1.png) 0 center no-repeat;
  background-size: 6px auto;
}
.gmg_index2 .menuBox .menu__cont dd a:hover{
  text-decoration: underline;
}


/* commentArea */
.gmg_index2 .commentArea{
  width: 100%;
}

.gmg_index2 .commentArea .comment__bg{
  width: 100%;
  min-width: 1000px;
  padding: 80px 0;
  background: url(/gmg/common/image/index/commentarea_bg.png) 0 0 no-repeat;
  background-size: 100% auto;
}

.gmg_index2 .commentArea .comment__box{
  width: 1000px;
  margin: 0 auto;
  padding: 48px 48px 32px;
  background: #ffffff;
  border-radius: 8px;
  position: relative;
}

.gmg_index2 .commentArea .comment__box h2{
  width: auto;
  padding: 3px 40px 5px;
  background: var(--clr-pt1);
  border-radius: 100px;
  font-size: 18px;
  font-weight: 700;
  line-height: calc(36 / 18);
  letter-spacing: 0.05em;
  color: #ffffff;
  text-align: center;
  position: absolute;
  top: -22px;
  left: 50%;
  transform: translate(-50%, 0);
}

.gmg_index2 .commentArea .comment__box .comment__cont{
  margin-bottom: 24px;
  display: flex;
}

.gmg_index2 .commentArea .comment__box .comment__cont .left{
  flex-shrink: 0;
  margin-right: 32px;
}

.gmg_index2 .commentArea .comment__box .docter{
  font-size: 14px;
  line-height: calc(18 / 14);
  text-align: right;
}


/* infoArea */
.gmg_index2 .infoArea{
  width: 100%;
  padding: 80px 0;
  background: #F9F8F7;
}

.gmg_index2 .infoArea h2{
  margin-bottom: 24px;
  padding-bottom: 24px;
  font-size: 24px;
  font-weight: 700;
  line-height: calc(36 / 24);
  letter-spacing: 0.05em;
  color: var(--clr-key1);
  text-align: center;
  background: url(/gmg/common/image/index/infoarea_border.png) center bottom no-repeat;
  background-size: auto 1px;

}

.gmg_index2 .infoArea .info__cont{
  width: 1000px;
  margin: 24px auto 0;
  padding-bottom: 24px;
  background: url(/gmg/common/image/index/infoarea_border.png) 0 bottom no-repeat;
  background-size: auto 1px;
  display: flex;
}
.gmg_index2 .infoArea .info__cont dt{
  margin-right: 30px;
  color: var(--clr-key2);
  flex-shrink: 0;
}


/* ---------- /gmg/about/symptoms.html ---------- */
.gmg_about_symptoms .sec01 dl{
  margin-bottom: 16px;
  display: flex;
  justify-content: center;
}

  /* 2分割 */
.gmg_about_symptoms .sec01 .dl__dt--line2{
  height: 4em;
}


/* ---------- /gmg/about/record.html ---------- */
.gmg_about_record .sec01 .btn__pdf{
  margin-bottom: 80px;
}


/* ---------- /gmg/about/treatment.html ---------- */
.gmg_about_treatment .sec02 h3{
  margin-bottom: 24px;
}
.gmg_about_treatment .sec02 h3:first-child{
  margin-top: 40px;
}

.gmg_about_treatment .sec02 .flex-group h3{
  margin-top: 0 !important;
}
.gmg_about_treatment .sec02 .flex-group .sec__img{
  margin-left: 16px;
}


/* ---------- /gmg/about/daily-life.html ---------- */
.gmg_about_daily-life .sec01 .daily-life__box{
  margin-bottom: 40px;
}

.gmg_about_daily-life .sec01 dt{
  display: inline-block;
  margin-bottom: 24px;
  padding: 7px 16px 8px;
  background: var(--clr-key2);
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
  line-height: calc(27 / 16);
  letter-spacing: 0.02em;
  color: #ffffff;
}

.gmg_about_daily-life .sec01 .sec__img{
  margin-left: 16px;
  flex-shrink: 0;
}


/* ---------- /gmg/imaavy/index.html ---------- */
.gmg_imaavy_index .list__disk{ /* disc8px */
  list-style: none;
}
.gmg_imaavy_index .list__disk li{
  margin-bottom: 18px;
  padding-left: 16px;
  font-size: 18px;
  line-height: calc(36 / 18);
  position: relative;
}
.gmg_imaavy_index .list__disk li::before{
  display: inline-block;
  content: "";
  width: 8px;
  height: 8px;
  background: url(/common/image/parts/list_pt01_8x8.png) 0 0 no-repeat;
  background-size: 8px auto;
  position: absolute;
  top: 12px;
  left: 0;
}

.gmg_imaavy_index .sec__txt--underline-ima-index{
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-color: #EBE83F;
  text-decoration-thickness: 10px;
  text-underline-offset: -2px;
  text-decoration-skip-ink: none;
}

.gmg_imaavy_index .sec02 .flex-group__item--1of2 p:last-child{
  margin-bottom: 0;
}


/* ---------- /gmg/imaavy/schedule.html ---------- */
.gmg_imaavy_schedule .list__schedule{
  margin: 0 0 40px 12px;
  font-size: 18px;
  line-height: calc(36 / 18);
}

.gmg_imaavy_schedule .list__schedule li{
  margin-bottom: 16px;
  padding-left: 28px;
}

.gmg_imaavy_schedule .list__schedule .list__item--01{
  background: url(/gmg/common/image/imaavy/schedule_arrow01.png) 0 0.7em no-repeat;
  background-size: 20px auto;
}
.gmg_imaavy_schedule .list__schedule .list__item--02{
  background: url(/gmg/common/image/imaavy/schedule_arrow02.png) 0 0.7em no-repeat;
  background-size: 20px auto;
}
.gmg_imaavy_schedule .list__schedule .list__item--03{
  margin-bottom: 0;
  background: url(/gmg/common/image/imaavy/schedule_arrow03.png) 0 0.7em no-repeat;
  background-size: 20px auto;
}


/* ---------- /gmg/imaavy/side-effect.html ---------- */
.gmg_imaavy_side-effect .sec02 .list__disk{ /* disc8px */
  list-style: none;
  padding-left: 1em;
}
.gmg_imaavy_side-effect .sec02 .list__disk li{
  margin-bottom: 12px;
  padding-left: 16px;
  font-size: 16px;
  line-height: calc(32 / 16);
  position: relative;
}
.gmg_imaavy_side-effect .sec02 .list__disk li::before{
  display: inline-block;
  content: "";
  width: 6px;
  height: 6px;
  background: url(/common/image/parts/list_black_6x6.png) 0 0 no-repeat;
  background-size: 6px auto;
  position: absolute;
  top: calc(50% - 3px);
  left: 0;
}


/* ---------- /gmg/patient/movie.html ---------- */
.gmg_patient_movie .movie__card dt{
  margin-bottom: 24px;
  font-size: 24px;
  font-weight: 700;
  line-height: calc(36 / 24);
  letter-spacing: 0.02em;
  color: var(--clr-key1);
  text-align: center;
}
.gmg_patient_movie .movie__card dd.movie{
  margin-bottom: 24px;
}
.gmg_patient_movie .movie__card dd.txt{
  margin-bottom: 10px;
}
.gmg_patient_movie .movie__card dd.time{
  font-size: 14px;
  font-weight: 700;
  color: var(--clr-key2);
  text-align: right;
}

.gmg_patient_movie .movie__card + .movie__card{
  margin-top: 40px;
  padding-top: 40px;
  background: url(/common/image/parts/line_dotted.png) 0 0 no-repeat;
  background-size: auto 1px;
}


/* ---------- /gmg/support/index.html ---------- */
.gmg_support_index .sec03 .list__num1{
  margin: 16px 0 40px 1em;
}

.gmg_support_index .sec04 .sec__img{
  margin-bottom: 16px;
}


/* ---------- /gmg/support/pediatric.html ---------- */
.gmg_support_pediatric .list__num1{
  margin: 16px 0 40px 1em;
}

.gmg_support_pediatric .sec04 .sec__img{
  margin-bottom: 16px;
}


/* ---------- /gmg/sitemap.html ---------- */
.gmg_sitemap .main__head{
  padding-top: 98px;
}

.gmg_sitemap .main__cont--wrap{
  width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.gmg_sitemap .main__cont--wrap + .main__cont--wrap{
  margin-top: 80px;
}

.gmg_sitemap .cont__block{
  width: 460px;
}

.gmg_sitemap .cont__block h2{
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--clr-key1);
  font-size: 20px;
  font-weight: 700;
  line-height: calc(29 / 20);
  color: var(--clr-key1);
}

.gmg_sitemap .list__sitemap{
  margin-left: 16px;
}

.gmg_sitemap .list__sitemap li{
  margin-bottom: 16px;
  line-height: calc(22.4 / 16);
}
.gmg_sitemap .list__sitemap li:last-child{
  margin-bottom: 0;
}

.gmg_sitemap .list__sitemap li a{
  color: var(--clr-key2);
  display: flex;
  justify-content: flex-start;
}
.gmg_sitemap .list__sitemap li a::before{
  display: inline-block;
  content: '';
  width: 6px;
  height: 22px;
  margin-right: 8px;
  background: url(/common/image/parts/icon_arrow_w6_1.png) 0 6px no-repeat;
  background-size: 6px auto;
}

