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

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

html{
  scroll-behavior: smooth;
  scroll-padding-top: 93px;
}


/* --- scroll_rock --- */
.scroll_rock.active{
  overflow: hidden;
}


/* ---------- bg ---------- */
.bg_fix{
  width: 100%;
  height: 12px;
  background: linear-gradient(90deg,
    var(--color-main1) 85%,
    var(--color-key1) 10% 95%,
    var(--color-key2) 5%);
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 9990;
}


/* ---------- header ---------- */
header{
  width: 1260px;
  margin: 0 auto;
  padding: 16px 10px;
  background: transparent;
}

.header__wrap{
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header__logo{
  width: 440px;
  height: 32px;
}
.header__logo img{
  width: 100%;
  height: auto;
}

.header__sitemap{
  font-size: 14px;
  text-align: right;
}
.header__sitemap a{
  text-decoration: underline;
}
.header__sitemap a:hover{
  text-decoration: none;
}

.header__ge{
  font-size: 12px;
}


/* ---------- main ---------- */
main{
  padding-bottom: 120px;
  border-bottom: 1px solid #DDDDDD;
}
main.fixed{
  padding-top: 73px;
}

.main__wrap{
  width: 1260px;
  margin: 0 auto;
  padding: 0 10px;
}


/* ---------- list ---------- */
/* --- パンくず --- */
.breadcrumbs__list{
  width: 1260px;
  margin: 32px auto 0;
  padding: 0 10px;
  display: flex;
  justify-content: flex-end;

  li{
    display: inline;
    font-size: 12px;
    color: var(--color-main1);
  }

  li::after{
    content: '－';
    display: inline-block;
    width: 8px;
    margin: 0 8px;
    color: #999999;
  }

  li:last-child:after{
    display: none;
  }


  li a{
    text-decoration: underline;
  }

  li a:hover{
    text-decoration: none;
  }

  li.home a{
    color: #999999;
  }
}


/* --- 注釈リスト --- */
.list__note1{
  text-indent: -1em;
  padding-left: 1em;
}
.list__note1_5{
  text-indent: -1.5em;
  padding-left: 1.5em;
}
.list__note2{
  text-indent: -2em;
  padding-left: 2em;
}

/* --- ulリスト --- */
.list__ul1{
  list-style: none;
}
.list__ul1 li{
  margin-bottom: 24px;
  padding-left: 18px;
  position: relative;
}
.list__ul1 li::before{
  display: inline-block;
  content: "";
  width: 14px;
  height: 14px;
  background: url(/asset/image/common_parts/list_mark01_w18.png) 0 0 no-repeat;
  background-size: 14px auto;
  position: absolute;
  top: 0.5em;
  left: 0;
}
.list__ul1 li:last-child{
  margin-bottom: 0;
}

/* テキスト中黒 */
.list__note{
  list-style: none;
}
.list__note li{
  margin-bottom: 4px;
  padding-left: 1em;
  position: relative;
}
.list__note li::before{
  display: inline-block;
  content: "・";
  width: 1em;
  height: 1em;
  position: absolute;
  top: 0;
  left: 0;
}
.list__note li:last-child{
  margin-bottom: 0;
}


/* --- olリスト --- */
.list__ol1{ /* 括弧付き 1) 2) */
  list-style: none;
  text-indent: -1.5em;
  padding-left: 1.5em;
}



/* ---------- heading ---------- */
.h1_wrap{
  width: 100%;
  margin: 0 0 96px;
  padding: 26px 10px 64px;
  border-bottom: 1px solid #DDDDDD;
}

h1{
  width: 1240px;
  margin: 0 auto;
  padding-left: 72px;
  font-size: 48px;
  font-weight: bold;
  line-height: calc(48/24);
  color: var(--color-main1);
  position: relative;
}
h1::before{
  display: inline-block;
  content: "";
  width: 50px;
  height: 50px;
  margin: 0 16px 0 8px;
  position: absolute;
  top: 20px;
  left: 0;
}
h1 sup{
  top: -0.1em;
  font-size: 80%;
}

.h1__clr1 h1::before{
  background: url(/asset/image/common_parts/heading_mark01.png) 0 0 no-repeat;
  background-size: 50px auto;
}
.h1__clr2 h1::before{
  background: url(/asset/image/common_parts/heading_mark02.png) 0 0 no-repeat;
  background-size: 50px auto;
}
.h1__clr3 h1::before{
  background: url(/asset/image/common_parts/heading_mark03.png) 0 0 no-repeat;
  background-size: 50px auto;
}

.sec__col2--cont h2{
  width: 100%;
  margin-bottom: 40px;
  padding: 20px 32px 16px;
  background: var(--color-main1);
  border-radius: 12px;
  font-size: 32px;
  font-weight: bold;
  line-height: calc(48/32);
  color: #ffffff;
}
section + h2{
  margin-top: 80px;
}

.sec__col1 h2,
.sec__col2--cont h3{
  width: 100%;
  margin-bottom: 32px;
  padding: 32px 0 0 0;
  background: url(/asset/image/common_parts/heading_line01.png) 0 top repeat-x;
  background-size: auto 12px;
  font-size: 28px;
  font-weight: bold;
  line-height: calc(42/28);
  color: var(--color-main1);
}
.sec__col2--cont h3 span.lead{
  font-size: 24px;
}

.sec__col2--cont h4{
  width: 100%;
  margin-bottom: 20px;
  padding: 0 0 0 18px;
  border-left: 6px solid var(--color-main1);
  font-size: 28px;
  font-weight: bold;
  line-height: calc(32/28);
  color: var(--color-main1);
}


/* ---------- テキスト ---------- */
.lead{
  margin-bottom: 40px;
  font-size: 32px;
  line-height: calc(48/32);
  font-weight: bold;
  color: var(--color-main1);
}

.txt__sankou{
  font-size: 14px;
  line-height: calc(21/14);
  word-break: break-all;
}
div + .txt__sankou{
  margin-top: 16px;
}



/* ---------- box 小規模コンテンツ ---------- */
/* 装飾無し */
.box__img00{
  width: 100%;
  margin: 0 auto 40px;
  padding: 0;
  text-align: center;
}

/* 水色背景 */
.box__img01{
  width: 100%;
  margin-bottom: 24px;
  padding: 0 24px 24px;
  background: #F0F6FF;
  border-radius: 16px;
  text-align: center;
}

/* 点線ボーダー */
.box__img02{
  width: 100%;
  padding: 32px;
  margin-bottom: 40px;
  border: 2px dotted #2D4A71;
  border-radius: 16px;
  text-align: center;
}

/* box__col2 */
.box__col2{
  width: 100%;
  display: flex;
}
.box__col2 .col_right{
  margin-left: 24px;
  flex-shrink: 0;
}

/* 点線ボーダー */
.box__img03{
  padding: 24px;
  border: 1px solid #222222;
}


/* ---------- Area 中規模コンテンツ ---------- */




/* ---------- section ---------- */
section + section{ margin-top: 56px;}

section p{
  margin-bottom: 40px;
}

section p:last-of-type,
section div:last-of-type{
  margin-bottom: 0;
}

section p:last-of-type + ul,
section p:last-of-type + div{
  margin-top: 40px;
}


/* ---------- section column ---------- */
/* 左メニューなし */
section.sec__col1{
  width: 1000px;
  margin: 0 120px 0;
}

/* 左メニューあり */
.wrap__col{
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between  
}
.wrap__col .sec__col2--menu{
  width: 200px;
  height: 128px;
  position: sticky;
  top: 128px;
  left: 0;
}
.a_i_features .wrap__col .sec__col2--menu,
.a_i_evaluation-of-efficacy .wrap__col .sec__col2--menu,
.a_i_how-to-take .wrap__col .sec__col2--menu{
  height: 200px !important;
}
.usage_side_effect .wrap__col .sec__col2--menu,
.usage_mindset-in-daily-life .wrap__col .sec__col2--menu{
  height: 152px !important;  
}


.wrap__col .sec__col2--cont{
  width: 960px;
}

/* 左メニュー */
.wrap__col .sec__col2--menu li + li{
  margin-top: 16px;
}
.wrap__col .sec__col2--menu li a{
  display: block;
  padding: 16px 20px 12px;
  background: #ffffff;
  border: 2px solid var(--color-main1);
  border-radius: 12px;
  font-size: 18px;
  font-weight: bold;
  line-height: calc(24/18);
  color: var(--color-main1);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.wrap__col .sec__col2--menu li a::after{
  display: inline-block;
  content: "";
  width: 10px;
  height: 12px;
  background: url(/asset/image/common_parts/icon_arrow_01_w10.png) 0 0 no-repeat;
  background-size: 10px auto;
}

.wrap__col .sec__col2--menu li a.current,
.wrap__col .sec__col2--menu li a:hover{
  background: var(--color-main1);
  color: #ffffff;
}
.wrap__col .sec__col2--menu li a.current::after,
.wrap__col .sec__col2--menu li a:hover:after{
  background: url(/asset/image/common_parts/icon_arrow_01_wt_w10.png) 0 0 no-repeat;
  background-size: 10px auto;
}
  

/* --------------------
   bnrArea__kansen
----------------------- */
.bnrArea__kansen{
  width: 1020px;
  margin: 56px auto 0;
  padding: 0 10px 40px;
  border-bottom: 1px solid #DDDDDD;
  display: flex;
  align-items: center;
}

.bnrArea__kansen a:hover{
  opacity: 0.8;
}

.bnrArea__kansen .img{
  margin-right: 24px;
  flex-shrink: 0;
}
.bnrArea__kansen .txt{
  font-size: 14px;
  line-height: calc(24.5/14);
}


/* --------------------
   個別parts
----------------------- */
/* ---------- /index.html ---------- */
.ico_top header{
  padding: 26px 10px 24px;
}

.ico_top .header__logo h1{
  width: 440px;
  height: 32px;
  margin: 0;
  padding: 0;
  font-size: 32px;
  line-height: 1;
  position: unset;
}
.ico_top .header__logo h1::before{
  display: none;
}

.ico_top main{
  padding-top: 80px;
  border-top: 1px solid #DDDDDD;
}
.ico_top .main__wrap{
  width: 1020px;
  margin: 0 auto;
  padding: 0 10px;
}

.ico_top .top__lead{
  margin-bottom: 64px;
}

/* comfirmArea */
.ico_top .comfirmArea{
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}

.ico_top .comfirmArea .comfirm__box{
  width: 460px;
}

.ico_top .comfirmArea h2{
  padding: 20px 0 16px;
  border-radius: 16px 16px 0 0;
  font-size: 24px;
  font-weight: bold;
  line-height: calc(36/24);
  color: #ffffff;
  text-align: center;
}
.ico_top .comfirmArea .for-family h2{ background: var(--color-main1);}
.ico_top .comfirmArea .for-doctor h2 { background: var(--color-key2);}

.ico_top .comfirmArea .confirm__cont{
  height: 310px;
  border-radius: 0 0 16px 16px;
}

.ico_top .comfirmArea .for-family .confirm__cont{
  padding: 40px 40px 0;
  background: #F0F6FF;
}

.ico_top .comfirmArea .for-doctor .confirm__cont{
  background: #F6F3F8;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.ico_top .comfirmArea .for-doctor .confirm__cont p{
  margin-bottom: 32px;
}

/* btn */
.ico_top .btn01{
  margin-top: 20px;
  display: flex;
  justify-content: space-between;

  li a,
  li span{
    display: block;
    width: 180px;
    padding: 24px 20px;
    border: 3px solid var(--color-main1);
    border-radius: 12px;
    font-size: 18px;
    font-weight: bold;
    line-height: calc(24/18);
    cursor: pointer;
  }
  li a{
    background-color: #ffffff;
    background-image: url(/asset/image/common_parts/icon_arrow_01_w10.png);
    background-position: right 20px top 50%;
    background-repeat: no-repeat;
    background-size: 10px auto;
    color: var(--color-main1);
  }
  li span{
    background: var(--color-main1);
    background-image: url(/asset/image/common_parts/icon_arrow_01_wt_w10.png);
    background-position: right 20px top 50%;
    background-repeat: no-repeat;
    background-size: 10px auto;
    color: #ffffff;
  }

  li a:hover,
  li span:hover{
    transition: .3s ease;
  }
  li a:hover{
    background: var(--color-main1);
    background-image: url(/asset/image/common_parts/icon_arrow_01_wt_w10.png);
    background-position: right 20px top 50%;
    background-repeat: no-repeat;
    background-size: 10px auto;

    color: #ffffff;
  }
  li span:hover{
    background: #ffffff;
    background-image: url(/asset/image/common_parts/icon_arrow_01_w10.png);
    background-position: right 20px top 50%;
    background-repeat: no-repeat;
    background-size: 10px auto;
    color: var(--color-main1);
  }

  li p{
    font-size: 13px;
    line-height: calc(28/13);
    text-align: center;
  }
}

.ico_top .btn02 a:hover{
  opacity: 0.7;
  transition: .3s ease;
}


/* ---------- /pts/index.html ---------- */
.pts_index .header__cont{
  position: relative;
  z-index: 21;
}

.pts_index .pts_index__wrap{
  margin-top: 800px;
  padding-top: 64px;
  position: relative;
  z-index: 12;
  background-color: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
}

.pts_index main{
  padding-bottom: 0;
  border-bottom: none;
}
.pts_index main.fixed{
  padding-top: 0;
}

.pts_index .lead{
  margin-bottom: 40px;
  font-size: 18px;
  font-weight: bold;
  line-height: calc(36/18);
  text-align: center;
  color: #222222;
}

.pts_index .sec__menu{
  width: 776px;
  margin: 0 auto 56px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.pts_index .sec__menu li{
  width: 226px;
  height: 226px;
  
}
.pts_index .sec__menu li a{
  width: 226px;
  height: 226px;
  padding-top: 38px;
  background-color: #F7FAFD;
  background-image: url(/asset/image/common_parts/icon_arrow_02_w14.png);
  background-position: left 50% bottom 17px;
  background-repeat: no-repeat;
  background-size: 14px auto;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.24);
  border: 6px solid #849BBF;
  border-radius: 50%;
  font-size: 18px;
  font-weight: bold;
  line-height: calc(22.5/18);
  color: var(--color-main1);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
.pts_index .sec__menu li a:hover{
  background-color: #dae6f9;
  box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
  transform: translateY(8px);
}

.pts_index .sec__menu li:nth-child(1),
.pts_index .sec__menu li:nth-child(2),
.pts_index .sec__menu li:nth-child(3){
  margin-bottom: 32px;
}

.pts_index .sec__menu li:nth-child(1) a{
  border: 6px solid #849BBF;
}
.pts_index .sec__menu li:nth-child(2) a,
.pts_index .sec__menu li:nth-child(3) a,
.pts_index .sec__menu li:nth-child(4) a{
  border: 6px solid #AF98BF;
}
.pts_index .sec__menu li:nth-child(5) a,
.pts_index .sec__menu li:nth-child(6) a{
  border: 6px solid #FED960;
}

.pts_index .sec__menu li a::before{
  display: inline-block;
  content: "";
  width: 72px;
  height: 72px;
  flex-shrink: 0;
}
.pts_index .sec__menu li:nth-child(1) a:before{
  margin-bottom: 25px;
  background: url(/asset/image/pts/index/menu01.png) 0 0 no-repeat;
  background-size: 72px auto;
}
.pts_index .sec__menu li:nth-child(2) a:before{
  margin-bottom: 25px;
  background: url(/asset/image/pts/index/menu02.png) 0 0 no-repeat;
  background-size: 72px auto;
}
.pts_index .sec__menu li:nth-child(3) a:before{
  margin-bottom: 16px;
  background: url(/asset/image/pts/index/menu03.png) 0 0 no-repeat;
  background-size: 72px auto;
}
.pts_index .sec__menu li:nth-child(4) a:before{
  margin-bottom: 25px;
  background: url(/asset/image/pts/index/menu04.png) 0 0 no-repeat;
  background-size: 72px auto;
}
.pts_index .sec__menu li:nth-child(5) a:before{
  margin-bottom: 25px;
  background: url(/asset/image/pts/index/menu05.png) 0 0 no-repeat;
  background-size: 72px auto;
}
.pts_index .sec__menu li:nth-child(6) a:before{
  margin-bottom: 16px;
  background: url(/asset/image/pts/index/menu06.png) 0 0 no-repeat;
  background-size: 72px auto;
}

.pts_index .sec__menu li a:hover{
  opacity: 0.7;
  transition: .3s ease;
}

.pts_index h2{
  margin-bottom: 16px;
  font-size: 32px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  color: var(--color-main1);
}

.pts_index .sec__info{
  width: 1000px;
  padding: 24px 12px;
  margin: 0 auto;
  background: url(/asset/image/pts/index/info_bg.png) 0 bottom no-repeat;
  background-size: auto 1px;
  font-size: 16px;
  line-height: calc(24/16);
  color: var(--color-main1);
  display: flex;
  align-items: center;
}
.pts_index .sec__info:first-of-type{
  background: url(/asset/image/pts/index/info_bg.png) 0 top no-repeat, url(/asset/image/pts/index/info_bg.png) 0 bottom no-repeat;
  background-size: auto 1px, auto 1px;
}
.pts_index .sec__info dt{
  margin-right: 32px;
  font-weight: normal;
}

.pts_index .sec__info a{
  position: relative;
}
.pts_index .sec__info a::after{
  display: inline-block;
  content: "";
  width: 100%;
  border-top: 1px solid var(--color-main1);
  position: absolute;
  left: 0;
  bottom: 3px;
}
.pts_index .sec__info a:hover:after{
  display: none;
}


/* kvArea */
.pts_index .kvArea{
  width: 100%;
  min-width: 1174px;
  height: 884px;
  position: fixed;
  top: 0;
  left: 0;
}
.pts_index .kvArea{
  background: url(/asset/image/pts/index/kv_bg02.png) 50% bottom repeat-x;
  background-size: 1440px auto;
}
.pts_index .kv_wrap{
  width: 1174px;
  height: 810px;
  margin: 0 auto;
  position: relative;
}
.pts_index .kv_item0{
  display: inline-block;
  width: 980px;
  height: 614px;
  background: url(/asset/image/pts/index/kv_bg01.png) 50% top no-repeat;
  background-size: 980px auto;
  position: absolute;
  top: -104px;
  left: calc(50% - 475px);
  z-index: 20;
}

.pts_index .item1{
  display: inline-block;
  width: 251px;
  height: 259px;
  position: absolute;
  top: 290px;
  left: 0;
  z-index: 10;
}
.pts_index .item1 img{ width: 251px;}

.pts_index .item2{
  display: inline-block;
  width: 194px;
  height: 198px;
  position: absolute;
  top: 268px;
  left: 300px;
  z-index: 10;
}
.pts_index .item2 img{ width: 194px;}

.pts_index .item3{
  display: inline-block;
  width: 167px;
  height: 154px;
  position: absolute;
  top: 508px;
  left: 315px;
  z-index: 10;
}
.pts_index .item3 img{ width: 167px;}

.pts_index .item4{
  display: inline-block;
  width: 208px;
  height: 208px;
  position: absolute;
  top: 293px;
  left: 538px;
  z-index: 10;
}
.pts_index .item4 img{ width: 208px;}

.pts_index .item5{
  display: inline-block;
  width: 350px;
  height: 350px;
  position: absolute;
  top: 446px;
  right: 139px;
  z-index: 10;
}
.pts_index .item5 img{ width: 350px;}

.pts_index .item6{
  display: inline-block;
  width: 177px;
  height: 186px;
  position: absolute;
  top: 340px;
  right: 0;
  z-index: 10;
}
.pts_index .item6 img{ width: 177px;}


.pts_index .kv_item.color::before{
  opacity: 0;
  transition: opacity 0.8s ease;
}

.pts_index .item1::before{
  display: inline-block;
  content: "";
  width: 251px;
  height: 259px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  background: url(/asset/image/pts/index/kv_item01_g.png) 0 0 no-repeat;
  background-size: 251px auto;
}

.pts_index .item2::before{
  display: inline-block;
  content: "";
  width: 194px;
  height: 198px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  background: url(/asset/image/pts/index/kv_item02_g.png) 0 0 no-repeat;
  background-size: 194px auto;
}
.pts_index .item3::before{
  display: inline-block;
  content: "";
  width: 167px;
  height: 154px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  background: url(/asset/image/pts/index/kv_item03_g.png) 0 0 no-repeat;
  background-size: 167px auto;
}
.pts_index .item4::before{
  display: inline-block;
  content: "";
  width: 208px;
  height: 208px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  background: url(/asset/image/pts/index/kv_item04_g.png) 0 0 no-repeat;
  background-size: 208px auto;
}
.pts_index .item5::before{
  display: inline-block;
  content: "";
  width: 350px;
  height: 350px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  background: url(/asset/image/pts/index/kv_item05_g.png) 0 0 no-repeat;
  background-size: 350px auto;
}
.pts_index .item6::before{
  display: inline-block;
  content: "";
  width: 177px;
  height: 186px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  background: url(/asset/image/pts/index/kv_item06_g.png) 0 0 no-repeat;
  background-size: 177px auto;
}

.pts_index .swing{
  animation: animation_swing 4s ease-in-out;
}
@keyframes animation_swing {
  0% {
    transform: rotateY(0deg);
  }
  30% {
    transform: rotateY(35deg);
  }
  70% {
    transform: rotateY(-35deg);
  }
  100% {
    transform: rotateY(0deg);
  }
}


/* ---------- /pts/target/index.html ---------- */
.target_index .txt__nama{
  text-align: right;
}
.target_index .txt__nama span{
  margin-right: 1em;
  font-size: 24px;
  font-weight: bold;
}

.target_index .box__img01{
  padding-bottom: 40px;
}
.target_index .box__img01 .img{
  width: 707px;
  margin: 0 auto;
}

.target_index .box__img03{
  font-size: 14px;
  line-height: calc(21/14);
  text-align: left;
}
.target_index .list__glossary{
  margin-left: 1em;
  display: flex;
}
.target_index .list__glossary dt{
  font-weight: normal;
  flex-shrink: 0;
}


/* ---------- /pts/about_disease/treatment.html ---------- */
.a_d_treatment .img02{
  font-size: 14px;
  line-height: calc(21/14);
  text-align: left !important;
}
.a_d_treatment .img02 .img{
  width: 896px;
  margin: 0 auto 16px;
}

.a_d_treatment .img02 .list__note2{
  font-size: 14px;
}

.a_d_treatment .txt__sankou{
  margin-top: 40px;
}


/* ---------- /pts/about_icotyde/配下共通 ---------- */
.box__point--about_icotyde{
  width: 100%;
  padding: 32px;
  background: #F0F6FF;
  border-radius: 16px;
  display: flex;
  align-items: center;
}
.box__point--about_icotyde .icon{
  margin-right: 16px;
  flex-shrink: 0;
}
.box__point--about_icotyde .txt dt{
  margin-bottom: 8px;
  font-size: 20px;
  font-weight: bold;
  line-height: calc(32/20);
  color: var(--color-main1);
}


/* ---------- /pts/about_icotyde/features.html ---------- */


/* ----------/pts/about_icotyde/how-to-take.html ---------- */
.a_i_how-to-take .img01{
  margin-bottom: 48px;
  display: flex;
  justify-content: center;
}

.a_i_how-to-take .img03{
  margin-top: 24px;
}

.a_i_how-to-take ol{
  margin-bottom: 24px;
}
.a_i_how-to-take ol li{
  padding-left: 1.3em;
  text-indent: -1.3em;
  font-size: 18px;
  font-weight: bold;
  line-height: calc(28/18);
}
.a_i_how-to-take ol li + li{
  margin-top: 16px;
}
.a_i_how-to-take section p:last-of-type + ol{
  margin-top: 24px;
}


/* /pts/usage/side_effect.html */
.usage_side_effect .box__col2{
  margin-bottom: 56px;
}
.usage_side_effect .box__col2:last-child{
  margin-bottom: 0;
}



/* /pts/usage/mindset-in-daily-life.html */
.usage_mindset-in-daily-life .box__col2{
  align-items: stretch;
}
.usage_mindset-in-daily-life .box__col2 + .box__col2{
  margin-top: 24px;
}

.usage_mindset-in-daily-life .box__img01{
  width: 468px;
  margin-bottom: 0;
  padding: 32px;
  text-align: left;
}

.usage_mindset-in-daily-life .box__wrap{
  display: flex;
}

.usage_mindset-in-daily-life .box__wrap dt{
  margin-bottom: 16px;
  font-size: 24px;
  font-weight: bold;
  line-height: calc(48/24);
  color: var(--color-main1);
}

.usage_mindset-in-daily-life .box__wrap .img{
  margin-left: 16px;
  flex-shrink: 0;
}

.usage_mindset-in-daily-life .box__img01 .list__note1{
  width: 194px;
  margin-top: 8px;
  font-size: 14px;
  line-height: calc(21/14);
  letter-spacing: 0.02em;
}


/* ---------- /pts/faq/index.html ---------- */
.faq_index .box__faq{
  width: 100%;
  padding: 40px;
  background: #F0F6FF;
  border-radius: 16px;
}

.faq_index .box__faq + .box__faq{
  margin-top: 24px;
}

.faq_index .box__faq dt{
  margin-bottom: 16px;
  padding-top: 0.25em;
  font-size: 18px;
  font-weight: bold;
  line-height: calc(31.5/18);
  color: #222222;
  display: flex;
}
.faq_index .box__faq dd{
  padding-top: 0.25em;
  display: flex;
}

.faq_index .box__faq dt::before{
  display: inline-block;
  content: "";
  width: 40px;
  height: 40px;
  margin-top: -0.25em;
  margin-right: 16px;
  flex-shrink: 0;

  background: url(/asset/image/pts/faq/list_mark_qa01.png) 0 0 no-repeat;
  background-size: 40px auto;
}
.faq_index .box__faq dd::before{
  display: inline-block;
  content: "";
  width: 40px;
  height: 40px;
  margin-top: -0.25em;
  margin-right: 16px;
  flex-shrink: 0;
  background: url(/asset/image/pts/faq/list_mark_qa02.png) 0 0 no-repeat;
  background-size: 40px auto;
}

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


/* ---------- /pts/medical-expense-ubsidy-system/index.html ---------- */
.m-e-u-s_index .txt__lead{
  margin-bottom: 56px;
}

.m-e-u-s_index .table__keigen{
  margin-bottom: 56px;

  table, td, th{
    border: 1px solid #DDDDDD;
    border-collapse: collapse;
  }
  th, td{
    padding: 22px 24px;
  }
  th{
    width: 136px;
    background: var(--color-main1);
    font-weight: bold;
    color: #ffffff;
    text-align: center;
    vertical-align: middle;
  }
  td.td__ptn1{
    width: 264px;
    background: var(--color-key2);
    font-weight: bold;
    color: #ffffff;
    vertical-align: middle;
  }
}

.m-e-u-s_index .img01{
  margin-bottom: 24px;
}


/* ---------- /pts/sitemap/index.html ---------- */
.sitemap_index .box__col2 div:last-child{
  margin-left: 80px;
}

.sitemap_index .link__sitemap{
  width: 460px;
}

.sitemap_index .link__sitemap li{
  border-bottom: 1px solid #DDDDDD;
}
.sitemap_index .link__sitemap li:first-child{
  border-top: 1px solid #DDDDDD;
}

.sitemap_index .link__sitemap li a{
  display: block;
  width: 100%;
  padding: 24px 0;
  font-size: 18px;
  font-weight: bold;
  line-height: calc(24/18);
  color: var(--color-main1);
  background: url(/asset/image/common_parts/icon_arrow_01_w10.png) right 50% no-repeat;
  background-size: 10px auto;
}
.sitemap_index .link__sitemap li a:hover{
  opacity: 0.7;
}
.sitemap_index .link__sitemap li.second_layer a{
  padding: 24px 0 20px;
}
.sitemap_index .link__sitemap li.second_layer ul li{
  padding-left: 1em;
  border: none;
}
.sitemap_index .link__sitemap li.second_layer ul li a{
  padding: 0 0 20px;
  font-weight: normal;
  background: url(/asset/image/common_parts/icon_arrow_01_w10.png) right 5px no-repeat;
  background-size: 10px auto;
}
.sitemap_index .link__sitemap li.second_layer ul li:last-child a{
  padding-bottom: 24px;
}

.sitemap_index .link__sitemap a.nolink{
  background: none;
}
.sitemap_index .link__sitemap a.nolink:hover{
  opacity: 1;
}


/* ---------- /pts/404.html ---------- */
.notfoud .txt__notice{
  font-size: 32px;
  font-weight: bold;
  line-height: calc(48/32);
  color: var(--color-main1);
}

.notfoud .link__box a{
  width: 200px;
  height: 55px;
  padding: 0 20px;
  border: 2px solid var(--color-main1);
  border-radius: 16px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  color: var(--color-main1);
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: .3s ease;
}
.notfoud .link__box a::after{
  display: inline-block;
  content: "";
  width: 10px;
  height: 12px;
  background: url(/asset/image/common_parts/icon_arrow_01_w10.png) 0 0 no-repeat;
  background-size: 10px auto;
}
.notfoud .link__box a:hover{
  background: var(--color-main1);
  color: #ffffff;
  transition: .3s ease;
}
.notfoud .link__box a:hover:after{
  background: url(/asset/image/common_parts/icon_arrow_01_wt_w10.png) 0 0 no-repeat;
  background-size: 10px auto;
}


/* --------------------
   modalArea
----------------------- */
/* --- common --- */
.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-color: rgba(0, 0, 0, 0.8);
}

/* --- 外部リンク --- */
.modalArea .external_link{
  width: 460px;
  padding: 40px;
  background: #F0F6FF;
  border: 1px solid #849BBF;
  border-radius: 16px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.modalArea .external_link p{
  margin-bottom: 40px;
}
.modalArea .external_link .btn{
  width: 378px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.modalArea .external_link .btn li{
  width: 180px;
  text-align: center;
}
.modalArea .external_link .btn li a{
  display: block;
  width: 100%;
  padding: 24px 20px;
  background-color: #ffffff;
  background-image: url(/asset/image/common_parts/icon_arrow_01_w10.png);
  background-position: right 20px top 50%;
  background-repeat: no-repeat;
  background-size: 10px auto;
  border: 3px solid var(--color-main1);
  border-radius: 12px;
  font-size: 18px;
  font-weight: bold;
  line-height: calc(24/18);
  color: var(--color-main1);
}
.modalArea .external_link .btn li a:hover{
  transition: .3s ease;
  background: var(--color-main1);
  background-image: url(/asset/image/common_parts/icon_arrow_01_wt_w10.png);
  background-position: right 20px top 50%;
  background-repeat: no-repeat;
  background-size: 10px auto;
  color: #ffffff;
}


/* --------------------
   footer
----------------------- */
footer{
  width: calc(1000px + 20px);
  margin: 0 auto;
  padding: 40px 10px calc(12px + 38px);
  position: relative;
}

/* ご利用規約 | 個人情報保護規程 */
.footer__link{
  display: flex;
  margin-bottom: 24px;
  font-size: 14px;
  line-height: calc(28/14);
}
.footer__link li + li{
  margin-left: 1em;
}
.footer__link li + li::before{
  margin-right: 1em;
  content: "｜";
}

.footer__link a{
  text-decoration: underline;
  color: var(--color-main1);
}
.footer__link a:hover{ text-decoration: none; opacity: 1;}


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

/* footer__wrap */
.footer__wrap{
  padding-bottom: 16px;
  border-bottom: 1px solid #DDDDDD;
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
}

.footer__wrap .footer__jp{
  width: auto;
  height: 12px;
}

.footer__wrap .copyright{
  margin-left: 24px;
  font-size: 12px;
  line-height: calc(24.5/12);
}

.footer__update{
  font-size: 12px;
  line-height: calc(24.5/12);
  display: flex;
  justify-content: end;
}

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