.raccar {
  color: #4D4D4D;
  text-align: center;
  font-family: 'Noto sans Jp','Yu Gothic black',sans-serif,'メイリオ';
  margin-left: auto;
  margin-right: auto;
  font-size: 16px;
}

.wrapping {
  margin-left: auto;
  margin-right: auto;
}


.section-item {
  background-image: url("../img/back-ballon.jpg")

}

h1 {
  margin: 0;
  color: #0c4c87;
}
.section1 {
  background-color: #f7fdfe;
  }

  .main-yellow {
    color: #e6d900;
    font-size: 36px;
    font-weight: bold;
     text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    
  }

  .box-013 {
    max-width: 400px;
    margin: 0 auto;
    border: 2px solid #2589d0;
    border-radius: 3px;
}


.box-013 span {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: .5em 0;
    background-color: #2589d0;
    color: #fff;
    font-weight: 600;
}

.box-013 p {
    margin: 0;
    padding: 1em 1.5em;
    color: #333;
}

.section-02{
  padding: 1rem;  
}


.center-text {
  text-align: center;
  font-size: 18px;
}

.center-text-white {
  text-align: center;
  font-size: 20px;
  color: #FFF;
  font-weight: 700;
   text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.button-3 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 350px;
    margin:0 auto;
    padding: .9em 2em;
    border: none;
    border-radius: 25px;
    box-shadow: 0 2px 3px rgb(0 0 0 / 25%), 0 2px 3px -2px rgb(0 0 0 / 15%);
    background-color: #2589d0;
    color: #fff;
    font-weight: 600;
    font-size: 1em;
}

.button-3::after {
    transform: rotate(45deg);
    width: 5px;
    height: 5px;
    margin-left: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: '';
}

.button-3:hover {
    background-color: #1579c0;
}

.movie-wrap{
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}

.box-014 {
    max-width: 800px;
    margin: 0 auto;
    padding: 2em 2.5em;
    border-radius: 3px;
    background-color: #5ba9f70d;
    background-size: 20px 20px;
    text-align: left;
}


.heading-24 {
    position: relative;
    padding-top: 1.5em;
    color: #092A8B;
    max-width: 600px;
    isolation: isolate; 
    font-weight: bold;
  }

.heading-24::before {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    color: #d9f4ff;
    font-size: 3em;
    line-height: 1;
    content: attr(data-number);
    pointer-events: none;
    text-align: left;
}

.section2 {
  background-color: #f0f8ff;
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.section2-topic {
  margin-left: auto;
  margin-right: auto;
  padding: 3rem;
}


.section4 {
         max-width: 1180px;
        margin-left: auto;
        margin-right: auto;
        padding: 3rem;
   }

.section5 {
  padding-bottom: 3rem;
      }

.section6 {
  background-color: #dde8f3;
  padding: 3rem;
     }

 .section9 {
  background-color: #f8f8ff;

    padding-bottom: 3rem;
  }

 .section10 {
    background-color: #dde8f3;
    padding-bottom: 3rem;
    }
  
  .section11 {
    background-color: #f8f8ff;
    padding-bottom: 5rem;
     }
  
  .right-hosoku {
    text-align: right;
    font-size: 12px;
    padding-right: 1rem;
    margin: 0;
  }

  .spec-kouseihin {
    width: 765px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 3rem;
  }


  .question-wrap {
    max-width: 1160px;
    margin-left: auto;
    margin-right: auto;
  }


  .setseen {
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    text-align:center;
    justify-content: space-between;
    width: 800px;
    padding-top: 1.8rem;
  }

  .setseen-2 {
    text-align: center;
  }


  .setseen-3 {
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    text-align:center;
    justify-content: space-between;
    width: 960px;
    padding-top: 1.8rem;
  }

  .setseen-3 img {
  width: 30%;
  height: auto;
  }


  .setseen-4 {
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    text-align:center;
    justify-content: space-between;
    width: 1060px;
    padding-top: 1.8rem;
  }


  .setseen-02 {
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    text-align:center;
    justify-content: space-between;
    width: 600px;
    padding-top: 1.8rem;
  }



  .heading-009 {
    font-size: 24px;
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    padding: .5em .7em;
    border-radius: 10px;
    background-color: #2589d0;
    color: #fff;
    text-align: center;
  }




.qanda-group {
  padding: 2.5rem;
}

.qa-list dl {
  position: relative;
  margin: 30px 0 0;
  cursor: pointer;
  border: 1px solid #DDD;
}
.qa-list dl:first-child {
margin-top: 0;
}
.qa-list dl::after {
  position: absolute;
  top: 27px;
  right: 26px;
  display: block;
  width: 7px;
  height: 7px;
  margin: auto;
  content: '';
  transform: rotate(135deg);
  border-top: 2px solid #434343;
  border-right: 2px solid #434343;
}
.qa-list .open::after {
  transform: rotate(-45deg);
  background-color: #ffffff;
}
.qa-list dl dt {
  position: relative;
  margin: 0;
  padding: 20px 20px 20px 60px;
  font-weight: bold;
  background: #dde8f3;
  text-align: left;
  font-size: 16px;
}
.qa-list dl dt::before {
  font-size: 22px;
  line-height: 1;
  position: absolute;
  top: 20px;
  left: 20px;
  display: block;
  content: 'Q.';
  color: #0b78c5;
}
.qa-list dl dd::before {
  font-size: 22px;
  line-height: 1;
  position: absolute;
  left: 20px;
  display: block;
  content: 'A.';
  font-weight: bold;
  color: #da202f;
}
.qa-list dl dd {
  position: relative;
  margin: 0;
  padding: 20px 20px 20px 60px;
  background-color: #ffffff;
  text-align: left;
}
.qa-list dl dd p {
  margin: 30px 0 0;
  text-align: left;
  font-size: 16px;
  font-weight: 400;
}
.qa-list dl dd p:first-child{
  margin-top: 0;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
.qa-list dl {
  margin: 10px 0 0;
}
.qa-list dl:after {
  top: 20px;
  right: 20px;
  width: 7px;
  height: 7px;
}
.qa-list dl dt {
  padding: 16px 16px 16px 50px;
  font-size: 14px;
}
.qa-list dl dt::before {
  font-size: 14px;
  top: 20px;
  left: 20px;
}
.qa-list dl dd::before {
  font-size: 14px;
  left: 20px;
  margin-top: 5px;
}
.qa-list dl dd {
  margin: 0;
  padding: 16px 16px 16px 50px;
  font-size: 14px;
  background-color: #ffffff;
}
.qa-list dl dd p {
  margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
  margin-top: 0;
}
}


          
.text-center {
  text-align: center;
  font-size: 18px;
  margin-left: auto;
  margin-right: auto;
  line-height: 2;
}

.center img {
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;

}

.text-left {
  text-align: left;
  font-size: 18px;
  margin-left: auto;
  margin-right: auto;
  padding: 1.5em;
  max-width: 1160px;
}

.text-left p {
  line-height: 3rem;
  font-size: 16px;
} 



.text-center img {
  text-align: center;
  max-width: 250px;

}


.text-span {
  font-weight: bold;
  color: darkred; 
}

.under-line {
  background: linear-gradient(transparent 70%, yellow 70%);
}


.wear-point img {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  padding-bottom: 1.5rem;
}


.dai {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  position: relative;
  font-weight: bold;
  font-size:28px;
  padding: 2rem;
  margin: 0;
}

.heading-25 {
    position: relative;
    padding-top: .75em;
    color: #333333;
}

.heading-25::before {
    position: absolute;
    bottom: .5em;
    left: 0;
    z-index: -1;
    color: #d9f4ff;
    font-size: 1.5em;
    line-height: 1;
    content: attr(data-word);
    pointer-events: none;
}



.section18 {
  /* 左上から右下へ斜めに区切る例 */
  clip-path: polygon(0 0, 100% 5vw, 100% 100%, 0 100%);
  background-color: #f0f0f0;
  padding: 3rem;
  background-image: url("img/balloon.jpg");
}


.dai:before {
  content: '';
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 60px;
  height: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: rgb(30, 163, 225);
  border-radius: 2px;
}


.section-text {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  position: relative;
  padding-top: 3rem;
  display: inline-block;
  margin-bottom: 0.5em;
  font-weight: bold;
  font-size:		26px;
  color: #01499B;
}

.daimei {
  width: 1160px;
  font-size: 24px;
  text-align: left;
  padding: 0.25em 0.5em;/*上下 左右の余白*/
  color: #494949;/*文字色*/
  background: transparent;/*背景透明に*/
  border-left: solid 5px #7db4e6;/*左線*/
  font-weight: bold;
}


.graph {
  text-align: left;
  border-collapse: collapse;
  border-spacing: 0;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2.5rem;
  width: 950px;
 }

 .graph th {
  padding: 10px;
  background: #778ca3;
  border: solid 1px #666666;
  color: #ffffff;
  font-size: 18px;
  text-align: center;
 }

 .graph td {
  padding: 16px;
  border: solid 1px #666666;
 }


 /* 500px以下の画面で適用 */
@media only screen and (max-width: 500px) {
  .graph tr,
  .graph th,
  .graph td {
    display: block; /* セルを縦に */
    border: none; /* 線をリセット */
  }
  /* 以下で線を再設定 */
  .graph {
    border: solid 2px #a5d1f1;
    border-top: none;
  }
  .graph th {
    border-top: solid 2px #a5d1f1;
  }
  .graph td {
    border-top: dashed 1px #a5d1f1;
  }
}

.graph2 {
  width: 100%;
  text-align: left;
  border-spacing: 0;
  padding-right: 50px;
  padding-bottom: 2.5rem;
 }
 .graph2 th {
  font-size: 18px;
  border-bottom: solid 4px #778ca3;
  color: #778ca3
 }
 .graph2 td {
  padding: 10px;
  border-bottom: solid 1px #778ca3;
 }

 .movie {
  padding-top: 0.5em;
  padding-bottom: 5em;
  background: #d9efff;
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}

 .movie-text {
  font-size: 26px;
  font-weight: bold;
  color: #0b456e;
 }


 .spec-top {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  padding-bottom: 3rem;
  justify-content: space-between;
 }


 
@media (max-width: 768px) {
   .spec-top {
            display: block;
        font-size: 1.325em;
        padding: 1rem;
        text-align: center;
  }
}

 .spec-top img{
  max-width: 350px;
  margin-top: 1rem;
  margin-left: auto;
  margin-right: auto;
  padding: 1rem;
 }


 .spec {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  padding-bottom: 3rem;
  justify-content: space-between;
 }

 .spec img{
  width: 43%;
  max-width: 300px;
  height: auto;
  margin-top: 3rem;
  margin-left: auto;
  margin-right: auto;

 }

 .spec p {
  font-size: 16px;
 }

 .spec-shiyou {
  padding-top: 3rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-between;
 }

 .spec-shiyou img{
  margin-top: 3rem;
  margin-left: auto;
  margin-right: auto;
  padding: 10rem;
  width: 50%;  
  height: 100%; 
  object-fit: cover;
 }

 .spec-shiyou p {
  font-size: 16px;
 }



 .spec-topic {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  padding-bottom: 3.5rem;
  justify-content: space-between;
 }

 .spec-topic img{
  width: 45%;
  max-width: 350px;
  height: auto;
  margin-top: 3rem;
  margin-left: auto;
  margin-right: auto;

 }

 .spec-topic_text {
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  padding-top: 5rem;
  padding-left: 2.8rem;
  font-size: 16px;

 }



 .spec2 {
  width: 960px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  padding-left: 1.5rem;
  padding-bottom: 3rem;
  padding-top: 1.5rem;
  justify-content: space-between;
 }

 .spec2 img{
  width: 50%;
 }

 .spec_graph{
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  padding-top: 3rem;
 }


 .spec-graph{
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  padding-top: 5rem;
  padding-left: 2.8rem;
  font-size: 20px;
 }


 .spec-main p {
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2.8rem;
  font-size: 16px;
  font-weight: bold;
  padding-top: 2.5em;
  line-height: 2;
  margin-top: 5em;
 }


 a.btn_04 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	margin: auto;
	padding: 1rem 4rem;
	font-weight: bold;
	border: 2px solid #2D0E97;
	background: #2D0E97;
	color: #fff;
	border-radius: 100vh;
	transition: 0.5s;
}
a.btn_04:hover {
	color: #2D0E97;
	background: #fff;
}


