@charset "utf-8";

@media screen and (min-device-width: 768px) {
  .fixedpage a{
    transition:opacity 0.19s ease;
  } 
  .fixedpage a:hover{
    opacity: 0.5;
  }
}

.fixedpage .headline_m{
  position: relative;
  font-size: 22px;
  padding-left: 20px;
  margin-bottom: 30px;
}

.fixedpage .headline_m::after{
  content: '';
  position: absolute;
  top: -2px;
  left: 0;
  width: 10px;
  height: 40px;
  background: #C41832;
}

.fixedpage_wrap{
  max-width: 1280px;
  margin: 0 auto;
}

.fixedpage_wrap ul{
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.fixedpage_wrap ul li::marker {
  content: none;
}


.fixedpage_head {
  position: relative;
  margin-bottom: 80px;
}

.fixedpage_head .img {
  margin-bottom: 52px;
  margin-top: 30px;
  aspect-ratio: 1220/ 351;
  display: flex;
  justify-content: center;
  align-items: center;
}

.fixedpage_head .img .box{
  width: 70%;
}

.fixedpage_head .img img {
  width: 100%;
  height: auto;
  display: block;
}

.fixedpage_head .label{
  display: flex;
}

.fixedpage_head .label p{
  display: flex;
  align-items: center;
  margin-bottom: 15px;
  background: #C41832;
  color: #fff;
  font-size: 26px;
  font-weight: bold;
  height: 60px;
  padding: 0 20px 0 10px;
}

.fixedpage_head .label .icon1{
  margin-right: 10px;
}

.fixedpage_head .label .icon2{
  margin-left: 20px;
  margin-right: 5px;
}

.fixedpage_head .msg {
  font-size: 18px;
  margin-bottom: 50px;
  line-height: 1.83; 
}

.fixedpage_head .msg .uline{
  text-decoration: underline;
}

.fixedpage_head .msg strong{
  color: #C41832;
  text-decoration: none;
}

.fixedpage_nav{
  display: flex;
  flex-wrap:wrap;
  gap:52px 35px;
  padding-bottom: 50px;
}

.fixedpage_nav_box{
  position: relative;
  width: calc((100% - 70px) / 3);
  padding-bottom: 30px;
  background: #F1F1F1;
}

.fixedpage_nav_box .box{
  padding:26px 13px 30px;
}

.fixedpage_nav_box .ttl{
  position: relative;
  margin-bottom: 5px;
}

.fixedpage_nav_box .ttl>i.num{
  position: absolute;
  font-size: 16px;
  width: 28px;
  left: 0;
  top:-1px;
  display: block;
  height: 28px;
  font-style: normal;
  line-height: 27px;
  text-align: center;
  border-radius: 50%;
  background:#C41832;
  color: #fff;
}

.fixedpage_nav_box .ttl{
  margin-bottom: 10px;
  padding-left: 40px;
}

.fixedpage_nav_box .ttl>span{
  font-weight: bold;
  font-size: 20px;
  line-height: calc( 27 / 20 );
  display: block;
}

.fixedpage_nav_box ul.mlist{
  padding-left: 15px;
}

.fixedpage_nav_box ul.mlist>li{
  position: relative;
  line-height: calc(27 / 14 );
  padding-left:16px;
}

.fixedpage_nav_box ul.mlist>li::after{
  content: '';
  position: absolute;
  top: 13px;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #C41832;
}

.fixedpage_nav_box ul.mlist>li>a{
  position: relative;
  display: inline-block;
}

.fixedpage_nav_box ul.mlist>li>a>span {
  display: inline;
  margin-right: 1em;
}

.fixedpage_nav_box ul.mlist>li>a.video::after,
.fixedpage_nav_box ul.mlist>li>a.blank::after{
  content: '';
  display: inline-block;
  transform: translateY(2px);
  width: 13px;
  height: 16px;
  line-height: 16px;
  background: url(./images/blank.svg) no-repeat  50% 2px / 13px;
}

.fixedpage_nav_box ul.mlist>li>a.video::after{
  width: 20px;
  background: url(./images/video.svg) no-repeat  50% 50% / 20px;
}

.fixedpage_nav_box a.arrow {
  position: absolute;
  height: 30px;
  background: #333333;
  display: block;
  left: 0;
  bottom: 0;
  z-index: 2;
  width: 100%;
}

.fixedpage_nav_box a.arrow::after{
  content: '';
  position: absolute;
  top: 10px;
  left: 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 11px solid #fff;
}

/*.fixedpage_body*/
.fixedpage_body{
  padding-top: 70px;
  position: relative;
}

body:not(.home) .page .fixedpage_section .ttl{
  position: relative;
  display: flex;
  border-left: 0 !important;
}

.fixedpage_section{
  border-bottom:1px solid #CCCCCC;
  padding-top: 68px;
  padding-bottom: 40px;
}

.fixedpage_section .ttl_m{
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 30px;
}

.fixedpage_section .ttl{
  margin-bottom: 30px;
}

.fixedpage_section .ttl>.num{
  width: 38px;
  height: 38px;
  line-height: 37px;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  border-radius: 50%;
  color: #fff;
  background: #C41832;
  font-style: normal;
  font-weight: bold;
}

.fixedpage_section .ttl>span{
  display: block;
  width: calc(100% - 38px);
  padding-left: 10px;
  font-size: 26px;
  line-height: 1.3;
}

.fixedpage_section .main_img{
  max-width: 800px;
  margin: 0 auto 50px;
}

.fixedpage_section .msg{
  margin-bottom: 50px;
}

.fixedpage_section .bg_box{
  background: #F1F1F1;
  padding: 39px;
  margin-bottom: 45px;
}

.fixedpage_section .dot_list>li{
  position: relative;
  padding-left: 1.1em;
  font-size: 18px;
  line-height: calc( 34 / 18 );
  font-weight: bold;
  color: #C41832;
}

.fixedpage_section .dot_list>li>a{
  text-decoration: none;
}

.fixedpage_section .dot_list>li::after {
  content: '';
  position: absolute;
  top: 14px;
  left: 0;
  width: 10px;
  height: 10px;
  background: #C41832;
  border-radius: 50%;
}

.fixedpage_section .dot_list>li>a.video span{
  padding-right:1em;
}

.fixedpage_section .dot_list>li>a.video::after,
.fixedpage_section .dot_list>li>a.blank::after{
  content: '';
  display: inline-block;
  transform: translateY(2px);
  width: 13px;
  height: 16px;
  line-height: 16px;
  background: url(./images/blank.svg) no-repeat  50% 2px / 13px;
}

.fixedpage_section .dot_list>li>a.video::after{
  width: 20px;
  background: url(./images/video.svg) no-repeat  50% 50% / 20px;
}

.fixedpage_section .related {
  display: flex;
  margin-bottom: 20px;
}
.fixedpage_section .related .list{
  width: ;
}
.fixedpage_section .related .list>li{
  display: flex;
  gap:12px;
}
.fixedpage_section .related .list>li> .img{
  width: 100px;
}
.fixedpage_section .related .list>li> .img2{
  width: 200px;
}
.fixedpage_section .related .list>li  .blank{
  position: relative;
  display: inline-block;
}

.fixedpage_section .related .list>li  .blank span{
  padding-right: 1em;
}
.fixedpage_section .related .list>li  .blank::after{
  content: '';
  display: inline-block;
  width: 13px;
  height: 13px;
  background: url(./images/blank.svg) no-repeat  50% 50% / 13px;
}

.fixedpage_section .related_box .gotop{
  text-align: right;
}
.fixedpage_section .related_box .gotop a{
  position: relative;
  display: inline-block;
  padding-left: 1.5em;
  line-height: 1;
}
.fixedpage_section .related_box .gotop a::before{
  position: absolute;
  content: '';
  left:0;
  top:-2px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #C41832;
  z-index: 1;
}
.fixedpage_section .related_box .gotop a::after{
  content: '';
  position: absolute;
  left: 7px;
  top: 6px;
  width:6px;
  height:6px;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  transform: rotate(45deg);
  z-index: 2;
}

@media screen and (max-width: 1350px) {
  .fixedpage{
    padding: 0 10px;
  }
}

@media screen and (max-width: 1100px) {
  .fixedpage_nav{
    gap:50px 30px;
  }
  .fixedpage_nav_box{
    width: calc((100% - 30px) / 2);
  }
}

@media screen and (max-width: 850px) {

  .fixedpage_head .label p {
      display: flex;
      margin-bottom: 15px;
      font-size: 23px;
      height: 50px;
      padding: 0 20px 0 10px;
  }

  .fixedpage_head .label p .icon1{
    width: 40px;
  }
  .fixedpage_head .label p .icon2{
    width: 40px;
  }
    
  .fixedpage_nav{
   display: block;
   padding-bottom: 0px;
  }

  .fixedpage_nav_box {
    width: 100%;
    margin-bottom: 30px;
    padding-bottom: 50px;
  }

  .fixedpage_nav_box a.arrow {
    position: absolute;
    height: 50px;
  }

  .fixedpage_nav_box a.arrow::after {
    top: 22px;
  }

  .fixedpage_body {
    padding-top: 0;
    position: relative;
  }
  .fixedpage_section {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .fixedpage_section .main_img {
    margin: 0px auto 30px;
  }

  .fixedpage_section .msg {
    margin-bottom: 40px;
  }

}

