@charset "UTF-8";

#contents {
    background-color: #fff;
    color: #000;
}
#contents *,
#contents *::after,
#contents *::before {
    box-sizing: border-box;
    font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Segoe U", "Meiryo", sans-serif;
}
#contents img {
    max-width: 100%;
    margin: auto;
}

#choice-mv{
  overflow: hidden;
  position: relative;
}
#choice-mv .c-copy{
  background-color: #cddbef;
  position: absolute;
  width: 27%;
  left: 12%;
  top: 50%;
  z-index: 2;
  transform: translateY(-55%);
  padding: 3%;
  transition: .7s;
  transition-delay:.5s;
  opacity: 0;
}
#choice-mv .c-copy .tit{ font-size: 2vw; font-weight: bold; }
#choice-mv .c-copy .tit span{ display: block; font-size: 200%; line-height: 1.2; }
#choice-mv .c-copy .sub{ font-size: .9vw; font-weight: 500; }
#choice-mv .c-copy .img{ display: flex; justify-content:space-around; margin: 5% auto 0;}
#choice-mv .c-img{
  position: relative;
  float: right;
  right: 0;
  width: 63%; 
  transition: .7s; transition-delay:1.2s; opacity: 0; 
}
#choice-mv.play .c-copy{ transform: translateY(-50%); opacity: 1; }
#choice-mv.play .c-img{ opacity: 1; }

@media screen and (max-width:1200px) {

#choice-mv .c-copy{
  width: 34%;
  left: 5%;
  padding: 3%;
}
#choice-mv .c-copy .tit{ font-size: 26px; }
#choice-mv .c-copy .sub{ font-size: 13px; }

}