.cta-btn-1 {
  width: 100%;
  max-width: 600px; 
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem; 
  margin-left: auto;
  margin-right: auto;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  font-size: 16px;
  box-sizing: border-box;
}

a.btn_01 {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-decoration: none;
  

  width: 100%;
  max-width: 280px;
  margin: 0 auto;
  
  padding: 1rem 1.5rem; 
  font-weight: bold;
  border: 2px solid #092a8b;
  color: #092a8b;
  transition: 0.5s;
  background: #FFF;
  box-sizing: border-box;
}

a.btn_01:hover {
  color: #fff;
  background: #092a8b;
}


@media (max-width: 599px) {
  a.btn_01 {
    max-width: 100%; 
  }
}

a.btn_02 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 250px;
	margin: auto;
	padding: 1rem 4rem;
  margin-top: 0.5rem;
	font-weight: bold;
	border: 2px solid #092a8b;
	background: #092a8b;
	color: #fff;
	transition: 0.5s;
  margin-bottom: 1rem;
}
a.btn_02:hover {
	color: #092a8b;
	background: #fff;
}


a.btn_03 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 120px;
	margin: auto;
	padding: 0.5em 0.2em;
  margin-top: 0.5rem;
	font-weight: bold;
	border: 2px solid #092a8b;
	background: #092a8b;
	color: #fff;
	transition: 0.5s;
  font-size: 14px;
}
a.btn_03:hover {
	color: #092a8b;
	background: #fff;
}


/*背景*/
.btn-wrap {
  margin: 20px;
}

a.btn-c {
  font-size: 2rem;

  position: relative;

  padding: 1.5rem 4rem 1.5rem 6rem;

  color: #000;
  border: 2px solid #000;
  background: #fff100;
  -webkit-box-shadow: 0 5px 0 #e6d900;
  box-shadow: 0 5px 0 #e6d900;
}

a.btn-c span {
  font-size: 1.3rem;
  line-height: 1.3;

  position: absolute;
  top: -10px;
  left: -20px;

  width: 64px;
  height: 64px;
  padding-top: 15px;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

  color: #000;
  border: 2px solid #000;
  border-radius: 50%;
  background: #fff;
}

.text-small {
  font-size: 12px;
}


.text-big {
  font-size: 36px;
}

a.btn-c span em {
  font-style: normal;

  color: #d20010;
}

a.btn-c small {
  font-weight: bold;
}

a.btn-c i {
  margin-right: 1rem;
}

a.btn-c:hover {
  -webkit-transform: translate(0, 3px);
  transform: translate(0, 3px);

  color: #000;
  background: #fff21a;
  -webkit-box-shadow: 0 2px 0 #e6d900;
  box-shadow: 0 2px 0 #e6d900;
}

a.btn-c:hover span {
  -webkit-transform: translate(0, -5px);
  transform: translate(0, -5px);
}

/*--------------------------------------
  カード型
--------------------------------------*/
.l-wrapper_02 {
  margin: 1rem auto;
  width: 380px;
  text-align:center;
}


.card__header_02 {
  flex-wrap: wrap;
}

.card__title_02 {
  padding: 1rem;
  font-weight: bold;
  text-decoration: none;
  font-size: 16px;
}

.card__thumbnail_02 {
  margin: 0;
  order: 0;
}

.card__image_02 {
  width: 90%;
  padding: 0.5rem 1rem 0.5rem 1rem;
}

.card__body_02 {
  padding: 0 1.5rem;
}

.card__text_02 {
  text-align:center;
  text-decoration: none;
}

.card__text2_02 {
  margin-top: 0;
  margin-bottom: 1.5rem;
}

.card-check {
  width: 320px;
  padding: 2rem 0.5rem 0.5rem 0.5rem;
  background-color: #FFF;
  margin: 1rem 0.5rem 1rem 0.5rem;
}

.card-check img {
  width: 285px;
  height: 197px;
  padding-bottom: 0.5rem;
}

.card-check-wrap {
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  text-align:center;
  justify-content: space-between;
  width: 1120px;
}

.card-check_item {
  width: 350px;
  padding: 2rem 0.5rem 2rem 0.5rem;
  background-color: #FFF;
  margin: 1rem 0.5rem 1rem 0.5rem;
}

.card-check_item img {
  width: 300px;
}

.card-check_item img:hover {
  filter: brightness(1.10); /* 明るくする */
  }



.card-check_kanren {
  width: 200px;
  padding: 2rem 0.5rem 2rem 0.5rem;
  background-color: #FFF;
  margin: 1rem 0.5rem 1rem 0.5rem;
  height: 360px;
}


.card-check_kanren img {
  width: 300px;
  padding-bottom: 0.5rem;
}

.card-check-wrap_kanren {
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 1.5rem;
  display: flex;
  text-align:center;
  justify-content: space-between;
}

.card-check-kanren {
  width: 200px;
  padding: 2rem 0.5rem 2rem 0.5rem;
  background-color: #FFF;
  margin: 1rem 0.5rem 1rem 0.5rem;
}



.card-check-wrap_kanren-item {
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  text-align:center;
  justify-content: space-between;
  padding: 3rem;
  max-width: 1160px;
}


