@charset "utf-8";
/* CSS Document */

/* reset */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
}
ol, ul {
list-style: none;
}
img{
margin:0;
padding:0;
vertical-align:bottom;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
button{
        background-color: transparent;
        border: none;
        cursor: pointer;
        outline: none;
        padding: 0;
        appearance: none;
}


* {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
}
* img{
  max-width: 100%;
}
a {
	text-decoration:none;
}
a:hover{
	opacity:0.7;
}

.aligncenter{
	text-align:center;
}


.flex_wrap{
	flex-wrap: wrap;
}

.flex_between{
	justify-content: space-between;
}
.flex_center{
	align-items: center;
}

.small{
	font-size:14px;
}

.mt00{margin-top:0 !important;}
.mt05{margin-top:5px !important;}
.mt10{margin-top:10px !important;}
.mt15{margin-top:15px !important;}
.mt20{margin-top:20px !important;}
.mt25{margin-top:25px !important;}
.mt30{margin-top:30px !important;}
.mt35{margin-top:35px !important;}
.mt40{margin-top:40px !important;}
.mt45{margin-top:45px !important;}
.mt50{margin-top:50px !important;}
.mt55{margin-top:55px !important;}
.mt60{margin-top:60px !important;}
.mt65{margin-top:65px !important;}
.mt70{margin-top:70px !important;}

.mb00{margin-bottom:0 !important;}
.mb05{margin-bottom:5px !important;}
.mb10{margin-bottom:10px !important;}
.mb15{margin-bottom:15px !important;}
.mb20{margin-bottom:20px !important;}
.mb25{margin-bottom:25px !important;}
.mb30{margin-bottom:30px !important;}
.mb35{margin-bottom:35px !important;}
.mb40{margin-bottom:40px !important;}
.mb45{margin-bottom:45px !important;}
.mb50{margin-bottom:50px !important;}
.mb55{margin-bottom:55px !important;}
.mb60{margin-bottom:60px !important;}
.mb65{margin-bottom:65px !important;}
.mb70{margin-bottom:70px !important;}

.pc_none{
	display:none !important;
}
.pc_none_inline{
	display:none;
}

.color_red{
  color:#E54848;
}
.txt_s{
  font-size: 13px;
}

.notoserif{
  font-family: "Noto Serif JP", serif;
}

/*-------------------------------------------*/
html{
  scroll-behavior: smooth;
}
.wrap{
	margin:0;
	padding:0;
	font-size:17px;
	line-height: 1.6;
	width:100%;
  letter-spacing: 0.1em;
	color:#2e323b;
	font-family: "Noto Sans JP", sans-serif;
  overflow: hidden;
}

.header_visual{
  background-color: #0196D8;
  padding: 20px;
  text-align: center;
}

.mv{
  background-color: #0196D8;
  padding-bottom:60px;
}
.mv .inner{
  max-width: 1200px;
  margin: 0 auto;
  
}
.mv .inner .orange_logo{
  text-align: center;
  margin-top: 40px;
}
.mv .inner p{
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  text-align: center;
  margin-top: 20px;
}

.headline{
  font-size: 18px;
  margin: 40px auto;
  max-width: 1200px;
}

.advisor{
  background-color: #E4F0F8;
  padding: 40px 20px;
}
.advisor .inner{
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap:40px;
}
.advisor .inner .img{
  flex-shrink: 0;
}
.advisor .inner .txt .cap{
  font-size: 20px;
}
.advisor .inner .txt .name{
  font-size: 27px;
  font-weight: 700;
}
.advisor .inner .txt .intro{
  font-size: 15px;
  margin-top: 15px;
}

.toc{
  max-width: 1200px;
  margin: 60px auto;
}
.toc .ttl{
  font-size: 23px;
  font-weight: 700;
  color: #21A2DC;
  border-bottom: solid 2px #21A2DC;
  padding-bottom: 5px;
}
.toc ul li{
  
  border-bottom: dashed 1px #707070;
}
.toc ul li a{
  display: block;
  width: fit-content;
  color: #2e323b;
  font-size: 18px;
  font-weight: 700;
  padding: 15px 20px 15px 0;
  position: relative;
}
.toc ul li a::before {
  content: '';
  width: 8px;
  height: 8px;
  border-top: solid 1px #0007CF;
  border-right: solid 1px #0007CF;
  position: absolute;
  right: 0;
  top: 50%;
  transform: rotate(45deg) translateY(-50%);
}

.point{
  background-color: #E5F1F9;
  margin: 140px auto 100px;
  padding: 80px 20px;
  position: relative;
}
.point .main_ttl{
  position: absolute;
  top:0;
  transform: translateY(-60%);
  left:0;
  width: 100%;
  display: flex;
  justify-content: center;
}
.point .main_ttl img{
  max-width: 840px;
}

.point .inner{
  max-width: 1200px;
  margin: 0 auto;
}
.point .inner > .flex{
  display: flex;
  justify-content: space-between;
  gap:40px;
  margin-top: 60px;
}
.point .inner > .flex .item{
  max-width: 560px;
}
.point .inner > .flex .item .ttl{
  text-align: center;
  color: #21A2DC;
  font-size: 23px;
  font-weight: 700;
  margin-bottom: 10px;
}
.point .inner > .flex .item p{
  margin-top: 20px;
}

.point .inner .pickup{
  background-color: #FFF7AB;
  max-width: 1030px;
  margin: 120px auto 0;
  padding:80px 120px 60px;
  border-radius: 40px;
  position: relative;
}
.point .inner .pickup .ttl{
  position: absolute;
  top:0;
  transform: translateY(-50%);
  left: 0;
  width: 100%;
  display: flex;
  justify-content: center;
}
.point .inner .pickup .product_name{
  font-size: 23px;
  font-weight: 700;
  color: #21A2DC;
  text-align: center;
  margin-bottom: 20px;
}

.point .inner .pickup .subttl{
  margin-top: 60px;
}
.point .inner .pickup .img + .subttl{
  margin-top: -30px;
}

.point .inner .pickup .notes{
  font-size: 14px;
  margin-top: 30px;
}
.point .inner .pickup .flex{
  display:flex;
  justify-content: space-between;
  gap:40px;
  margin-top: 30px;
}
.point .inner .pickup .flex .img{
  flex-shrink: 0;
}

.point4 .supplement{
  background-color: #fff;
  padding: 20px;
  display: flex;
  gap:40px;
  margin-top: 40px;
}
.point4 .supplement .img{
  flex-shrink: 0;
}
.point4 .supplement .txt{
  margin-top: 30px;
}
.point4 .supplement .ttl{
  color: #21A2DC;
  font-size: 23px;
  font-weight: 700;
  margin-bottom: 20px;
}
.point4 .inner .pickup .img + .subttl{
  margin-top: 10px;
}

.product-content{
  padding: 60px 20px;
  position: relative;
}
.product-content .inner{
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.product-content .spec{
  display: flex;
  justify-content: center;
  margin-top: 0;
}

.product-content .spec ul li{
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.product-content .spec ul .spec_ttl{
  text-align: center;
}

.product-content .spec ul li + li{
  padding-top: 20px;
  margin-top: 20px;
  background-image : linear-gradient(to right, #777 2px, transparent 3px);
  background-size:10px 2px;
  background-repeat:repeat-x;
  background-position:left top;
}
.product-content .spec .spec_ttl p{
  font-size: 23px;
  font-weight: 700;
  color: #21A2DC;
}
.product-content .spec .spec_ttl_mb p{
  margin-bottom: 2.2em;
}
.product-content .spec dl{
  display: flex;
}
.product-content .spec dl dt{
  min-width: 180px;
}
.product-content .spec dl dd{
  padding-left: 20px;
  position: relative;
  letter-spacing: 0.03em;
  font-weight: 400;
}
.product-content .spec dl dd::before{
  content:'';
  position: absolute;
  height: 1.2em;
  width: 1px;
  background-color: #4D4D4D;
  left: 0;
  top: 5px;
}
.product-content .link{
  text-align: center;
  margin-top: 70px;
}
.product-content .link a{
  display: inline-block;
  color: #fff;
  font-size: 17px;
  font-weight: 600;
  background-color: #009CD9;
  padding:26px 80px;
  border-radius: 50vh;
  position: relative;
}
.product-content .link a::after{
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  width: 6px;    /* くの字を山なりに見た時、左側の長さ */
  height: 6px;   /* くの字を山なりに見た時、右側の長さ */
  border-top: 1px solid #fff;     /* くの字を山なりに見た時、左側の太さと色 */
  border-right: 1px solid #fff;   /* くの字を山なりに見た時、右側の太さと色 */
  transform: rotate(45deg);    /* くの字の向き */
}

.product-content .inner .flex{
  display: flex;
  justify-content:center;
  gap:80px;
  margin-top: 60px;
}

.product-content .flex .item{
  width: calc(50% - 40px);
}
.product-content .item .img{
  margin-top: 60px;
  width: 230px;
  margin-left: auto;
  margin-right: auto;
}

.product-content .item + .item .img{
  width: 210px;
}
.product-content .item .spec{
  margin-top: 30px;
}
.product-content .item .spec ul{
  width: 100%;
}
.product-content .item .spec ul li{
  font-size: 16px;
  font-weight: 500;
}
.product-content .item .spec ul li + li{
  padding-top: 20px;
  margin-top: 20px;
  background-image : linear-gradient(to right, #777 2px, transparent 3px);
  background-size:10px 2px;
  background-repeat:repeat-x;
  background-position:left top;
}

.product-content.wh .inner{
  width: 1000px;
}
.product-content.wh .spec ul .spec_ttl{
  text-align: left;
}

.movie{
  padding: 80px 20px;
  background-color: #E4F0F8;
}
.movie .inner{
  max-width: 400px;
  width: 100%;
  margin: 0 auto;
  aspect-ratio: 9 / 16;
}
.movie .inner video,
.movie .inner iframe{
  width: 100%;
  height: 100%;
}

footer{
	background-color: #009CD9;
}
.copy{
	text-align: center;
	font-size: 12px;
	padding:10px 0;
  color: #fff;
}
footer .footer_menu{
  display: flex;
  justify-content: center;
  padding-top: 20px;
  padding-bottom: 30px;
}
footer .footer_menu li + li{
  margin-left: 50px;
}
footer .bottom_logo{
	text-align: center;
	padding: 40px 0 0;
}
footer .sns ul{
	display: flex;
  justify-content: center;
	padding: 20px 0;
  margin-bottom: 20px;
  border-bottom: solid 2px #fff;
  position: relative;
  width: 320px;
  margin-left: auto;
  margin-right: auto;
}
footer .sns ul::before{
  content: "";
  position: absolute;
  left: 50%;
  bottom:-14px;
  background-color:#fff;
  transform: translateX(-50%);
  width: 14px;
  height: 14px;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
footer .sns ul li{
	padding:0 15px;
}
footer .sns ul li a:hover{
	opacity:0.7;
}
footer .share{
	position: relative;
  padding: 0 0 20px;
	font-size:16px;
	text-align: center;
}
.share span {
  display: inline-block;
  padding: 0 10px;
  line-height: 1px;
  vertical-align: middle;
  color:#fff;
}

@media screen and (max-width: 1200px) {
  .headline{
    padding: 0 20px;
  }
  .toc{
    padding: 0 20px;
  }
  .point .inner > .flex{
    gap:20px;
  }
  .point .inner > .flex .item{
    max-width: calc(50% - 10px);
  }
}
@media screen and (max-width: 900px) {
  .point .main_ttl{
    width: calc(100% - 40px);
    left: 20px;
    
  }
  .point .inner .pickup{
    padding: 80px 40px 60px;
  }
  .point .inner .pickup .flex{
    flex-direction: column;
    gap:20px;
  }
}
@media screen and (max-width: 768px) {
  .mv .inner .orange_logo{
    max-width: 70%;
    margin: 40px auto 0;
  }
  .advisor .inner{
    flex-direction: column;
  }
  .advisor .inner .txt .name{
    font-size: 24px;
  }
  .toc .ttl{
    font-size: 20px;
  }
  .toc ul li a{
    font-size: 16px;
    padding: 15px 25px 15px 0;
  }
  .toc ul li a::before{
    right:10px;
  }
  .point{
    padding: 60px 20px 80px;
  }
  .point .main_ttl img{
    max-width: 100%;
  }
  .point .inner > .flex{
    flex-direction: column;
    gap:40px;
  }
  .point .inner > .flex .item{
    max-width: 100%;
  }
  .point .inner > .flex .item .ttl{
    font-size: 20px;
  }
  .point .inner .pickup{
    padding: 60px 20px;
  }
  .point .inner .pickup .product_name{
    font-size: 20px;
  }
  .point .inner .pickup .img + .subttl{
    margin-top: 0;
  }
  .point4 .supplement{
    flex-direction: column;
  }
  .point4 .supplement .img{
    text-align: center;
  }
  .point4 .supplement .txt{
    margin-top: 0;
  }
  .point4 .supplement .ttl{
    font-size: 20px;
  }
  .point4{
    margin-bottom: 0;
  }
  
  .product-content .inner .flex{
    flex-direction: column;
  }
  .product-content .flex .item{
    width: 100%;
  }
  .product-content .spec .spec_ttl p{
    font-size: 20px;
  }
  .product-content .spec dl{
    flex-direction: column;
  }
  .product-content .spec dl dd{
    padding-left: 0;
    padding-top: 20px;
    margin-top: 20px;
  }
  .product-content .spec dl dd::before {
    content: '';
    position: absolute;
    height: 1px;
    width: 100%;
    background-color: #4D4D4D;
    left: 0;
    top: 0;
  }
  .product-content .link a{
    padding: 18px 40px;
  }
  
  .footer_logo p + p{
		margin-left: 30px;
	}
	.footer_logo .footer_logo_captainstag{
		width: 42%;
	}
	.footer_logo .footer_logo_corona{
		width: 38%;
	}
  
  footer .footer_menu li + li{
    margin-left: 20px;
  }
  
	footer .share{
		font-size:14px;
	}
  footer .sns ul{
    width: 90%;
  }
	
}