.c-sec{
  max-width: 1000px;
  margin: 60px auto;
  font-size: 17px;
  line-height: 2;
}
.c-sec > p{ margin-bottom: 1em; }
.c-sec > p strong{ background: linear-gradient(transparent 50%, #cddbef 50%); }
.c-sec > p.strong{ background-color: #F2F2F2; display: inline-block; font-size: 110%; font-weight: bold; margin: 2em 0 3em; }
.c-ph{ margin: 50px auto 60px; text-align: center; max-width: 800px; }
.c-ph.flex2{ display: flex; justify-content: space-between; max-width: 1000px; }
.c-ph figcaption{ text-align: left; padding-top: 10px; }
.c-ph a{ transition: .3s; }
.c-ph a:hover{ opacity:0.6; }
.c-sec > h2{ margin-top: 100px; }
.c-sec h2.tit{ color: #1F5BAC; font-size: 34px; font-weight: 600; position: relative; padding-left: 20px; line-height: 1.5; margin-bottom: 20px; }
.c-sec h2.tit:before{ content: ""; position: absolute; top: 10%; left: 0; width: 8px; height: 80%; background-color: #1F5BAC; }
.c-sec h2.point{ font-size: 20px; background-color: #EFEFEF; padding: .5em 1.5em; line-height: 1.6; margin-bottom: 20px; font-weight: bold; }
.c-sec h2.point span{ font-style: italic; }
.c-sec h2.point span.maru{ font-style: normal; font-size: 130%; }
.c-sec h3.tit{ font-size: 24px; font-weight: 600; line-height: 1.5; margin-bottom: 20px; border-bottom: 3px solid #1F5BAC; }

.c-secimg{ margin: 60px auto; max-width: 1280px; }
#choice02.c-secimg,#choice03.c-secimg,#choice04.c-secimg,#choice02-2.c-sec{ margin-top: 120px; }
.c-secimg h2{ font-size: 30px; font-weight: 600; position: relative; max-width: 1000px; padding-left: 11%; margin: 20px auto 0; transition: .7s; transition-delay:.2s; opacity: 0; transform: translateY(50px);  }
.c-secimg h2 span{ transform: translateY(-65px); display: block; position: absolute; left: 0; top: 0; }
.c-secimg .img { transition: .7s; opacity: 0; transform: translateY(50px); }
.c-secimg.play .img,.c-secimg.play h2{ opacity: 1; transform: translateY(0); }

.c-sec.prof{ background-color: #EFEFEF; padding: 50px;  }
.c-sec.prof > div{ display: flex; justify-content: space-between; }
.c-sec.prof .img{ width: 435px; }
.c-sec.prof .txtarea{ width: 435px; }
.c-sec.prof .tit{ font-size: 24px; color: #1F5BAC; font-weight: bold; letter-spacing: -0.01em; line-height: 1; position: relative; }
.c-sec.prof .tit::before{ content: ""; position: absolute; top: 50%; left: 0; width: 100%; height: 1px; background-color: #000; }
.c-sec.prof .tit span{ background-color: #EFEFEF; display: inline-block; z-index: 2; position: relative; padding-right: 10px; }
.c-sec.prof .name{ font-size: 18px; font-weight: bold; line-height: 1.5; }
.c-sec.prof .name span{ font-size: 80%; font-weight: normal; }
.c-sec.prof .name-en{ font-size: 24px; font-weight: bold; position: relative; line-height: 1; margin-bottom: 8px; }
.c-sec.prof .name-en span{ color: #1F5BAC; }
.c-sec.prof .txt{ font-size: 12px; position: relative; padding-top: 8px; overflow: hidden; line-height: 1.85;}
.c-sec.prof .txt::before {
  content: "";
  background-image: linear-gradient(to right, #444, #444 5px, transparent 5px, transparent 12px);
  background-size: 8px 3px;
  background-repeat: repeat-x;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.c-sec.prof .txt .ph{ float: right; width: 98px; margin: 5px 0 10px 15px; }

.point-area{ background-color: #E7EDF2; padding: 50px 10%; font-size: 20px; font-weight: bold; }
.point-area span{ font-style: italic; }
span.maru{ color: #1F5BAC;  position: relative; display: inline-block; font-style: normal !important; font-weight: bold; font-size: 120%; padding: 0 5px; }
span.maru:before{  }

.check-area{ background-color: #E4EBF5 ; padding: 50px;  display: flex; justify-content: space-between; }
.check-area h2{ width: 10%; font-size: 28px; color: #00AFFE; font-style: italic; font-weight: bold;  }
.check-area > div{ width: 84%; border-left: 1px solid #000; padding-left: 5%; line-height: 1.8; }
.check-area h3{ font-weight: 600; font-size: 18px; text-decoration: underline; }
.check-area h4{ font-weight: 600; font-size: 18px; position: relative; padding-left: .7em; }
.check-area h4:before{ content: "・"; position: absolute; top: 0; left: -.3em; }
.check-area ul{ padding-left: .7em; }
.check-area ul li{ position: relative; padding-left: 1em; }
.check-area ul li:before{ content: ""; position: absolute; top: .5em; left: 0; width: .7em; height: .7em; border: 1px solid #000; }

fieldset.fl{ float: right; margin: 0 0 10px 15px; }
blockquote{ position:relative; background-color: #F8F8F8; margin-bottom: 10px; }
blockquote.fig{ margin: 10px 0 0; background: none; }
blockquote:not(.fig):before,blockquote:not(.fig):after{
  content: "";
  position:absolute;
  width: 16px;
  height: 12px;
  background: url(../img/blockq.png);
  background-size: cover;
}
blockquote:not(.fig):before{ left: 20px; top: 20px; }
blockquote:not(.fig):after{ right: 20px; bottom: 20px; transform:rotate(180deg); }
blockquote:not(.fig) p{ padding: 30px 50px; font-weight: 600; color: #505050; font-size: 14px; }
blockquote.fig p{ padding: 0; font-weight: 400; color: #505050; font-size: 14px; }

#checkList{ position: relative; }
#checkList p{ width: 48%;  }
.checkimg{ width: 48%; position: absolute; right: 0; top: 30px; }
.checkimg .tit{ width: 240px; position: absolute; right: 0; top: 50px; }
.checkimg .img{ width: 250px;  }
.checkimg a{ position: absolute; right: 50px; top: 130px; display: block; border-radius:100px; background-color: #1F5BAC; width: 150px; height: 150px; color: #fff; text-align: center; padding: 40px 0 0; text-decoration: none; font-size: 14px; font-weight: 600; line-height: 1.5; transition: .3s; }
.checkimg a:hover{ background-color: #00AFFE; }
.checkimg a img{ display: inline-block; padding-top: 5px; }



.c-btnArea{
  max-width: 1000px;
  margin: 60px auto;
}
.c-btnArea ul{
  display: flex;
  justify-content: space-between;
}
.c-btnArea ul li{ width: 48%;}
.c-btnArea ul li a,#pickup ul li .txt a.carb{ display: block; background-color: #1F5BAC; padding: 1.5em 1em; font-size: 24px; font-weight: 600; color: #fff; text-align: center; text-decoration: none; position: relative; transition: .3s; }
.c-btnArea ul li a:hover,#pickup ul li .txt a.carb:hover{ background-color: #082b67; }
.c-btnArea ul li a:before,#pickup ul li .txt a.carb:before{
  content: "";
  position: absolute;
  right: 1em;
  top: 50%;
  margin-top: -12px;
  width: 16px;
  height: 16px;
  border: 3px solid;
  border-color:  transparent transparent #fff #fff;
  transform: rotate(-45deg);
}
#pickup ul li .txt a.carb{ padding: 1em 1em; font-size: 16px; margin-top: 15px; }
#pickup ul li .txt a.carb:before{ transform: rotate(225deg); width: 12px; height: 12px; border: 2px solid; border-color:  transparent transparent #fff #fff; margin-top: -7px; }
#pickup ul li .txt a.tlink{ display: block; margin-top: 5px;  }
.c-index{
  max-width: 840px;
  margin: 120px auto;
  text-align: center;
}
.c-index > h2{ font-size: 60px; display: inline-block; margin: 0 auto; position: relative; font-weight: bold; letter-spacing: -0.03em; }
.c-index > h2:before{ content: ""; position: absolute; width: 80px; height: 5px; background-color: #1F5BAC; left: 50%; bottom: 0; margin-left: -40px; }

.index{ display: flex; justify-content: space-between; margin: 60px auto; }
.index a{ text-decoration: none; display: block; line-height: 1.3; transition: .3s; }
.index > ul{ text-align: left; width: 360px; }
.index > ul > li{ margin-bottom: 50px; }
.index > ul > li > a{ font-weight: bold; font-size: 24px; color: #000;  position: relative; margin-bottom: 20px; }
.index > ul > li > a:hover{ color: #00AFFE; }
.index > ul > li > a:before{ content: ""; position: absolute; left: -38px; top: 2px; color: #00AFFE; font-style: italic; width: 30px; height: 30px; }
.index > ul > li.i1 > a:before{ background: url(../img/number1.png) center center; background-size: cover;  }
.index > ul > li.i2 > a:before{ background: url(../img/number2.png) center center; background-size: cover;  }
.index > ul > li.i3 > a:before{ background: url(../img/number3.png) center center; background-size: cover; }
.index > ul > li.i4 > a:before{ background: url(../img/number4.png) center center; background-size: cover;  }
.index  ul.sub > li{ margin-bottom: 20px; }
.index  ul.sub > li > a{ padding-left: 15px; position: relative; color: #1F5BAC; font-size: 18px; font-weight: 600; margin-bottom: 15px; }
.index  ul.sub > li > a:hover{ color: #00AFFE; }
.index  ul.sub > li > a:before{ content: ""; position: absolute; left: 0; top: 0; width: 5px; height: 100%; background-color: #1F5BAC; display: block; }
.index  ul.sub2{ margin-bottom: 30px; }
.index  ul.sub2 > li{ margin-bottom: 10px; padding-left: 15px; }
.index  ul.sub2 > li > a{ position: relative; color: #3C3C3C; font-size: 16px; font-weight: 600; display: inline-block; background: linear-gradient(transparent 60%, #fff 50%); }
.index  ul.sub2 > li > a:hover{ background: linear-gradient(transparent 50%, #cddbef 50%); }

#indexOpen{ position: fixed; display: block; right: 0; bottom: 0; z-index: 9000; transition: .3s; }
#indexOpen:hover{ opacity:0.6; }
#indexMenu{ position: fixed; left: 0;  bottom: 0; width: 100%; height: 100%; z-index: 8999; display: none;  transition: .3s; }

#indexMenu:before{ content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(255,255,255,0.5); }
#indexMenu > div{ position: absolute; left: 0; bottom: 0; background-color: #FAFAFA; width: 100%; }
#indexMenu .index{ display: flex; justify-content: space-between; max-width: 950px; margin: 50px auto 20px; }
#indexMenu .index > ul { width: 450px; }
#indexMenu .index > ul > li > a{ font-size: 18px; margin-bottom: 10px;}
#indexMenu .index > ul > li > a:before{ left: -32px; width: 20px; height: 20px; }
#indexMenu .index  ul.sub > li{ margin-bottom: 10px; }
#indexMenu .index  ul.sub > li > a{ font-size: 16px; margin-bottom: 10px; }
#indexMenu .index  ul.sub > li > a:before{ width: 3px; }


#pickup{ margin-bottom: 120px; }
#pickup > ul{ border-top: 1px solid #707070; }
#pickup > ul > li{ border-bottom: 1px solid #707070; position: relative; display: flex; justify-content: space-between; align-items:center; padding: 60px 0; }
#pickup > ul > li:before{ content: ""; position: absolute; left: 0; top: 20px; width: 167px; height: 33px; background: url(../img/eyesight.png) no-repeat; background-size: cover;}
#pickup > ul > li.eye-x:before{ width: 199px; height: 33px; background: url(../img/eyesight_x.png) no-repeat; background-size: cover; }
#pickup > ul > li.eye2:before{ width: 200px; height: 40px; background: url(../img/eyesight2.png) no-repeat; background-size: cover; }
#pickup > ul > li.eye3:before{ width: 400px; height: 40px; background: url(../img/eyesight3.png) no-repeat; background-size: cover; }
#pickup ul li .car{ width: 50%; }
#pickup ul li .car.jncap{ position: relative; }
#pickup ul li .car.jncap:before{ content: ""; position: absolute; left: 0; top: -30px; width: 100px; height: 100px; display: block; background: url(/safety/common/img/jncap.png) no-repeat; background-size: contain; }
#pickup ul li .car.jncap.jncap2021:before{ background-image: url(/safety/common/img/jncap2021.png); }
#pickup ul li .txt{ width: 50%; }
#pickup ul li .txt .logo{ margin-bottom: 15px; }
#pickup ul li .txt p{ font-size: 16px; line-height: 1.6; margin-bottom: 10px; }
#pickup ul li .txt .sub{ font-size: 14px; line-height: 1.6; }
#pickup ul li .txt .sub .note{ display: block; margin-top: .5em; }
#pickup ul li .txt .sub li{ position: relative; padding-left: 1em; }
#pickup ul li .txt .sub li:before{ content: ""; position: absolute; top: .5em; left: 0; width: .7em; height: .7em; border: 1px solid #000; }



.note{ color: #666; font-size: 75%; }

@media screen and (min-width: 769px) {
.sp { display: none !important; }
}
@media screen and (max-width: 768px) {

.pc{ display: none!important; }

#choice-mv .c-copy{
  position: static;
  width: 100%;
  z-index: 2;
  transform: translateY(0);
  padding: 10%;
}
#choice-mv.play .c-copy{ transform: translateY(0); }
#choice-mv .c-copy .tit{ font-size: 8vw; }
#choice-mv .c-copy .sub{ font-size: 3.5vw; }
#choice-mv .c-copy .img li{ width: 42%; }
#choice-mv .c-img{ float: none; width: 100%; }
.c-sec{ width: 90%; font-size: 14px; }
.c-btnArea{ width: 90%; }
.c-btnArea ul{ display: block;}
.c-btnArea ul li{ width: 100%;}
.c-btnArea ul li:first-child{ margin-bottom: 20px; }
.c-btnArea ul li a{ font-size: 4vw; }
.c-btnArea ul li a:before{
  right: 1em;
  margin-top: -12px;
  width: 10px;
  height: 10px;
  border: 2px solid;
  border-color:  transparent transparent #fff #fff;
}

.c-ph{ width: 90%; }
.c-ph.flex2{ display: block; }
.c-ph.flex2 figure:first-child,.c-ph.flex2 a:first-child{ margin-bottom: 20px; display: block; }
.c-sec > h2{ margin-top: 60px; }
.c-sec h2.tit{ font-size: 6.5vw; padding-left: 20px; }
.c-sec h2.tit:before{ width: 6px; top: 5%; height: 90%; }
.c-sec h2.point{ font-size: 4vw; padding: .5em 1em; line-height: 1.6; }
.c-sec h3.tit{ font-size: 5vw;  }

.c-secimg h2{ font-size: 4.5vw; padding-left: 18%; margin: 10px auto 0; }
.c-secimg h2 span{ transform: translateY(-35%); width: 18%; }


.c-sec.prof{ padding: 5%; width: 100%;  }
.c-sec.prof > div{ display: block; }
.c-sec.prof .img{ width: 100%; margin-bottom: 20px; }
.c-sec.prof .txtarea{ width: 100%; }
.c-sec.prof .tit{ font-size: 6vw; }
.c-sec.prof .name{ font-size: 5vw; }
.c-sec.prof .name-en{ font-size: 6vw; margin-bottom: 15px; }
.c-sec.prof .txt{ font-size: 2.8vw; padding-top: 15px;}
.c-sec.prof .txt::before {
  content: "";
  background-image: linear-gradient(to right, #444, #444 5px, transparent 5px, transparent 12px);
  background-size: 8px 3px;
  background-repeat: repeat-x;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.c-sec.prof .txt .ph{ float: right; width: 98px; margin: 5px 0 10px 15px; }
.point-area{ padding: 6%; font-size: 4vw; line-height: 1.5; }
.point-area li{ margin-bottom: 10px; }
.check-area{ padding: 5%;  display: block;}
.check-area h2{ width: 100%; font-size: 6vw;  }
.check-area > div{ width: 100%; border-left: none; padding-left: 0; }
.check-area h3{ font-size: 3.5vw; }
.check-area h4{ font-size: 3.5vw; }

#checkList p{ width: 100%;  }
.checkimg{ width: 100%; position: relative; top: 0; text-align: center; margin-bottom: 20px; }
.checkimg .tit{ width: 80%; position: static; margin: 20px auto;  }
.checkimg .img{ width: 85%; text-align: left; margin: 10px auto; padding-right: 30%;  }
.checkimg a{ position: absolute; right: 10px; top: 40%; display: block; width: 150px; height: 150px; color: #fff; text-align: center; padding: 40px 0 0; text-decoration: none; font-size: 14px; font-weight: 600; line-height: 1.5; transition: .3s; }
.checkimg a:hover{ background-color: #00AFFE; }
.checkimg a img{ display: inline-block; padding-top: 5px; }

fieldset.fl{ float: none; margin: 0 0 10px 0; }
blockquote:before{ left: 15px; top: 15px; }
blockquote:after{ right: 15px; bottom: 15px; }
blockquote p{ padding: 20px 40px; font-size: 14px; line-height: 1.6; }
blockquote.fig p{ font-size: 12px; }

.c-index{ width: 85%;  margin: 80px auto 100px; }
.index{ display: block; }
.index > ul{ width: 100%;  }
.index > ul > li{ margin-bottom: 50px; padding-left: 10%; }
.index > ul > li.img{ padding-left: 0; }
.index > ul > li > a{ font-size: 4.8vw; }
.index > ul > li > a:before{ width: 24px; height: 24px; left: -30px; }
.index  ul.sub > li > a{ font-size: 4vw; }
.index  ul.sub2 > li > a{ font-size: 3.5vw; }

#indexOpen{ width: 60px; height: 60px;  bottom:55px; }
#indexMenu{ bottom:55px; }
#indexMenu > div{ background-color: #fff; }
#indexMenu .index{ display: block; width: 100%; margin: 0 auto 60px; }
#indexMenu .index > ul { width: 100%; }
#indexMenu .index > ul > li{ margin-bottom: 0; padding: 10px 5px 0 15%; background-color: #FAFAFA;  }
#indexMenu .index > ul > li:first-child{ background-color: #F4F4F4; }
#indexMenu .index > ul > li > a{ font-size: 16px; margin-bottom: 0; padding-bottom: 10px; }
#indexMenu .index > ul > li > a:before{ left: -40px; width: 32px; height: 32px; }
#indexMenu .index  ul.sub > li{ margin-bottom: 0; position: relative; }
#indexMenu .index  ul.sub > li:after,#indexMenu .index  ul.sub > li:first-child:before{content: ""; position: absolute; left: -12%; bottom: 0; width: 107%; height: 1px; background-color: #BABABA;  }
#indexMenu .index  ul.sub > li:first-child:before{ bottom: auto; top: 0; }
#indexMenu .index  ul.sub > li > a{ font-size: 13px; margin-bottom: 0; padding: 10px 0 10px 10px; }
#indexMenu .index  ul.sub > li > a:before{ width: 3px; height: calc(100% - 20px); top: 10px; }


#pickup > ul > li{ display: block; padding: 40px 0; }
#pickup > ul > li:before{ content: ""; display: block; position: static; width: 140px; height: 28px; background-size: contain; }
#pickup > ul > li.eye-x:before{ width: 160px; height: 30px; background-size: contain; }
#pickup > ul > li.eye2:before{ width: 160px; height: 28px; background-size: contain; }
#pickup > ul > li.eye3:before{ width: 320px; height: 28px; background-size: contain; }
#pickup ul li .car{ width: 100%; }
#pickup ul li .txt{ width: 100%; }
#pickup ul li .txt .logo{ margin: 20px 0; }
#pickup ul li .txt p{ font-size: 4vw; }
#pickup ul li .txt .sub{ font-size: 3.5vw; }

#pickup ul li .car.jncap:before{ left: auto; right: 0; top: -40px; width: 65px; height: 65px; }

#linksBnrArea li { margin-bottom: 5px; }
#linksBnrArea li a { padding: 0 2% 5%; }
#linksBnrArea li a::after { width: 20px; height: 20px; right: 5%; margin-top: -10px; }
#footLinkArea {
    padding: 14% 5% 15%;
}
#footLinkArea ul {
    justify-content: space-around;
}
#footLinkArea ul li {
    width: 48% !important;
    text-align: center;
    margin-bottom: 2%;
}


}
@media screen and (max-width: 480px) {
    
}
.dilb { display: inline-block;}