/*CTAボタンエリア*/
.cta-btn-wrap{
  background-color: #87cefa;
  margin-left: auto;
  margin-right: auto;
  padding: 4rem;
}

 .cta-btn-1 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-left: auto;
  margin-right: auto;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
 }

 .cta-btn-01 {
  width: 600px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-left: auto;
  margin-right: auto;
  padding-top: 1.5rem;
 }



a.btn_02 {
	display: block;
	text-align: center;
	text-decoration: none;
	width: 280px;
	margin: auto;
	padding: 1rem 4rem;
  margin-top: 0.5rem;
	font-weight: bold;
	border: 2px solid #092a8b;
	background: #092a8b;
	color: #fff;
	transition: 0.5s;
  margin-bottom: 1rem;
}

a.btn_02:hover {
	color: #092a8b;
	background: #fff;
}

.cta-btn {
  width: 800px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-left: auto;
  margin-right: auto;
 }



 *,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;
}

.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

/*背景*/

.cta-text-center {
  color: #FFF;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  font-size: 20px;
  padding-bottom: 0.5rem;
  padding-top: 1rem;

}

a.btn-c {
  font-size: 1.8rem;
  width: 300px;

  position: relative;

  padding: 1.5rem 4rem 1.5rem 6rem;
  border: 2px solid #092a8b;
  color: #FFF;
  background: #092a8b;
  margin: 20px;

}

a.btn-c span {
  font-size: 1.5rem;
  line-height: 1.3;

  position: absolute;
  top: -20px;
  left: -30px;

  width: 70px;
  height: 70px;
  padding-top: 15px;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

  color: #4d4d4d;
  border: 0.5px solid #fee107;
  border-radius: 50%;
  background: #f7ff10;
}

a.btn-c span em {
  font-style: normal;

  color: #d20010;
}

a.btn-c small {
  font-weight: bold;
}

a.btn-c i {
  margin-right: 1rem;
}

a.btn-c:hover {
  -webkit-transform: translate(0, 3px);
  transform: translate(0, 3px);

  color: #27acd9;
  background: #fff;
}

a.btn-c:hover span {
  -webkit-transform: translate(0, -5px);
  transform: translate(0, -5px);
}


a.btn-a {
  font-size: 1.8rem;
  width: 300px;

  position: relative;

  padding: 1.5rem 2rem 1.5rem 2rem;
  border: 2px solid #27acd9;
  color: #FFF;
  background: #27acd9;
  margin: 20px;

}

a.btn-a span {
  font-size: 1.5rem;
  line-height: 1.3;

  position: absolute;
  top: -20px;
  left: -30px;

  width: 70px;
  height: 70px;
  padding-top: 15px;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

  color: #4d4d4d;
  border: 0.5px solid #fee107;
  border-radius: 50%;
  background: #f7ff10;
}

a.btn-a span em {
  font-style: normal;

  color: #d20010;
}

a.btn-a small {
  font-weight: bold;
}

a.btn-a i {
  margin-right: 1rem;
}

a.btn-a:hover {
  -webkit-transform: translate(0, 3px);
  transform: translate(0, 3px);

  color: #27acd9;
  background: #fff;
}

a.btn-c:hover span {
  -webkit-transform: translate(0, -5px);
  transform: translate(0, -5px);
}


.circle_btn02 {
  color: #FFF;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  max-width: 280px; 
  padding: 1em 2em;
  color: initial; 
  transition: 0.3s ease-in-out;
  font-weight: bold;
  text-decoration: none;
  margin-left: auto;
  margin-right: auto;
}

.circle_btn02::before, .circle_btn02::after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
}

.circle_btn02::before {
  width: 0.5em;
  height: 0.5em;
  left: 1em;
  border-top: solid 2px #fff; 
  border-right: solid 2px #fff; 
  z-index: 2;
  transform: translateY(-50%) rotate(45deg);
  transition: all 0.3s;
}

.circle_btn02::after {
  left: 0;
  background: #4D9BC1; 
  z-index: 1;
  width: 3em;
  height: 3em;
  border-radius: 3em;
  transform: translateY(-50%);
  transition: all 0.5s;
}

.circle_btn02 span {
  color: #4D9BC1;
  position: relative;
  transition: all 0.3s;
  z-index: 3;
  font-size: 2rem;
}

.circle_btn02:hover span {
  color: #fff; 
}

.circle_btn02:hover:before {
  left: 2rem;
}

.circle_btn02:hover:after {
  right: 0;
  width: 100%;
}


.navigation {
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
}

.navigation ol {
  display: flex;
  justify-content: space-between;
  margin:0px;
  padding: 2rem;
}


.navigation ol li{
  position: relative;
  display: inline-block;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background-color: #01499B;
}

.navigation-text {
  position: absolute;
  display: inline-block;
  left: 6%;
  top: 20%;
  width: 90%;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  color: #FFFF0D;
  margin: 0;
  font-size: 20px;
}

.navigation-text img {
width: 200px;
padding: 1rem;
margin-left: auto;
margin-right: auto;
}

.text-check {
  font-size: 16px;
  font-weight: bold;
  color: #092a8b;
}

.title-box4-wrap{
  display: flex;
  justify-content: space-between;
  width: 1160px;
  margin-left: auto;
  margin-right: auto;

}


.title-box4{
  background-color: #fff3e0;
  border: 2px solid #ffa726;
  width: 550px;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem;
  margin-top: 3em;
  
}

.title-box4-title{
  font-size: 16px;
  position: absolute;
  margin-top: -37px;
  margin-left: -2px;
  background-color: #ffa726;
  color: #fff;
  font-weight: bold;
  border-radius: 4px 4px 0 0;
  padding: 4px 10px;
}

.title-box4 img {
  padding-bottom: 1.5rem;
  width: 150px;

}

.title-box4 p{
  margin: 0;
  padding: 1em;
  font-size: 18px;
  height: 130px;
}


.icon-img {
  width: 150px;
  display: flex;
  padding: 5px 10px;
}

.center-btn {
  text-align: center;
  margin-right: auto;
  margin-left: auto;
  width: 300px;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.voice {
  margin-left: auto;
  margin-right: auto;
  padding: 3%;
  background: #FFF;
  max-width: 350px;
}

.voice img {
  max-width: 250px;
  height: 200px;

}


.voice_flex {
  display: flex;
  justify-content: space-between;
}



@media (max-width: 768px) {
  .voice_flex  {
            display: block;
        font-size: 1.325em;
        padding: 1rem;
        text-align: center;
  }
}


.voice_box dt {
  margin: 0 0 14px 0;
  padding: 0 0 14px 0;
  border-bottom: 2px solid #E7E7E7;
  text-align: center;
  font-size: 24px;
  font-weight: 600;
}

.bg_voice {
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem;
}

.clear {
  text-align: left;
  font-size: 16px;
  height: 350px;
  line-height: 1.8;
}

.voice dt {
  font-size: 14px;
  font-weight: bold;
}


.modal {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background-color: rgba(120, 116, 116, 0.5);
  opacity: 0.5;
}

.modal_img {
  cursor: pointer;
}

.modal_content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 1000px;
  height: 80%;
}

.modal_content img {
  width: 100%;
 height: 100%;
  object-fit: contain;
}


.modal_close {
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  top: -50px;
  right: 0px;
  transition: 0.3s;
}

.modal_close:hover {
  opacity: 0.7;
}

.modal_close::before, .modal_close::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 2px;
  margin-top: -1px;
  margin-left: -50%;
  background-color: #fff;
}

.modal_close::before {
  transform: rotate(45deg);
}

.modal_close::after {
  transform: rotate(-45deg);
}

.modal_close_box {
  position: relative;
}

.modal-wrapper {
  z-index: 999;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 40px 10px;
  text-align: center;
}

.modal-button {
    color: #fff;
    background-color: #27acd9;
    font-weight: bold;
    text-align: center;
    cursor :pointer;
    transition: all 0.3s;
    display: block;
    margin-bottom: 1px;
    padding: 12px 2px;
    max-width:200px;
    text-decoration: none;
}

.modal-button:active {
  /*ボタンを押したとき*/
  -webkit-transform: translateY(2px);
  transform: translateY(2px);/*下に動く*/

}



/*ラベルホバー時*/
.modal-button:hover {
  color: #FFFFFF;
  background-color: #4f96f6;
  transition: .6s;
}

.modal-wrapper:not(:target) {
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s;
}

.modal-wrapper:target {
  opacity: 1;
  visibility: visible;
  transition: opacity .4s, visibility .4s;
}

.modal-wrapper::after {
  display: inline-block;
  height: 100%;
  margin-left: -.05em;
  vertical-align: middle;
  content: ""
}

