@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
@font-face {
  font-family: 'avantgarde';
  font-weight: 500;
  src: url(../fonts/ITCAvantGardeStd-DemiObl.otf);
}
@font-face {
  font-family: 'avantgarde-normal';
  font-weight: 500;
  src: url(../fonts/ITCAvantGardeStd-Md.otf);
}
html {
  font-size: 62.5%;
  overflow-x: hidden;
  height: -webkit-fill-available;
}
body{
  font-family: 'ヒラギノ角ゴシック Pro', 'ヒラギノ角ゴ Pro W3', 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', YuGothic,'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  color: #595757;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.content{
  position: relative;
  z-index: 2;
}
p{
  font-size: 1.6rem;
  line-height: 2.8rem;
}
img {
  image-rendering: -webkit-optimize-contrast;
}
section{
  margin: 0 40px;
}
section > h2{
  margin-left: -40px!important;
  margin-right: -40px!important;
}
p.font-size-lg{
  font-size: 2rem;
}
p.float:after{
  content: "";
  clear: both;
  display: block;
}
p + p{margin-top: 20px;}
body:not(.top,.patient-top) .content{
  max-width: 980px;
  margin: 0 auto;
}
dt,dd{
  line-height: 1.8;
  font-size: 1.6rem;
}
p > a:hover{
  text-decoration: none;
}
a.pdf-link{
  display: inline-block;
  border: 1px solid #299eac;
  padding: 6px 15px 3px;
  border-radius: 10px;
  font-size: 1.8rem;
  margin: 20px 0;
  transition: all .4s;
}
a.pdf-link:before{
  content: '';
  display: inline-block;
  width: 32px;
  height: 32px;
  background: url(../img/common/icon_pdf.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
}
#with-you a.pdf-link:before{
  content: '';
  display: inline-block;
  width: 32px;
  height: 32px;
  background: url(../img/common/icon_pdf2.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
}
@media screen and (max-width: 980px) {
  body:not(.top) .content{
    padding: 0 10px;
  }
}
@media screen and (max-width: 768px) {
  section{
    margin: 0 20px;
  }
  section > h2{
    margin-left: -20px!important;
    margin-right: -20px!important;
  }
  a.pdf-link{
    font-size: 1.4rem;
    display: block;
    text-align: center;
  }
  p.font-size-lg{
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 480px) {
  body:not(.top) .content{
    padding-top: 0px;
  }
}


/* ----------------------------------
汎用クラス
---------------------------------- */
.negative-mt-5{
  margin-top: -5%!important;
}
.m0{margin: 0!important;}
.mb0{margin-bottom: 0!important;}
.pt0{padding-top: 0!important;}
.pb0{padding-bottom: 0!important;}
.mt10{margin-top: 10px!important;}
.mt10_mb10{margin: 10px auto!important;}
.mt20{margin-top: 20px!important;}
.mt30{margin-top: 30px!important;}
.mt40{margin-top: 40px!important;}
.mt50{margin-top: 50px!important;}
.mt100{margin-top: 100px!important;}
.align-center{text-align: center;}
.align-right{text-align: right!important;}
.bold {font-weight: bold;}
.bold_underline{
  font-weight: bold;
  border-bottom: 1px solid #5a5a5a;
}
/*画像サイズ*/
img.size-s{
  max-width: 400px;
  margin: 50px auto;
}
.image-left .size-s,
.image-right .size-s{
  margin: 0 auto;
}
img.size-variable{
  margin: 0 auto;
}
img.size-m{
  max-width: 680px;
  margin: 50px auto;
}
img.size-m.mt-mb-10{
  max-width: 680px;
  margin: 10px auto;
}
img.size-max{
  width: 100%;
  margin: 20px 0 0;
}
div.flex-wrapper,ul.flex-wrapper{
	display: flex;
}
ul.flex-wrapper > li:last-child{
  margin: 0 0 0 20px;
}
ul.flex-wrapper > li.flex-size-70{
  width: 70%;
}
ul.flex-wrapper .size-s{
  margin: 0 auto;
}
div.flex-wrapper > div h5:first-of-type{
  margin: 0 0 15px;
}
/*テキストサイズ*/
.sm-text{
  font-size: 1.2rem;
  margin: 10px 0 0;
}

/*　画像回り込み　*/
.image-right,.image-left{
  width: 310px;
}
.image-right.size-50,.image-left.size-50{
  width: 50%;
}
.image-right.size-50 img,.image-left.size-50 img{
  width: 100%;
}
.image-right:after,.image-left:after{
  content: "";
  clear: both;
  display: block;
}
.image-left{
  float: left;
  margin: 15px 15px 0 0;
}
.image-right{
  float: right;
  margin: 0 0 15px 15px;
}
p.notes{
	font-size: 1.2rem;
	margin-top: -15px;
}
p + p.notes{
	margin-top: 20px;
}
.border-box{
  font-size: 1.6rem;
  margin-bottom: 20px;
  padding: 30px;
  border-radius: 20px;
}

.sp-only{display: none;}

@media screen and (max-width: 980px) {
  br.pc-only{display: none;}
}
@media screen and (max-width: 768px) {
  .pc-only{display: none;}
  .sp-only{display: block;}

  .mt100{margin-top: 50px!important;}
  .align-center.sp-left{text-align: left;}
  img.size-variable{
    max-width: 400px;
    width: 100%!important;
  }
  .image-left,.image-right{
    display: block;
    width: 100%;
    float: none;
    text-align: center;
    margin: 10px 0;
  }
  .image-left img,.image-right img {
	margin: 0 auto;	
  }
  .image-right.size-50,.image-left.size-50{
    width: 100%;
  }
	div.flex-wrapper{display: block;}
	div.flex-wrapper img{
		margin: 20px auto 50px;
	}
  ul.flex-wrapper{
    flex-direction: column;
  }
  ul.flex-wrapper > li.flex-size-70{
    width: 100%;
  }
  ul.flex-wrapper.flex-image-left li{
    width: 100%;
  }
  ul.flex-wrapper.flex-image-left li:last-child{
    margin: 0;
  }
  ul.flex-wrapper.flex-image-left li:first-child{
    order: 2;
    margin: 20px 0;
  }
  ul.flex-wrapper > li:last-child{
    margin: 20px 0 0;
  }
  .border-box{
    padding: 20px;
  }
}



/* ----------------------------------
各見出し、共通
---------------------------------- */
section h2.type-1{
  font-size: 2.6rem;
  font-weight: 900;
  border: 2px solid #f1f1f1;
  text-align: center;
  padding: 20px;
  border-radius: 20px;
  margin: 60px 0 30px;
}
.movie-notes + section h2.type-1:first-of-type{
  margin: 30px 0;
}
.qa-h2{
  font-size: 2.4rem;
  font-weight: bold;
  margin: 50px 0 20px;
  text-align: left;
}
section h3.type-1{
	margin: 50px 0 20px;
	font-size: 2.2rem;
	letter-spacing: 0.1em;
	font-weight: normal;
  font-weight: 500;
}
section h4.type-1{
	margin: 30px 0 20px;
	font-size: 2.0rem;
	letter-spacing: 0.1em;
	font-weight: normal;
  font-weight: 500;
}
section h4.type-1.icon:before{
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  margin: 0 7px 0 0;
}
h3 + img.size-s,
h3 + img.size-m{
	margin-top: 0;
}
section p a{
	text-decoration: underline;
}
section p.notes + div{
	margin-top: 20px;
}
.point_title {
  font-size: 1.8rem;
  width: 26%;
  color: #ffbc3c;
  border: 2px solid #ffbc3c;
  padding: 5px 0;
  background: #fff6d4;
  text-align: center;
  margin: 30px 0 0;
}
.point_title + p{
  margin: 10px 0 0;
}

/* ----------------------------------
背景ありボックス
---------------------------------- */
.hem-bg-box {
  display: block;
  padding: 15px 30px;
  text-align: center;
  color: #fff;
  border: 2px solid #ffbc3c;
  background: #19c764;
  border-radius: 20px;
  box-shadow: 7.78px 7.78px 7.78px rgba(0, 0, 0, 0.10);
  transition: all .4s;
}
.hem-bg-box:hover {
  opacity: .7;
}
.hem-bg-box > p {
  font-size: 1.8rem;
  font-weight: bold;
}
.hem-bg-box > p > span {
  color: #fff;
  font-weight: bold;
  text-decoration: underline;
}
.under-line-title {
  display: inline;
  font-size: 2.4rem;
  font-weight: bold;
  padding-bottom: 2px;
  margin-bottom: 20px;
  border-bottom: 1px solid #fff;
}
@media screen and (max-width: 768px) {
  .hem-bg-box {
    padding: 10px;
  }
  .under-line-title {
    font-size: 1.8rem;
  }
  .hem-bg-box > p {
    font-size: 1.4rem;
  }
}


/* ----------------------------------
リスト
---------------------------------- */
.default-list li,
.number-list li{
  padding-left: 1em;
  text-indent: -1em;
  font-size: 1.6rem;
  line-height: 3rem;
}
.default-list li:not(:first-child),
.number-list li:not(:first-child){
  margin: 5px 0 0;
}
.default-list li:before{
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 6px;
  background: #000;
  margin: 0 10px 3px 0;
}
.default-list li .list-title{
  font-weight: bold;
  width: 100%;
}
.default-list li a{
  color: #333;
}
.number-list li{
  list-style-position:inside;
  list-style-type: decimal;
}
@media screen and (max-width: 768px) {
  .default-list li{
    font-size: 1.4rem;
  }
}

/* ----------------------------------
下層メインビジュアルエリア
---------------------------------- */
.main-v{
  background: #efefef;
  margin: 0 auto;
  position: relative;
}
.main-v:after{
  content: '';
  min-height: 22vw;
  border-top-right-radius: 2000px 300px;
  border-top-left-radius: 2000px 300px;
  margin-left: -200px;
  margin-right: -200px;
  padding-left: 200px;
  padding-right: 200px;
  background: #fff;
  display: block;
  position: absolute;
  bottom: -17.5vw;
  width: calc(100% + 400px);
  /* content: '';
  width: 100%;
  height: 5vw;
  max-height: 65px;
  display: block;
  background: url(../img/top/radius_bg.png)no-repeat center center / cover;
  position: absolute;
  bottom: 0;
  left: 0; */
}
.main-v svg{
  width: 55px;
  margin: 0 10px 0 0;
}
.main-v-inner{
  padding: 100px 20px 130px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  border-top: 1px solid #fff;
}
.main-v-title h1{
  color: #fff;
  font-size: 1.8rem; 
  text-align: center;
}
.main-v-title h1 span{
  font-size: 4.2rem;
  display: block;
}
.main-v-title h1 span.font-size-3rem{
  font-size: 3rem;
}
@media screen and (min-width: 1281px) {
  .main-v-inner{
    padding: 100px 20px 10vw;
  }  
}


/* ----------------------------------
PAGE TOP
---------------------------------- */
.page-top{
  position: fixed;
  right: 20px;
  width: 60px;
  bottom: 60px;
  z-index: 3;
  opacity: 0;
  visibility: hidden;
}
.page-top:hover{
  cursor: pointer;
}
.page-top.active{
  visibility: visible;
  animation: pagetop_fadeup .5s ease-in 0s forwards;
}
@keyframes pagetop_fadeup {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}



/* ----------------------------------
HEADER
---------------------------------- */
header.index{
  display: none;
}
header:not(.top-header){
  position: fixed;
  width: 100%;
  z-index: 10;
}
.current-header-wrap{
  margin: 0 auto;
  background: #fff;
}
.header-top{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin: 0 auto 10px;
  padding: 0 20px;
}
.header-top h1{
  width: 40%;
  margin: 0 auto 0 0;
}
.header-top h1 img{
  max-width: 460px;
}
.header-top > a{
  width: 245px;
  margin: 0 10px 10px 0;
}
/* g-nav */
.g-nav{
  display: flex;
  justify-content: space-between;
  position: relative;
}
.g-nav > li{
  width: 50%;
  /* width: 33.3333333%; */
}
.g-nav > li.sp-only{
  display: none;
}
.g-nav > li > a{
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 100%;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 900;
  padding: 18px 0;
  position: relative;
}
@media screen and (min-width: 981px) {
  .g-nav > li:hover a:after{
    display: none;
  }
  /* .g-nav > li.current a:after{
    content: '';
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 4px;
  } */
  .g-nav > li:hover > .d-level-2{
    display: flex!important;
    animation-name: fadedown;
    animation-duration: .4s;
    animation-fill-mode: forwards;
  }
}
@keyframes fadedown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeup {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* g-nav(1) */
.g-nav > li:nth-child(1){
  background: #19c764;
}

.g-nav > li:nth-child(1) .d-level-2{
  background: #19c764;
}
@media screen and (min-width: 981px) {
  .g-nav > li:nth-child(1).current > a:after{
    background: #04b24b;
  }
  .g-nav > li:nth-child(1) .d-level-2-default{
    background: #48e588;
  }
  .g-nav > li:nth-child(1) .d-level-2 > ul > li:hover{
    background: #48e588;
  }
  
  .page-current-to-you .g-nav > li:nth-child(1) > a:after{
    content: '';
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 4px;
    background: #04b24b;
    display: block;
  }
  .page-current-with-you .g-nav > li:nth-child(2) > a:after{
    content: '';
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 4px;
    background: #ffa24b;
    display: block;
  }
  /* .g-nav > li:nth-child(2).current > a:after{
    background: #fca321;
    display: none;
  } */
  .g-nav > li:nth-child(2) .d-level-2-default{
    background: #ffc776;
  }
  .g-nav > li:nth-child(2) .d-level-2 > ul > li:hover{
    background: #ffc776;
  }
}
.g-nav > li:nth-child(1) .d-level-3{
  background: #48e588;
}
.g-nav > li:nth-child(2){
  background: #ffbc3c;
}
.g-nav > li:nth-child(2) .d-level-2{
  background: #ffbc3c;
}
.g-nav > li:nth-child(2) .d-level-3{
  background: #ffc776;
}
.g-nav > li:nth-child(3){
  background: #fc1921;
}

.d-level-2{
  position: absolute;
  left: 0;
  width: 100%;
  /* min-height: 320px; */
  min-height: 414px;
  display: flex;
  display: none;
}
.d-level-2 img.menu-img-pc{
  width: 20%;
  padding: 20px;
  align-self: flex-start;
  max-width: 300px;
}
.d-level-2 img.menu-img-sp{
  display: none;
}
.d-level-2 > ul{
  width: 80%;
  position: relative;
  padding: 0 0 20px;
}
.d-level-2 > ul >li{
  display: flex;
}
.d-level-2 > ul >li:first-child{
  margin: 20px 0 0;
}
.d-level-2 > ul >li:not(:first-child) .d-level-3{
  display: none;
}
.d-level-2 > ul > li > a{
  display: block;
  width: 30%;
  /* width: 37.5%; */
  text-align: left;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 900;
  padding: 5px 20px;
}

@media screen and (min-width: 981px) {
  .d-level-2 > ul > li > a span{
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .d-level-2 > ul > li > a span:after{
    content: '';
    width: 10px;
    min-width: 10px;
    height: 10px;
    transform: rotate(45deg);
    display: block;
    margin: 0 0 0 20px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    transform: rotate(45deg);
  }
  .d-level-2 > ul > li:hover .d-level-3{
    display: block;
  }
}
.d-level-2 > ul > li .d-level-3 ul{
  opacity: 0;
  padding: 10px 0;
}
@media screen and (min-width: 981px) {
.d-level-2 > ul > li:hover .d-level-3 ul{
  animation-name: fadeup;
  animation-duration: .4s;
  animation-fill-mode: forwards;
}
}
.d-level-2-default .d-level-3{
  display: block;
}
.d-level-2-default .d-level-3 ul{
  animation-name: fadeup;
  animation-duration: .4s;
  animation-fill-mode: forwards;
}

.d-level-3{
  width: 70%;
  /* width: 62.5%; */
  padding: 20px 30px;
  position: absolute;
  top: 0;
  left: 30%;
  /* right: 0; */
  z-index: 2;
  height: 100%;
}
.d-level-3 > ul > li > a{
  display: block;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 900;
  padding: 5px 20px;
  transition: all .4s;
}
@media screen and (min-width: 981px) {
.d-level-3 > ul > li > a:hover{
  opacity: .6;
}
}


/* ----------------------------------
FOOTER
---------------------------------- */
.footer-wrap{
  border-top: 1px solid #ccc;
  max-width: 1280px;
  margin: 100px auto 0;
}
body.top .footer-wrap{
  border: none;
  margin: 100px auto 0;
}
footer{
  max-width: 1120px;
  margin: 100px auto 0;
}
body:not(.top) footer{
  margin: 50px auto 0;
}
.footer-top{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.footer-top .footer-contents{
  width: calc(50% - 20px);
  position: relative;
}
.footer-top .footer-contents a{
  font-size: 1.6rem;
  color: #000;
}
.footer-top .footer-contents a:hover{
  opacity: .5;
  text-decoration: underline;
}
.footer-top .footer-contents ul li{
  margin: 5px 0 0;
}
.footer-top .footer-contents ul li a:before{
  content: '-';
}
.footer-top .footer-contents-inner{
  padding: 0 20px;
}
.footer-top .footer-contents:nth-child(n+3){
  margin: 50px 0 0;
}
.parent-title{
  font-size: 2.4rem;
  font-weight: 900;
  color: #fff;
  border: 2px solid #fff;
  box-shadow: 7.78px 7.78px 7.78px rgb(0 0 0 / 10%);
  border-radius: 20px;
  padding: 5px 20px;
}
.page-title{
  font-weight: 900;
  margin: 40px 0 0;
}
/* type 1 */
.type-1 .parent-title{
  background: #19c764;
}
.type-1 .page-title a{
  color: #19c764;
}
/* type 2 */
.type-2 .parent-title{
  background: #ffbc3c;
}
.type-2 .page-title a{
  color: #ffbc3c;
}
/* type 3 */
.footer-top .type-3{
  min-width: 550px;
}
.type-3 .page-title a{
  color: #fc1921;
}
.type-3 .parent-title a {
  color: #fff;
  font-size: 2.4rem;
  font-weight: 900;
}
.type-3 .parent-title a:hover {
  text-decoration: none;
  opacity: 1;
}
.type-3 .parent-title-link a{
  font-size: 2.4rem;
  font-weight: 900;
  color: #fff;
  background: #fc1921;
  border: 2px solid #fff;
  box-shadow: 7.78px 7.78px 7.78px rgb(0 0 0 / 10%);
  border-radius: 20px;
  padding: 5px 20px;
  transition: .3s;
  display: block;
}
.type-3 .parent-title-link a:hover{
  text-decoration: none;
  opacity: .5;
}
.footer-contents a.btn-dwyw {
  display: inline-block;
  margin: 40px auto 0 0;
  padding: 9px 25px;
  background: #f2f4f8;
  border-radius: 15px;
  border: 1px solid #052b7c;
  color: #052b7c;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.15);
  transition: .3s;
}
.footer-contents a.btn-dwyw:hover {
  text-decoration: none;
}
.footer-bottom{
  border-top: 1px solid #6d6e71;
  margin: 80px 0 0;
  padding: 40px 0;
}
.footer-bottom ul{
  margin: 20px 0 0;
}
.footer-bottom ul li{
  display: inline-block;
  margin: 0 20px 0 0;
}
.footer-bottom ul li a{
  color: #000;
  font-size: 1.4rem;
  font-weight: 400;
}
.footer-bottom ul li a:hover{
  text-decoration: underline;
}
.copy{
  margin: 10px 0 0;
  text-align: right;
  display: block;
}

/* new */
.page-title a,
.footer-contents-inner ul li a {
  position: relative;
}
/* .page-title a.new-202212::after {
  content: url("../img/common/new-icon_202212.png");
  position: absolute;
  top: -45px;
  display: inline-block;
  transform: scale(0.5);
} */
/* .footer-contents-inner ul li a.new-202211_2::after {
  content: url("../img/common/new-icon_202211.png");
  position: absolute;
  top: -40px;
  right: -36%;
  margin: 0px 60px 0 0;
  transform: scale(0.5);
} */
/* .footer-contents-inner ul li a.new-202302::after {
  content: url("../img/common/new-icon_202302.png");
  position: absolute;
  top: -29px;
  right: -48%;
  margin: 0px 60px 0 0;
  transform: scale(0.5);
} */
.footer-contents-inner ul li a.new-202303::after {
  /* content: url("../img/common/new-icon_202408.png");
  position: absolute;
  top: -25px;
  right: 20%;
  margin: 0px 45px 0 0;
  transform: scale(0.5); */
}

@media screen and (max-width:1180px) {
  .footer-contents-inner ul li a.new-202303::after {
    top: -25px;
    right: 95px;
    margin: 0;
  }
}

@media screen and (max-width:1179px) {
  .footer-contents-inner ul li a.new-202303::after {
    top: -25px;
    right: 30px;
    margin: 0;
  }
}

@media screen and (max-width:860px) {
  /*  .footer-contents-inner ul li a.new-202211_2::after {
     top: 0;
     right: -80px;
     margin: 0;
   } */
  /*  .footer-contents-inner ul li a.new-202302::after {
     top: -33px;
     right: -74px;
     margin: 0;
   } */
  .footer-contents-inner ul li a.new-202303::after {
    top: -25px;
    right: -11%;
    margin: 0;
  }
}
@media screen and (max-width:769px) {
  /*  .footer-contents-inner ul li a.new-202211_2::after {
     top: 0;
     right: -80px;
     margin: 0;
   } */
  /*  .footer-contents-inner ul li a.new-202302::after {
     top: -33px;
     right: -74px;
     margin: 0;
   } */
  .footer-contents-inner ul li a.new-202303::after {
    top: -25px;
    right: 44%;
    margin: 0;
  }
}

.psychology-indent li a {
  display: flex;
  /* display:block;
  text-indent: -4.7em;
  padding-left:4.8em */
}
.psychology-indent li a span {
  white-space: nowrap;
}

@media screen and (max-width: 480px) {
  /*  .page-title a.new-202212::after {
    transform: scale(0.3);
    top: -40px;
    right: -80px;
  } */
 /*  .footer-contents-inner ul li a.new-202211_2::after {
    top: -10px;
    right: -80px;
    margin: 0;
    transform: scale(0.3);
  } */
 /*  .footer-contents-inner ul li a.new-202302::after {
    top: -35px;
    right: -62px;
    margin: 0;
    transform: scale(0.3);
  } */
  .footer-contents-inner ul li a.new-202303::after {
    top: -17px;
    right: -10px;
    margin: 0;
    transform: scale(0.5);
  }
}
@media screen and (max-width:391px) {
  .footer-contents-inner ul li a.new-202303::after {
    top: -28px;
    right: -10%;
    margin: 0;
  }
}
@media screen and (max-width:376px) {
  .footer-contents-inner ul li a.new-202303::after {
    top: -30px;
    right: -17%;
    margin: 0;
  }
}

/* footer br */
.br-pc {
  display: none;
}
.br-sp {
  display: none;
}
.br-tb{
  display: none;
}

@media screen and (min-width:820px) and (max-width:947px) {
  .br-pc {
    display:inline-block;
  }
}
@media screen and (min-width:600px) and (max-width: 947px) {
  .br-tb{
    display: block;
  }
}
@media screen and (max-width: 480px) {
  .br-sp {
    display:inline-block;
  }
}

/* ----------------------------------
バナー　「CSLベーリングの医薬品をお使いの患者さんへ」
---------------------------------- */
.product-link{
  display: block;
  background: #dadbdb;
  max-width: 1120px;
  margin: 100px auto;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  transition: all .4s;
}
.product-link:hover{
  opacity: .6;
}
.product-link:before{
  content: '';
  background: #fc1921;
  width: 50px;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: -35px;
  border-radius: 0 100% 100% 0;
}
.product-link-inner{
  display: flex;
}
.product-link-inner h2{
  color: #6d6e71;
  font-weight: 900;
  line-height: 1.4;
  width: 75%;
  font-size: 3rem;
  padding: 30px 30px 30px 60px;
}
.product-link-inner > span{
  background: #f0f0f1;
  width: 25%;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.4rem;
  color: #fc1921;
  font-weight: 500;
  position: relative;
}
.product-link-inner > span:before{
  content: '';
  background: #f0f0f1;
  width: 100px;
  height: 120%;
  display: block;
  position: absolute;
  left: -25px;
  border-radius: 50%;
}
.product-link-inner > span > span{
  position: relative;
  z-index: 2;
  margin: 0 0 0 -25px;
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.product-link-inner > span > span:after{
  content: '';
  border-top: solid 1px #fc1921;
  border-right: solid 1px #fc1921;
  width: 30px;
  height: 30px;
  transform: rotate(45deg);
  display: block;
  margin: 0 0 0 5px;
}
@media screen and (max-width: 768px) {
  .product-link:before{
    z-index: 2;
    width: 45px;
    height: 70%;
  }
  .product-link-inner {
    flex-direction: column;
  }
  .product-link-inner h2 {
    width: 100%;
    font-size: 4.5vw;
    padding: 3vw 15px 3vw 30px;
  }
  .product-link-inner > span {
    width: 100%;
    padding: 2vw 5vw;
    justify-content: flex-end;
    font-size: 3vw;
  }
  .product-link-inner > span:before,
  .product-link-inner > span > span br{
    display: none;
  }
  .product-link-inner > span > span:after {
    width: 2.1vw;
    height: 2.1vw;
    margin: 0 0 0 5px;
  }
}


/********************************************************************
レスポンシブ
/********************************************************************/
@media screen and (min-width: 1281px) {
  .page-top{
    right: calc((100% - 1300px) / 2);
  }
}
@media screen and (max-width: 1280px) {
  .header-top{
    padding: 0 10px;
  }
  .product-link{
    margin: 100px 20px;
  }

  /* ----------------------------------
  FOOTER
  ---------------------------------- */
  .footer-top{
    padding: 0 10px;
  }
  .footer-bottom{
    padding: 30px 10px;
  }
  /* .parent-title {
    font-size: 2.4vw;
  } */
}
@media screen and (min-width: 981px) {
  .sp-menu-trigger{
    display: none;
  }
  /* header.index .header-top{
    display: none;
  } */
}
@media screen and (max-width: 980px) {
  /* body{
    overflow-x:hidden;
  } */
  .hem_pt_wrap{
    overflow-x: hidden;
  }
  body.scroll-fixed{
    height: 100%;
    overflow: hidden;
  }
  /* ----------------------------------
  ページ別スタイル
  ---------------------------------- */
  /* 血友病を1から知りたいあなたへ (ディレクトリ：to_you配下) */
  #to-you .main-v{
    background-size: 300px;
  }

  /* ----------------------------------
  HEADER
  ---------------------------------- */
  header.index{
    display: block;
  }
  .top-header{
    /* padding-top: 67.18px; */
    padding-top: 75.95px;
  }
  .scroll-fixed header:not(.top-header){
    height: 100vh;
    overflow-y: scroll;
    overflow-x: hidden;
  }
  .header-top{
    position: fixed;
    z-index: 20;
    background: #fff;
    width: 100%;
    padding: 15px 15px 10px 10px;
    align-items: center;
    box-shadow : 7.78px 7.78px 7.78px rgba(0, 0, 0, 0.10);
  }
  .header-top h1{
    width: 270px;
  }
  .header-top > a{
    position: absolute;
    left: 175px;
    width: 100px;
    top: 10px;
  }
  header nav{
    overflow: hidden;
    width: 100%;
  }
  .g-nav{
    display: block;
    /* padding-top: 70.95px; */
    padding-top: 75.95px;
    background: #fff;
    height: 100vh;
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
    padding-bottom: 100px;
    width: 100%;
    max-width: 768px;
    position: absolute;
    right: -120%;
    transition: all 0.6s;
    overflow-y: scroll;
  }
  .sp-menu-bg{
    background: rgba(0,0,0,.4);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    display: none;
  }
  .g-nav.active{
    right: 0;
  }
  .g-nav > li{
    width: 100%;
  }
  .g-nav > li.sp-only{
    display: block;
  }  
  .g-nav > li:nth-child(1) > .d-level-2 > ul > li > a{
    /* background: #fff; */
    color: #fff;
  }
  .g-nav > li:nth-child(1) > .d-level-2 > ul > li{
    border-top: 1px solid #fff;
  }
  .g-nav > li:nth-child(1) > .d-level-2 > ul > li > a:after{
    border-bottom: solid 1px #fff;
    border-right: solid 1px #fff;
  }
  .g-nav > li:nth-child(2) > .d-level-2 > ul > li > a{
    color: #fff;
  }
  .g-nav > li:nth-child(2) > .d-level-2 > ul > li{
    border-top: 1px solid #fff;
  }
  .g-nav > li:nth-child(2) > .d-level-2 > ul > li > a:after{
    border-bottom: solid 1px #fff;
    border-right: solid 1px #fff;
  }
  .g-nav > li:nth-child(3) > .d-level-2 > ul > li > a{
    background: #fff;
    color: #fc1820;
  }
  .g-nav > li:nth-child(3) > .d-level-2 > ul > li:not(:first-child){
    border-top: 1px solid #fc1820;
  }
  .g-nav > li:nth-child(3) > .d-level-2 > ul > li > a:after{
    border-bottom: solid 1px #fc1820;
    border-right: solid 1px #fc1820;
  }
  .g-nav > li > a{
    justify-content: space-between;
    text-align: left;
    padding: 10px 20px;
    width: 100%;
    font-size: 1.6rem;
  }
  .g-nav > li.sp-menu-root > a:before,
  .g-nav > li.sp-menu-root > a:after{
    display: block;
    content: '';
    background-color: #fff;
    position: absolute;
    width: 15px;
    height: 1px;
    top: 50%;
    right: 0;
    transform: translate(-50%, -50%);
    margin: 0 10px 0 0;
  }
  .g-nav > li.sp-menu-root > a:before{
    width: 1px;
    height: 15px;
    right: 14px;
    transition: all .4s;
  }
  .g-nav > li.sp-menu-root > a.level-1-active:before{
    opacity: 0;
    transform: translateY(-10px); 
  }
  .d-level-2{
    display: none;
    width: 100%;
    position: static;
    min-height: auto!important;
  }
  .d-level-2 img.menu-img-pc{
    display: none;
  }
  .d-level-2 img.menu-img-sp{
    display: block;
    width: 95%;
    margin: 20px auto 20px;
  }
  .d-level-2 > ul{
    width: 100%;
    padding: 0;
  }
  .d-level-2 > ul >li{
    display: block;
  }
  .d-level-2 > ul > li > a:after{
    content: '';
    width: 10px;
    height: 10px;
    transform: rotate(45deg);
    display: block;
    margin: -5px 0 0 20px;
  }
  .d-level-2 > ul > li.sp-not-icon > a:after{
    display: none;
  }
  .d-level-2 > ul > li > a{
    width: 100%;
    padding: 10px 30px;
    font-size: 1.4rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  /* .d-level-2 > ul > li:not(.sp-not-icon) > a{
    pointer-events: none;
  } */
  .d-level-2 > ul >li:first-child{
    margin: 0;
  }
  .d-level-2 > ul > li .d-level-3 ul{
    opacity: 1;
  }
  .d-level-3,.d-level-2-default .d-level-3{
    width: 100%;
    position: static;
    padding: 0;
    display: none;
  }
  .d-level-3 ul li{
    padding: 5px 0;
  }
  .d-level-3 > ul > li > a{
    font-size: 1.4rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 33px 0 40px;
  }

  /*=============================
  .sp-menu-trigger
  =============================*/
  .sp-menu-trigger {
    position: relative;
    width: 30px;
    height: 27px;
    cursor: pointer;
    text-align: center;
    margin: -15px 0 0;
  }
  .sp-menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #009bec;
  }
  .sp-menu-trigger > div{
    position: absolute;
    bottom: -17px;
    color: #009bec;
    font-weight: 900;
  }
  .sp-menu-trigger, .sp-menu-trigger span {
    display: inline-block;
    transition: all .5s;
    box-sizing: border-box;
  }
  .sp-menu-trigger span:nth-of-type(1) {
    top: 0;
  }
  .sp-menu-trigger span:nth-of-type(2) {
    top: 11.5px;
  }
  .sp-menu-trigger span:nth-of-type(3) {
    bottom: 0;
  }
  .sp-menu-trigger.active span:nth-of-type(1) {
    transform: translateY(11px) rotate(-45deg);
  }
  .sp-menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
  }
  .sp-menu-trigger.active > div{
    left: -1px;
  }
  .sp-menu-trigger.active span:nth-of-type(3) {
    transform: translateY(-11.5px) rotate(45deg);
  }
  .d-level-2 > ul > .level-2-active > a:after{
    transform: rotate(225deg);
    transition: all .4s;
    margin: 0 0 0 20px;
  }

}
@media screen and (max-width: 768px) {
  p,dt,dd{
    font-size: 1.4rem;
    line-height: 2.4rem;
  }
  .sm-text {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  img.size-s,
  img.size-m{
    width: 100%;
  }
  /* ----------------------------------
  FOOTER
  ---------------------------------- */
  .main-v-title h1{
    /* font-size: 1.4rem;
    text-align: left; */
    font-size: 1.4rem;
    text-align: left;
    margin: 5px 0 0;
    font-weight: 900;
  }
  .main-v-title h1 span{
    font-size: 2.4rem;
    margin: 20px 0 0 -40px;
  }
  .main-v svg{
    min-width: 30px;
    width: 30px;
  }
  .main-v-inner{
    padding: 80px 20px 100px;
    justify-content: flex-start;
    align-items: flex-start;
  }
  section h2.type-1{
    font-size: 2.1rem;
    padding: 10px 15px;
  }
  .qa-h2{
    font-size: 2.1rem;
  }
  section h3.type-1{
    font-size: 1.8rem;
    margin: 30px 0 15px;
  }
	section h3{
		font-size: 1.8rem;
	}
  section h4.type-1{
    font-size: 1.8rem;
  }
  section h5.type-1{
    font-size: 1.8rem;
  }
  .point_title{
    font-size: 1.4rem;
    width: 100%;
    padding: 0;
  }
  .page-top{
    position: fixed;
    right: 10px;
    width: 50px;
    bottom: 20px;
  }
  footer{
    margin: 100px 0;
  }
  .footer-top .footer-contents,
  .footer-top .type-3{
    width: 100%;
    min-width: 100%;
  }
  .footer-top .footer-contents:nth-child(n+2),
  .footer-top .footer-contents:nth-child(n+3){
    margin: 50px 0 0;
  }
  .parent-title, .type-3 .parent-title-link a {
    font-size: 2rem;
  }
  .page-title {
    margin: 30px 0 0;
  }
  .footer-contents a.btn-dwyw {
    margin-top: 30px;
    padding: 8px 20px;
    min-height: 0;
  }
  .footer-bottom ul{
    margin: 10px 0 0;
  }
  .footer-bottom ul li{
    margin: 10px 20px 0 0;
  }
  .copy{
    text-align: left;
  }
  .type-3 .parent-title a {
    font-size: 2rem;
  }
}

@media screen and (max-width: 980px) {
  .g-nav .d-level-2 > ul > li {
    position: relative;
  }
  .g-nav .d-level-2 > ul > li > span.sp-menu-arrow {
    position: absolute;
    width: 42px;
    height: 42px;
    top: 0;
    right: 14px;
    z-index: 10;
    cursor: pointer;
  }
}

/* 231201 Myパートナー追加 footerバナー追加 */
.parent-title-link-banner {
  position: absolute;
  bottom: calc(100% + 50px);
  width: 100%;
  max-width: 370px;
}
.parent-title-link-banner a {
  display: block;
  position: relative;
  transition: 0.3s;
  filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.15));
  transform: translateZ(0);
}
.new-202312::after {
  content: url("../img/common/new-icon_202312.png");
  position: absolute;
  top: -50px;
  right: -50px;
  display: inline-block;
  transform: scale(0.5);
}
@media screen and (max-width: 768px) {
  .parent-title-link-banner {
    position: initial;
    margin-bottom: 40px;
  }
  .new-202312::after {right: -20px;}
}

/* 231225 */
.footer-top .footer-contents a {
  width: fit-content;
  word-break: auto-phrase;
}
.footer-contents-inner ul li a.new-202303 {
  padding-right: 45px;
}
.footer-contents-inner ul li a.new-202303::after {
  right: inherit !important;
  left: calc(100% - 60px) !important;
}