.modal-wrapper .modal-window {
  box-sizing: border-box;
  display: inline-block;
  z-index: 20;
  position: relative;
  width: 70%;
  max-width: 600px;
  padding: 10px 30px 25px;
  border-radius: 2px;
  background: #fff;
  box-shadow: 0 0 30px rgba(0, 0, 0, .6);
  vertical-align: middle
}

.modal-wrapper .modal-window .modal-content {
  max-height: 80vh;
  overflow-y: auto;
  text-align: left
}

.modal_title {
  font-size: 1.5em;
	position: relative;
	overflow: hidden;
  padding: 0;
}

.modal_title::before,
.modal_title::after{
	content: "";
	position: absolute;
	bottom: 0;
}

.modal_title:before{
	border-bottom: 4px solid #6bb6ff;
	width: 100%;
}

.modal_title:after{
	border-bottom: 4px solid #c8e4ff;
	width: 100%;
}

.modal-content p {
  margin: 10px 0 0 0;
}

.modal-overlay {
  z-index: 10;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, .8)
}

.modal-wrapper .modal-close {
  z-index: 20;
  position: absolute;
  top: 5px;
  right: 5px;
  width: 35px;
  color: #95979c !important;
  font-size: 30px;
  font-weight: 700;
  line-height: 35px;
  text-align: center;
  text-decoration: none;
  text-indent: 0
}

.modal-wrapper .modal-close:hover {
  color: #2b2e38 !important
}

.modal-2 {
  color: #fff;
  font-weight: bold;
  text-align: center;
  cursor :pointer;
  transition: all 0.3s;
  display: block;
  margin-bottom: 1px;
  padding: 12px 2px;
  max-width:200px;
  text-decoration: none;
}

.cta-btn-2 {
  background-color: #092a8b;
  margin-left: auto;
  margin-right: auto;
  padding: 1rem;
}


.cta-btn2-wrap{
  color: #FFF;
  font-size: 20px;

}

.cta-btn-list {
  width: 650px;
text-align: center;
  display: flex;
  flex-wrap: wrap;
  margin-left: auto;
  margin-right: auto;
  justify-content: space-between;
  text-decoration: none;
}


  @media screen and (max-width: 768px) {
.cta-btn-list  {
    font-size: 1.375rem;
    display: block;
  }
}

.cta-text-yellow {
color: #ecec09;
font-size: 22px;
}


.cta-btn-yellow {
	display: block;
	text-align: center;
	text-decoration: none;
	width: 280px;
  	margin-top: 0.5rem;
	font-weight: bold;
	border: 2px solid #e7e70b;
	background: #e7e70b;
	color: #092a8b;
	transition: 0.5s;
  	margin-bottom: 1rem;
	
}


.cta-btn-yellow a {
	display: block;
	text-align: center;
	text-decoration: none;
	margin: auto;
  margin-top: 1rem;
	font-weight: bold;
	color: #092a8b;
	transition: 0.5s;
  margin-bottom: 1rem;
}

.cta-btn-yellow:hover {
	color: #FFF;
	background: #f6ff00;
}



a.btn_24 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 280px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2rem;
	padding: 2rem 4rem;
	font-weight: bold;
	border: 2px solid #10239f;
	color: #10239f;
	cursor: pointer;
	position: relative;
 	overflow: hidden;
 	z-index: 1;
  background-color: #FFF;
  font-size: 16px;
}


a.btn_24::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #10239f;
	transform: translateX(-100%);
	transition: all .3s;
	z-index: -1;
}
a.btn_24:hover::before {
	transform: translateX(0);
}
a.btn_24:hover {
	color: #fff;
}

/*--------------------------------------
  カード型_01
--------------------------------------*/
.l-wrapper_01 {
  padding: 1rem;
}



.card_01 {
  background-color: #fff;
  box-shadow: 0 0 8px rgba(0, 0, 0, .16);
  color: #4D4D4D;
  text-decoration: none;
  padding: 0.3rem 0;
}

.card__header_01 {
  flex-wrap: wrap;
}

.card__title_01 {
  font-size: 16px;
  order: 1;
  font-weight: bold;
  text-decoration: none;
  text-align: left;
  color: #01499B;
  padding: 0.5rem;
  width: 220px;
}

.card__thumbnail_01 img{
  padding: 0.2rem;
} 

.card__image_01 {
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
}

.card__body_01 {
  padding: 0 1.5rem;
}

.card__text_01 {
  font-size: 16px;
  text-align:center;
  text-decoration: none;
	padding-bottom: 0;
}

.card__text2_01 {
  font-size: 16px;
  margin-top: 0;
  margin-bottom: 2rem;
  color: #4D4D4D;
  text-align: left;
  height: 80px;
}

.card__text_01 + .card__text_01 {
  margin-top: .5rem;
}

.card__footer_01 {
  padding: 1rem;
}

.button_01 {
  display: inline-block;
  text-decoration: none;
  transition: background-color .3s ease-in-out;
  text-align: center;
}

.button_01 a {
  text-decoration: none;
}

.button_01.-compact {
  padding: .8rem 3rem;
  border-radius: .25rem;
  background-color: #01499B;
  color: #fff;
  font-weight: bold;
	text-decoration: none;
  font-family: 18px;
}


.button_01.-compact:hover,
.button_01.-compact:focus {
  background-color: #6bb6ff;
}

.link-wrap {
  display: flex;
  margin-left: auto;
  margin-right: auto;
  margin-top: 3em;

}




.tipc-wrap {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  max-width: 1160px;
}


.toc-005 {
  margin-bottom: 30px;
  border-radius: 3px;
  background-color: #f2f2f2;
}

.toc-005 div {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 10px 0;
  background-color: #2589d0;
  color: #fff;
  font-weight: 600;
  font-size: 1.1em;
}

.toc-005 div::before {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 5px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 4H21V6H8V4ZM3 3.5H6V6.5H3V3.5ZM3 10.5H6V13.5H3V10.5ZM3 17.5H6V20.5H3V17.5ZM8 11H21V13H8V11ZM8 18H21V20H8V18Z' fill='%23fff'%3E%3C/path%3E%3C/svg%3E");
  content: '';
}

.toc-005 label::after {
  margin-left: 7px;
  font-weight: 500;
  font-size: .7em;
  color: #fff;
  content: "[開く]";
  cursor: pointer;
}

.toc-005:has(:checked) label::after {
  content: "[閉じる]";
}

.toc-005 input {
  display: none;
}

.toc-005 ol {
  list-style-type: disc;
  margin: 0;
  overflow: hidden;
}

.toc-005 > ol {
  height: 0;
}

.toc-005:has(:checked) > ol {
  height: auto;
  padding: 1em 1em 1em 3em;
  text-align: left;
}

.toc-005 ol ol {
  margin-top: 5px;
  padding-left: 1.1em;
}

.toc-005 li {
  padding: 2.5px 0;
  font-weight: 600;
}

.toc-005 ol ol li {
  font-weight: 500;
  font-size: .9em;
}

.toc-005 a {
  color: #333;
  text-decoration: none;
  font-size: 16px;
}

.photo_box{ 
  margin:0 auto; 
 }

 .photo_box img{
  width: 220px;
  transition: filter 0.1s ease;
 }

 .photo_box img:hover {
  filter: brightness(1.10); /* 明るくする */
  }


 .photo_box-wrap {
  width: 1180px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: flex-start;
  padding: 3rem;
 }


 .balloon-009 {
  display: flex;
  justify-content: center;
  align-items: start;
  gap: 0 22px;
  padding: 3rem;
}

.balloon-009 img {
  max-width: 180px;
  height: 100%;
  border: 3px solid #f2f2f2;
  border-radius: 50%;
  background-color: #43a5d5;
}



.balloon-009 p {
  position: relative;
  max-width: 800px;
  margin: 4em 0 0;
  padding: .8em 1em;
  border-radius: 5px;
  background-color: #c2ebff;
  color: #4b4949;
  text-align: left;
  font-size: 16px;
  font-weight: 500;
}

.balloon-009 p::before {
  position: absolute;
  left: -15px;
  width: 15px;
  height: 30px;
  background-color: #c2ebff;
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
  content: '';
}

.balloon-010 {
  display: flex;
  justify-content: center;
  align-items: start;
  gap: 0 22px;
  padding: 3rem;
}

.balloon-010 img {
  max-width: 180px;
  height: 100%;
  border: 3px solid #f2f2f2;
  border-radius: 50%;
  background-color: #74cda1;
}

.balloon-010 p {
  position: relative;
  max-width: 800px;
  margin: 3px 0 0;
  padding: .8em 1em;
  border-radius: 5px;
  background-color: #c2ffe1;
  color: #4D4D4D;
  font-size: 16px;
  font-weight: 500;
  text-align: left;
}

.balloon-010 p::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent transparent #c2ffe1;
  border-width: 15px 0px 15px 30px;
  position: absolute;
  right: -15px;
  bottom: calc(50% - 15px);
}


 .section-wrap {
  margin-left: auto;
  margin-right: auto;
  padding-top: 3rem;
  padding-bottom: 1.5rem;
 }

.card-container {
  display: flex; 
  flex-wrap: wrap; 
  justify-content: space-around; 
  padding: 2.5em;
  font-size: 14px;
  margin: 1rem auto;
  max-width: 1280px;

}

.card {
  width: 23%; 
  margin-bottom: 20px; 
  overflow: hidden; 
}

.card img {
  width: 100%; 
  height: auto; /
  padding: 1rem;
}

.card-content {
  padding: 10px;
  font-size: 10px;
  text-align: center;
}

/* 画面幅が狭くなった時の調整 */
@media (max-width: 768px) {
  .card {
    width: 48%; /* 2枚表示時 */
    font-size: 12px;
  }
}

@media (max-width: 480px) {
  .card {
    width: 100%; /* 1枚表示時 */
  }
}


.box {
  display:flex;
  flex-direction: row;
  justify-content: space-between;
  width: 900px;
  padding: 1.5em;
  margin-left: auto;
  margin-right: auto;
}

.text {
  text-align: left;
}



.box3 {
  font-size: 18px;
  font-weight: bold;
  padding: 0.5em;
}

.box h3 {
  font-size: 32px;
  margin: 0;
  font-family: "futura-pt", "sans-serif";
  font-weight: 700;
  font-style: italic;
  color: #2D0E97;
  padding-top: 3rem;
}

.pict {
  width: 50%;
  margin-left: 3%;
}

.pict img {
  width: 100%;
  height:auto;
}

.box:nth-child(even) {
  flex-direction: row-reverse;
}
.box:nth-child(even) .text {
  text-align: left;
    width: 50%;
}
.box:nth-child(even) .pict {
  margin-left: 0;
  margin-right: 3%;
}


.text-point {
  font-size: 16px;
  padding: 1.5rem;
  font-weight: bold;
}


@media (max-width: 768px) {
  .box {
            display: block;
        font-size: 1.325em;
        padding: 1rem;
        text-align: center;
  }
}

.table-wrap {
  padding: 0.5rem;
  text-align: left;
}

    @media screen and (max-width: 768px) {
.table-wrap {
    font-size: 1.325em;
    margin: 1em;
  }
}

.hosoku {
  font-size: 16px;
}


table{
  border-collapse: collapse;
  margin-left: auto;
  margin-right: auto;
}
.tb01 th,
.tb01 td{
  padding: 16px;
  border: solid 1px #ccc;
  box-sizing:border-box;
  font-size: 16px;
}
.tb01 th {
  font-weight: bold;  
  text-align:center;
  background-color: #eeeeee;
  color: #4D4D4D;
}

.tb01 td img {
 max-width: 80px;
 text-align:left;
}
@media screen and (max-width: 640px) {
  .tb01 {
    width: 100%;
  }
  table.tb01 th,
  table.tb01 td {
    display: block;
    width: 100%;
    border-bottom:none;
  }
  .tb01 tr:last-child{
    border-bottom: solid 1px #ccc;
  }

  
.mini-n {
    display: flex; 
  }


    @media screen and (max-width: 768px) {
.mini-n {
    font-size: 1.325em;
    display: block;
    text-align: center;
  }
}


  .mini-n .image {
    width: 640px; 
    margin: 10;
    padding: 0;
    overflow: hidden;
    position: relative;
  }

    @media screen and (max-width: 768px) {
.mini-n .image {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;


  }
}


  .mini-n .right {
    margin: 10 10 10 10;
    padding: 0;
  }
  .mini-n .title {
    font-family:'Noto Sans JP',sans-serif;
    letter-spacing: .06em;
    line-height: 2em;
    color: #20783C;
    margin-bottom: 0.5px;
    font-weight: bold;
    font-size: 26px;
    text-align: left;
  }
  .mini-n.text {
    margin: 3px 10px 10px;
    padding: 0;
  }
  
 
  
  .mini-n .image {
    overflow: hidden;
    position: relative;
  }
  .mini-n .image::before {
    content: "";
    display: block;
    padding-top: 58%;
  }
  .mini-n .image img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }
}

.item-section {
    display: flex;
    align-items: center;
    gap: 50px;
    max-width: 1200px;
    margin: 80px auto;
    padding: 0 20px;
}


.item-section:nth-child(even) {
    flex-direction: row-reverse;
}

.item-section .content,
.item-section .video {
    flex: 1;
}


.video iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
}

.item-section h2 {
    font-size: 2rem;
    margin-bottom: 20px;
}

.item-section p {
    line-height: 1.8;
    font-size: 18px;
    text-align: left;
}

.item-section iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    border: none;
    border-radius: 12px;
}


@media (max-width: 768px) {
    .item-section,
    .item-section:nth-child(even) {
        flex-direction: column;
    }
}

.ns-item {
  display: flex;
  align-items: center;
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 20px;
}

.ns-item__image,
.ns-item__content {
  flex: 1;
}

.ns-item__image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.ns-item__title {
  margin: 0 0 16px;
  font-size: 2rem;
  line-height: 1.4;
}

.ns-item__text {
  margin: 0 0 24px;
  font-size: 16px;
  line-height: 1.8;
  color: #4D4D4D;
  text-align: left;
}

.ns-item__button {
  display: inline-block;
  padding: 12px 24px;
  background-color: #0077ff;
  color: #fff;
  text-decoration: none;
  border-radius: 6px;
  transition: background-color 0.3s ease;
}

.ns-item__button:hover {
  background-color: #005fcc;
}


@media (max-width: 768px) {
  .ns-item {
    flex-direction: column;
    text-align: center;
    gap: 24px;
  }

  .ns-item__title {
    font-size: 1.6rem;
  }


  .product-container {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 20px;
}

.product-card {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #f9f9f9;
  padding: 16px;
  border-radius: 8px;
  box-sizing: border-box;
}

.product-card img {
  width: 100%;
  height: auto;
  border-radius: 4px;
}

.product-title {
  font-size: 16px;
  margin: 16px 0 12px;
  text-align: center;
}

.product-btn {
  display: inline-block;
  padding: 10px 20px;
  background-color: #007bff;
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
}

.product-btn:hover {
  background-color: #0056b3;
}


@media (max-width: 768px) {
  .product-container {
    flex-direction: column;
  }
}

}


    .rp-related {
      --rp-background: #dfeaf5;
      --rp-card: #fff;
      --rp-heading: #16354c;
      --rp-text: #28394a;
      --rp-accent: #20afe5;
      --rp-button: #082b78;
      --rp-button-hover: #0072bd;
      width: 100%;
      margin: 0 auto;
      padding: 32px clamp(16px, 3vw, 40px) 36px;
      background: var(--rp-background);
      color: var(--rp-text);
      font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
      font-size: 16px;
      line-height: 1.7;
      overflow-wrap: anywhere;
    }
    .rp-related,
    .rp-related *,
    .rp-related *::before,
    .rp-related *::after { box-sizing: border-box; }
    .rp-related .rp-related__inner {
      width: 100%;
      max-width: 1200px;
      margin: 0 auto;
      container-type: inline-size;
      container-name: rp-related;
    }
    .rp-related .rp-related__heading {
      margin: 0 0 24px;
      color: var(--rp-heading);
      font-size: clamp(20px, 2.2vw, 26px);
      font-weight: 700;
      line-height: 1.5;
      text-align: center;
    }
    .rp-related .rp-related__heading::after {
      display: block;
      width: 34px;
      height: 3px;
      margin: 14px auto 0;
      background: var(--rp-accent);
      content: "";
    }


    .rp-related .rp-related__grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: clamp(14px, 2vw, 24px);
      margin: 0;
      padding: 0;
      list-style: none;
    }
    .rp-related .rp-related__item { display: flex; min-width: 0; margin: 0; padding: 0; }
    .rp-related .rp-related__card {
      display: flex;
      flex-direction: column;
      align-items: center;
      width: 100%;
      min-width: 0;
      padding: clamp(16px, 2vw, 26px);
      border: 1px solid transparent;
      background: var(--rp-card);
      color: var(--rp-text);
      text-decoration: none;
      text-align: center;
      transition: transform .2s ease, box-shadow .2s ease;
    }
    .rp-related .rp-related__media {
      display: block;
      width: 100%;
      aspect-ratio: 4 / 3;
      background: #fff;
    }
    .rp-related .rp-related__image {
      display: block;
      width: 100%;
      max-width: 100%;
      height: 100%;
      margin: 0;
      object-fit: contain; 
    }
    .rp-related .rp-related__name {
      width: 100%;
      min-height: 3.2em; 
      margin: 18px 0 16px;
      color: var(--rp-text);
      font-size: clamp(14px, 1.6vw, 17px);
      font-weight: 500;
      line-height: 1.6;
    }
    .rp-related .rp-related__button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 126px;
      min-height: 44px;
      max-width: 100%;
      margin-top: auto; 
      padding: 10px 22px;
      background: var(--rp-button);
      color: #fff;
      font-size: 14px;
      font-weight: 700;
      line-height: 1.5;
      transition: background-color .2s ease;
    }
    .rp-related .rp-related__card:focus-visible {
      outline: 3px solid var(--rp-button);
      outline-offset: 4px;
    }
    @media (hover: hover) {
      .rp-related .rp-related__card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgb(20 57 88 / 12%); }
      .rp-related .rp-related__card:hover .rp-related__button { background: var(--rp-button-hover); }
    }

   
    @media (max-width: 900px) {
      .rp-related .rp-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }

    @media (max-width: 560px) {
      .rp-related { padding: 28px 16px; }
      .rp-related .rp-related__grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
      .rp-related .rp-related__card { padding: 22px; }
      .rp-related .rp-related__media { max-width: 320px; }
      .rp-related .rp-related__name { min-height: 0; font-size: 16px; }
    }
  
    @media (min-width: 561px) {
      @container rp-related (max-width: 800px) {
        .rp-related .rp-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      }
    }
    @container rp-related (max-width: 480px) {
      .rp-related .rp-related__grid { grid-template-columns: minmax(0, 1fr); }
    }
    @media (prefers-reduced-motion: reduce) {
      .rp-related .rp-related__card,
      .rp-related .rp-related__button { transition: none; }
      .rp-related .rp-related__card:hover { transform: none; }
    }

       .cs-concern {
      
      --cs-concern-blue: #009fe8;
      --cs-concern-cyan: #37b0d5;
      --cs-concern-navy: #005b9d;
      --cs-concern-text: #41546a;
      --cs-concern-bubble: #bfeaff;
      --cs-concern-portrait: #44a7cf;
      --cs-concern-yellow: #f3ee85;
      --cs-concern-mincho: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "MS PMincho", serif;
      width: 100%;
      max-width: 1000px;
      margin: 0 auto;
      padding: clamp(24px, 4vw, 42px) 20px;
      background: #fff;
      color: var(--cs-concern-text);
      font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
      font-size: 16px;
      line-height: 1.85;
      overflow-wrap: anywhere;
   
      container-type: inline-size;
      container-name: cs-concern;
    }
    .cs-concern,
    .cs-concern *,
    .cs-concern *::before,
    .cs-concern *::after { box-sizing: border-box; }

    .cs-concern .cs-concern__question {
      margin: 0 0 24px;
      color: var(--cs-concern-navy);
      font-size: clamp(18px, 2.4vw, 23px);
      font-weight: 500;
      line-height: 1.6;
      letter-spacing: .04em;
      text-align: center;
    }

  
    .cs-concern .cs-concern__dialogue {
      display: grid;
      grid-template-columns: clamp(112px, 16vw, 156px) minmax(0, 1fr);
      align-items: center;
      gap: 24px;
      width: 100%;
      max-width: 900px;
      margin: 0 auto 26px;
    }
    .cs-concern .cs-concern__portrait {
      width: 100%;
      min-width: 0;
      aspect-ratio: 1;
      margin: 0;
      overflow: hidden;
      border-radius: 50%;
      background: var(--cs-concern-portrait);
    }
    .cs-concern .cs-concern__image {
      display: block;
      width: 100%;
      max-width: 100%;
      height: auto;
      aspect-ratio: 1;
      object-fit: contain;
    }
    .cs-concern .cs-concern__bubble {
      position: relative;
      min-width: 0;
      margin: 0;
      padding: 17px 22px;
      border-radius: 5px;
      background: var(--cs-concern-bubble);
      color: var(--cs-concern-text);
      font-size: clamp(14px, 1.6vw, 16px);
      line-height: 1.9;
      overflow-wrap: anywhere;
    
    }
    .cs-concern .cs-concern__bubble::before {
      position: absolute;
      top: 50%;
      left: -16px;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 11px 17px 11px 0;
      border-color: transparent var(--cs-concern-bubble) transparent transparent;
      transform: translateY(-50%);
      content: "";
    }
    .cs-concern .cs-concern__bubble p { margin: 0;font-size: 16px;}
    .cs-concern .cs-concern__bubble p + p { margin-top: .75em; }

    .cs-concern .cs-concern__warning {
      margin: 0 auto;
      font-size: clamp(14px, 1.6vw, 16px);
      text-align: center;
    }
    .cs-concern .cs-concern__warning-label {
      display: block;
      margin-bottom: 3px;
      font-weight: 500;
    }

    
    .cs-concern .cs-concern__solution {
      margin: 24px 0 28px;
      color: var(--cs-concern-blue);
      font-family: var(--cs-concern-mincho);
      font-size: clamp(26px, 4.5vw, 40px);
      font-weight: 600;
      line-height: 1.5;
      text-align: center;
    }
    .cs-concern .cs-concern__solution-first { display: block; }
    .cs-concern .cs-concern__solution-small { margin-left: .06em; font-size: .7em; }
    .cs-concern .cs-concern__solution-main {
      display: block;
      color: var(--cs-concern-cyan);
      font-size: clamp(27px, 5vw, 44px);
    }
    .cs-concern .cs-concern__underline {
      position: relative;
      display: inline-block;
      max-width: 100%;
      isolation: isolate;
    }
    .cs-concern .cs-concern__underline::before {
      position: absolute;
      right: 5%;
      bottom: .07em;
      left: 5%;
      z-index: -1;
      height: 3px;
      border-radius: 50%;
      background: var(--cs-concern-yellow);
      transform: rotate(-2deg);
      content: "";
    }
    .cs-concern .cs-concern__underline::after {
      position: absolute;
      bottom: -.13em;
      left: 48%;
      z-index: -1;
      width: .85em;
      height: .34em;
      border: 2px solid var(--cs-concern-yellow);
      border-radius: 50%;
      transform: rotate(12deg);
      content: "";
    }
    .cs-concern .cs-concern__description {
      max-width: 920px;
      margin: 0 auto;
      font-size: clamp(14px, 1.5vw, 16px);
      text-align: center;
    }

    
    @media (max-width: 640px) {
      .cs-concern { padding: 26px 16px; }
      .cs-concern .cs-concern__dialogue { grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 20px; }
      .cs-concern .cs-concern__portrait { width: 112px; }
      .cs-concern .cs-concern__bubble { width: 100%; padding: 16px 18px; }
      .cs-concern .cs-concern__bubble::before {
        top: -15px;
        left: 50%;
        border-width: 0 12px 16px;
        border-color: transparent transparent var(--cs-concern-bubble);
        transform: translateX(-50%);
      }
      .cs-concern .cs-concern__solution { margin: 24px 0 28px; }
    }
    
    @container cs-concern (max-width: 600px) {
      .cs-concern .cs-concern__dialogue { grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 20px; }
      .cs-concern .cs-concern__portrait { width: 112px; max-width: 100%; }
      .cs-concern .cs-concern__bubble { width: 100%; padding: 16px 18px; }
      .cs-concern .cs-concern__bubble::before {
        top: -15px;
        left: 50%;
        border-width: 0 12px 16px;
        border-color: transparent transparent var(--cs-concern-bubble);
        transform: translateX(-50%);
      }
      .cs-concern .cs-concern__solution { font-size: clamp(26px, 6cqi, 34px); }
      .cs-concern .cs-concern__solution-main { font-size: clamp(27px, 7cqi, 38px); }
    }


    .cs-airflow {
      --cs-blue: #009fe8;
      --cs-cyan: #22bcec;
      --cs-gray: #898989;
      --cs-navy: #006b9b;
      --cs-text: #4f5f6c;
      --cs-lime: #8cae18;
      --cs-yellow: #fff18c;
      --cs-arrow-width: 44px;
      width: 100%;
      max-width: 960px;
      margin: 0 auto;
      padding: 24px 16px 32px;
      color: var(--cs-text);
      font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
      font-size: 16px;
      line-height: 1.7;
      overflow-wrap: anywhere;
    }
    .cs-airflow,
    .cs-airflow *,
    .cs-airflow *::before,
    .cs-airflow *::after { box-sizing: border-box; }

    .cs-airflow .cs-airflow__box {
      overflow: hidden;
      border: 1px solid #e0eaf0;
      border-radius: 0 0 22px 22px;
      background: #fff;
    }
    .cs-airflow .cs-airflow__title {
      margin: 0;
      padding: 10px 16px;
      background: #0097E1;
      color: #fff;
      font-size: clamp(17px, 2.2vw, 26px);
      font-weight: 700;
      line-height: 1.5;
      text-align: center;
    }
    .cs-airflow .cs-airflow__body { padding: 26px clamp(18px, 4vw, 48px) 30px; }
    .cs-airflow .cs-airflow__comparison {
      display: grid;
      grid-template-columns: minmax(0, 1fr) var(--cs-arrow-width) minmax(0, 1fr);
      gap: 0 14px;
      align-items: stretch;
    }
    .cs-airflow .cs-airflow__comparison--images > :last-child { grid-column: 3; }
    .cs-airflow .cs-airflow__panel {
      --cs-panel-color: var(--cs-gray);
      min-width: 0;
      margin: 0;
      border: 1px solid var(--cs-panel-color);
      background: #fff;
    }
    .cs-airflow .cs-airflow__panel--after { --cs-panel-color: var(--cs-cyan); }
    .cs-airflow .cs-airflow__panel-title {
      margin: 0;
      padding: 5px 10px;
      background: var(--cs-panel-color);
      color: #fff;
      font-size: clamp(14px, 1.7vw, 18px);
      font-weight: 700;
      line-height: 1.5;
      text-align: center;
    }
    .cs-airflow .cs-airflow__image-link {
      display: block;
      padding: 12px;
      background: #fff;
      color: inherit;
      text-decoration: none;
    }
    .cs-airflow .cs-airflow__image {
      display: block;
      width: 100%;
      height: auto;
      aspect-ratio: 6 / 5;
      object-fit: contain;
      transition: opacity .2s ease;
    }
    .cs-airflow .cs-airflow__image-link:focus-visible {
      outline: 3px solid var(--cs-navy);
      outline-offset: -4px;
    }
    @media (hover: hover) {
      .cs-airflow .cs-airflow__image-link:hover .cs-airflow__image { opacity: .75; }
    }

    .cs-airflow .cs-airflow__message { margin: 30px 0; text-align: center; }
    .cs-airflow .cs-airflow__lead {
      margin: 0 0 8px;
      color: var(--cs-navy);
      font-size: 18px;
    }
    .cs-airflow .cs-airflow__key {
      margin: 0;
      color: var(--cs-blue);
      font-size: clamp(22px, 3.3vw, 32px);
      font-weight: 700;
      line-height: 1.65;
    }
    .cs-airflow .cs-airflow__underline {
      padding: 0 .06em .12em;
      background: linear-gradient(transparent 78%, var(--cs-yellow) 78%, var(--cs-yellow) 92%, transparent 92%);
      -webkit-box-decoration-break: clone;
      box-decoration-break: clone;
    }
    .cs-airflow .cs-airflow__key-small {
      display: inline-block;
      margin-left: .25em;
      color: var(--cs-navy);
      font-size: .55em;
    }
    .cs-airflow .cs-airflow__list {
      display: grid;
      gap: 4px;
      margin: 0;
      padding: 13px 12px;
      list-style: none;
      font-size: clamp(13px, 1.5vw, 15px);
    }
    .cs-airflow .cs-airflow__list li { position: relative; margin: 0; padding: 0 0 0 1.15em;font-size: 16px; }
    .cs-airflow .cs-airflow__list li::before {
      position: absolute;
      top: 0;
      left: 0;
      color: var(--cs-lime);
      font-weight: 700;
      content: "✓";
    }
    .cs-airflow .cs-airflow__arrow {
      align-self: center;
      width: 100%;
      height: 66px;
      background: var(--cs-cyan);
      clip-path: polygon(0 28%, 42% 28%, 42% 0, 100% 50%, 42% 100%, 42% 72%, 0 72%);
    }

    .cs-airflow .cs-airflow__summary {
      margin: 18px 0 0;
      font-size: 20px;
      font-weight: 700;
      text-align: center;
      color: #FFF;
      text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    }
    .cs-airflow .cs-airflow__compatibility {
      margin: 30px 0;
      color: var(--cs-navy);
      font-size: clamp(18px, 2.5vw, 32px);
      font-weight: 700;
      text-align: center;
    }
    .cs-airflow .cs-airflow__compatibility span {
      background: linear-gradient(transparent 64%, var(--cs-yellow) 64%);
      -webkit-box-decoration-break: clone;
      box-decoration-break: clone;
    }
    .cs-airflow .cs-airflow__benefits {
      display: flex;
      justify-content: center;
      gap: 24px;
      margin: 0;
      padding: 0;
      list-style: none;
    }
    .cs-airflow .cs-airflow__benefit {
      display: flex;
      align-items: center;
      justify-content: center;
      min-width: 0;
      min-height: 86px;
      margin: 0;
      padding: 20px 28px;
      border: 1px solid #e0eaf0;
      border-radius: 10px;
      background: #fff;
      box-shadow: 0 4px 10px rgb(25 77 103 / 10%);
      color: var(--cs-navy);
      font-size: clamp(19px, 2.4vw, 25px);
      font-weight: 700;
      text-align: center;
    }
    .cs-airflow .cs-airflow__note { margin: 16px 0 0; font-size: 20px; font-weight: 700; text-align: center;color: #FFF;text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5)}

   
    @media (max-width: 640px) {
      .cs-airflow { padding: 16px 8px 24px; }
      .cs-airflow .cs-airflow__body { padding: 22px 18px 24px; }
      .cs-airflow .cs-airflow__comparison { grid-template-columns: minmax(0, 1fr); gap: 18px; }
      .cs-airflow .cs-airflow__comparison--images > :last-child { grid-column: auto; }
      .cs-airflow .cs-airflow__comparison--images .cs-airflow__panel { width: 100%; max-width: 360px; justify-self: center; }
      .cs-airflow .cs-airflow__panel-title { font-size: 16px; }
      .cs-airflow .cs-airflow__list { font-size: 14px; }
      .cs-airflow .cs-airflow__message { margin: 26px 0; }
      .cs-airflow .cs-airflow__arrow {
        justify-self: center;
        width: 58px;
        height: 36px;
        clip-path: polygon(28% 0, 72% 0, 72% 42%, 100% 42%, 50% 100%, 0 42%, 28% 42%);
      }
      .cs-airflow .cs-airflow__benefits { flex-direction: column; align-items: center; gap: 14px; }
      .cs-airflow .cs-airflow__benefit { width: 100%; max-width: 360px; min-height: 72px; padding: 18px; }
      .cs-airflow .cs-airflow__summary br { display: none; }
    }
    @media (prefers-reduced-motion: reduce) {
      .cs-airflow .cs-airflow__image { transition: none; }
    }


    .cv-video {
      --cv-blue: #0072bd;
      --cv-navy: #123e66;
      --cv-cyan: #18afe3;
      --cv-text: #415568;
      --cv-muted: #65788a;
      --cv-line: #dce8f0;
      --cv-soft: #f1f8fc;
      --cv-background: #fff;
      --cv-sticky-top: 24px; 
      width: 100%;
      max-width: 1280px;
      margin: 0 auto;
      padding: clamp(32px, 5vw, 64px) clamp(16px, 3vw, 32px);
      background: var(--cv-background);
      color: var(--cv-text);
      font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
      font-size: 16px;
      line-height: 1.85;
      overflow-wrap: anywhere;
      container-type: inline-size;
      container-name: cv-video;
    }
    .cv-video,
    .cv-video *,
    .cv-video *::before,
    .cv-video *::after { box-sizing: border-box;font-size: 16px; }
    .cv-video .cv-video__heading {
      margin: 0;
      color: var(--cv-navy);
      font-size: clamp(24px, 3vw, 32px);
      font-weight: 700;
      line-height: 1.5;
      text-align: center;
    }
    .cv-video .cv-video__heading::after {
      display: block;
      width: 44px;
      height: 3px;
      margin: 15px auto 0;
      background: var(--cv-cyan);
      content: "";
    }
    .cv-video .cv-video__intro { margin: 16px 0 22px; text-align: center; }
    .cv-video .cv-video__nav {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 10px;
      margin-bottom: 34px;
    }
    .cv-video .cv-video__nav a {
      display: inline-flex;
      align-items: center;
      min-height: 44px;
      padding: 8px 16px;
      border: 1px solid var(--cv-line);
      border-radius: 6px;
      color: var(--cv-navy);
      font-size: 14px;
      font-weight: 700;
      text-decoration: none;
    }
    .cv-video .cv-video__items { display: grid; gap: 42px; counter-reset: cv-movie; }
    .cv-video .cv-video__item {
      min-width: 0;
      margin: 0;
      padding: 0 0 40px;
      border-bottom: 1px solid var(--cv-line);
      scroll-margin-top: calc(var(--cv-sticky-top) + 24px);
      counter-increment: cv-movie;
    }
    .cv-video .cv-video__item:last-child { padding-bottom: 0; border-bottom: 0; }
    .cv-video .cv-video__item-heading {
      display: grid;
      grid-template-columns: 64px minmax(0, 1fr);
      align-items: center;
      gap: 16px;
      margin-bottom: 24px;
    }
    .cv-video .cv-video__number {
      color: #83cce8;
      font-family: Arial, sans-serif;
      font-size: 52px;
      font-weight: 700;
      line-height: 1;
      letter-spacing: -.05em;
    }
    .cv-video .cv-video__number::before { content: counter(cv-movie, decimal-leading-zero); }
    .cv-video .cv-video__title {
      margin: 0;
      color: var(--cv-navy);
      font-size: clamp(19px, 2.3vw, 25px);
      font-weight: 700;
      line-height: 1.6;
    }

 
    .cv-video .cv-video__layout {
      display: grid;
      grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
      align-items: start;
      gap: 20px clamp(24px, 3.5vw, 44px);
    }
    .cv-video .cv-video__media { grid-column: 1; grid-row: 1 / 3; min-width: 0; margin: 0; }
    .cv-video .cv-video__copy { grid-column: 2; grid-row: 1; min-width: 0; }
    .cv-video .cv-video__frame {
      position: relative;
      width: 100%;
      aspect-ratio: 16 / 9;
      overflow: hidden;
      border-radius: 12px;
      background: #eaf3f9;
      box-shadow: 0 5px 18px rgb(18 62 102 / 10%);
    }
    .cv-video .cv-video__thumbnail {
      position: relative;
      display: block;
      width: 100%;
      height: 100%;
      color: #fff;
      text-decoration: none;
      isolation: isolate;
    }
    .cv-video .cv-video__thumbnail img {
      display: block;
      width: 100%;
      height: 100%;
      margin: 0;
      object-fit: cover;
      transition: transform .25s ease;
    }
    .cv-video .cv-video__thumbnail::after {
      position: absolute;
      inset: 0;
      z-index: 1;
      background: linear-gradient(transparent 48%, rgb(0 20 40 / 65%));
      pointer-events: none;
      content: "";
    }
    .cv-video .cv-video__play {
      position: absolute;
      top: 50%;
      left: 50%;
      z-index: 2;
      display: grid;
      place-items: center;
      width: 70px;
      height: 48px;
      border-radius: 14px;
      background: #e72129;
      transform: translate(-50%, -50%);
    }
    .cv-video .cv-video__play::before {
      width: 0;
      height: 0;
      margin-left: 4px;
      border-style: solid;
      border-width: 10px 0 10px 17px;
      border-color: transparent transparent transparent #fff;
      content: "";
    }
    .cv-video .cv-video__thumbnail-label { position: absolute; right: 18px; bottom: 14px; left: 18px; z-index: 2; font-size: 15px; font-weight: 700; }
    .cv-video .cv-video__caption { margin-top: 12px; color: var(--cv-muted); font-size: 14px; }
    .cv-video .cv-video__external { display: inline-flex; align-items: center; min-height: 44px; margin-top: 3px; color: var(--cv-blue); font-size: 14px; font-weight: 700; text-underline-offset: 4px; }
    .cv-video .cv-video__frame--embed { min-height: 200px; }
    .cv-video .cv-video__frame iframe { display: block; width: 100%; height: 100%; border: 0; }


    .cv-video .cv-video__conclusion {
      margin: 0 0 18px;
      padding: 16px 18px;
      border-left: 3px solid var(--cv-cyan);
      border-radius: 0 6px 6px 0;
      background: var(--cv-soft);
      color: var(--cv-navy);
      font-size: clamp(17px, 1.8vw, 20px);
      font-weight: 700;
      line-height: 1.7;
    }
    .cv-video .cv-video__points { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; text-align: left;}
    .cv-video .cv-video__points li { position: relative; margin: 0; padding: 0 0 0 24px; font-size: 15px; }
    .cv-video .cv-video__points li::before { position: absolute; top: .05em; left: 0; color: var(--cv-blue); font-weight: 700; content: "✓"; }
    .cv-video .cv-video__points strong { color: var(--cv-navy); font-weight: 700; }
    .cv-video .cv-video__details { grid-column: 2; grid-row: 2; min-width: 0; border: 1px solid var(--cv-line); border-radius: 8px; background: #fff; }
    .cv-video .cv-video__details > summary {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      min-height: 52px;
      padding: 13px 18px;
      border-radius: 8px;
      color: var(--cv-blue);
      font-size: 15px;
      font-weight: 700;
      line-height: 1.6;
      list-style: none;
      cursor: pointer;
    }
    .cv-video .cv-video__details > summary::-webkit-details-marker { display: none; }
    .cv-video .cv-video__details > summary::after { flex: 0 0 auto; width: 9px; height: 9px; margin-right: 3px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); content: ""; }
    .cv-video .cv-video__details[open] > summary { border-radius: 8px 8px 0 0; border-bottom: 1px solid var(--cv-line); background: var(--cv-soft); }
    .cv-video .cv-video__details[open] > summary::after { transform: rotate(225deg) translate(-2px, -2px); }
    .cv-video .cv-video__when-open { display: none; }
    .cv-video .cv-video__details[open] .cv-video__when-open { display: inline; }
    .cv-video .cv-video__details[open] .cv-video__when-closed { display: none; }
    .cv-video .cv-video__detail-body { padding: 20px; font-size: 15px; line-height: 1.95; text-align: left;}
    .cv-video .cv-video__detail-body h4 { margin: 22px 0 8px; color: var(--cv-navy); font-size: 16px; line-height: 1.7;font-weight: 700; }
    .cv-video .cv-video__detail-body h4:first-child { margin-top: 0; font-size: 20px;font-weight: 700;}
    .cv-video .cv-video__detail-body p { margin: 0 0 14px; font-size:16px;}
    .cv-video .cv-video__detail-body p:last-child { margin-bottom: 0; }
    .cv-video .cv-video__detail-body a { color: var(--cv-blue); text-underline-offset: 4px; }
    .cv-video .cv-video__conditions { display: grid; grid-template-columns: 7em minmax(0, 1fr); gap: 1px; margin: 0 0 18px; padding: 1px; background: var(--cv-line); font-size: 14px; }
    .cv-video .cv-video__conditions dt { margin: 0; padding: 9px 12px; background: var(--cv-soft); color: var(--cv-navy); font-weight: 700; }
    .cv-video .cv-video__conditions dd { margin: 0; padding: 9px 12px; background: #fff; }
    .cv-video .cv-video__annotation { color: var(--cv-muted); font-size: 13px; }


    .cv-video .cv-video__item--wide .cv-video__media { grid-row: 1; }
    .cv-video .cv-video__item--wide .cv-video__details { grid-column: 1 / -1; }
    .cv-video .cv-video__item--wide .cv-video__detail-body { max-width: 880px; margin: 0 auto; padding: 24px; }

    @media (min-width: 901px) and (min-height: 700px) {
      .cv-video .cv-video__media { position: sticky; top: var(--cv-sticky-top); }
    }
    @media (hover: hover) {
      .cv-video .cv-video__thumbnail:hover img { transform: scale(1.035); }
      .cv-video .cv-video__nav a:hover,
      .cv-video .cv-video__details > summary:hover { background: var(--cv-soft); }
    }
    .cv-video a:focus-visible,
    .cv-video summary:focus-visible { outline: 3px solid var(--cv-blue); outline-offset: 3px; }
    .cv-video .cv-video__thumbnail:focus-visible { outline-offset: -4px; }

  
    @media (max-width: 900px) {
      .cv-video .cv-video__layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
      .cv-video .cv-video__item .cv-video__media,
      .cv-video .cv-video__item .cv-video__copy,
      .cv-video .cv-video__item .cv-video__details { position: static; grid-column: 1; grid-row: auto; }
    }

    @container cv-video (max-width: 800px) {
      .cv-video .cv-video__layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
      .cv-video .cv-video__item .cv-video__media,
      .cv-video .cv-video__item .cv-video__copy,
      .cv-video .cv-video__item .cv-video__details { position: static; grid-column: 1; grid-row: auto; }
    }
    @media (max-width: 520px) {
      .cv-video .cv-video__item-heading { grid-template-columns: 46px minmax(0, 1fr); gap: 12px; margin-bottom: 20px; }
      .cv-video .cv-video__number { font-size: 40px; }
      .cv-video .cv-video__intro { font-size: 14px; }
      .cv-video .cv-video__items { gap: 32px; }
      .cv-video .cv-video__detail-body { padding: 16px; }
      .cv-video .cv-video__conditions { grid-template-columns: minmax(0, 1fr); }
    }
    @media (prefers-reduced-motion: reduce) {
      .cv-video .cv-video__thumbnail img { transition: none; }
    }
    @media print {
      .cv-video .cv-video__media { position: static; }
      .cv-video .cv-video__nav { display: none; }
    }