@charset "utf-8";

/*--------------------------------------
　MV
---------------------------------------*/
.mv_home {
	background: #fefeec;
	padding: 2rem 0 4rem;
}
@media screen and (min-width: 768px) {
.mv_home {
	margin: auto;
	padding: 4rem 0 8rem;
}
.mv_home .mv_inner{
		max-width: 1200px;
		margin: auto;
		position: relative;
	padding: 0 4rem;
}
.mv_home .mv_inner .sub{
		position: absolute;
		left:4rem;
		bottom:-5%;
	font-size: 0.8vw!important;
}
}
@media screen and (min-width: 1200px) {
.mv_home .mv_inner .sub{
	font-size:1rem!important;
}
}
/*--------------------------------------
　cta
---------------------------------------*/
.cta .upper{
	background: #fff;
	border: 1px solid #7f94a8;
	border-radius: 10px;
	padding: 0 1.5rem 2.5rem;
	margin: 4rem 0 6rem;
}
.cta .upper .ttl {
	width: 90%;
	background: #7f94a8;
	border-radius: 5px;
	color: #fff;
	font-size:4.6vw;
	padding: 1rem;
	text-align: center;
	padding-left: 16%;
	position: relative;
	margin: -2rem auto 1.4rem;
}
.cta .upper .ttl .icon{
	width: 20%;
	position: absolute;
	left: 6%;
	top: 50%;
	transform: translateY(-50%);
}
.cta .btn p {
	display: table;
	position: relative;
    padding: 1rem 1.5rem;
    font-size: 1.5rem;
    text-align: center;
	margin:0 auto;
}

.cta .btn p::before,
.cta .btn p::after {
    position: absolute;
    top: 1.2rem;
    height: 1.8rem;
    content: '';
}

.cta .btn p::before {
    border-left: solid 1px;
    left: 0;
    transform: rotate(-30deg);
}

.cta .btn p::after {
    border-right: solid 1px;
    right: 0;
    transform: rotate(30deg);
}
.cta .btn a {
	display: block;
	width: 100%;
	margin: auto;
	background: #e70312;
	border-radius: 100px;
	color: #fff;
	font-size:4.6vw;
	padding: 1rem;
	text-align: center;
	padding-left: 4%;
	position: relative;
	font-weight: bold;
	box-sizing: border-box;
	box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.2);
}
.cta .btn a .icon{
	width: 24px;
	position: absolute;
	left: 15%;
	top: 50%;
	transform: translateY(-50%);
}
.cta .btn_02 {
	margin-top: 1.2rem;
}
.cta .btn_02 a {
	color: #e70312;
	background: #fff;
	border: 2px solid #e70312;
}
.cta .btn a .icon{
	width: 24px;
	position: absolute;
	left: 15%;
	top: 50%;
	transform: translateY(-50%);
}
.cta .under{
	background: #fff;
	border: 1px solid #c88186;
	border-radius: 10px;
	padding: 0 1.5rem 2.5rem;
}
.cta .under .ttl {
	width: 85%;
	background: #c88186;
	border-radius: 5px;
	color: #fff;
	font-size:4.6vw;
	padding: 1rem;
	padding-left: 18%;
	position: relative;
	margin: -3.6rem auto 3rem;
}
.cta .under .ttl .icon{
	width: 12%;
	position: absolute;
	left: 6%;
	top: 50%;
	transform: translateY(-50%);
}
.cta .btn_03 a {
	background: #e70312;
}
.cta .btn_03 a .icon{
	width: 24px;
	position: absolute;
	left: 15%;
	top: 50%;
	transform: translateY(-50%);
}
.cta .btn_03 a .icon{
	width: 24px;
	position: absolute;
	left: 15%;
	top: 50%;
	transform: translateY(-50%);
}
.cta .txt_01 {
	margin: 1rem 0 0 0!important;
	padding: 0 0 0.5rem 0;
	font-size: 1.2rem;
	line-height: 1.3;
	text-align: center;
}
.cta .txt_01 a {
	text-decoration: underline;
}
.cta .btn a::before {
	display: block;
	content: '';
	color: #fff;
	line-height: 1;
	position: absolute;
	width: 0.8em;
	height: 0.8em;
	border: 0.075em solid currentColor;
	background: currentColor;
	border-radius: 50%;
	box-sizing: content-box;
	right:4%;
	top: 50%;
	transform: translate(0,-50%);
}
.cta .btn a::after {
	display: block;
	content: '';
	color: #e70312;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent;
	border-width: 0.18em 0.31177em;
	border-left-color: currentColor;
	border-right: 0;
	position: absolute;
	right:5.5%;
	top: 50%;
	transform: translate(0,-50%);
}
.cta .btn_02 a::before {
	color: #e70312;
}
.cta .btn_02 a::after {
	color: #fff;
}
.cta .btn_03 a::after {
	color: #e70312;
}
@media screen and (min-width: 768px) {
.cta .upper{
	background: #fff;
	border: 1px solid #7f94a8;
	border-radius: 10px;
	padding: 0 3rem 5rem;
	margin: 8rem 0 8rem;
}
.cta .upper .ttl {
	width: 80%;
	border-radius:  10px;
	font-size:3rem;
	padding: 1.5rem;
	padding-left: 12%;
	position: relative;
	margin: -4rem auto 2rem;
}
.cta .upper .ttl .icon{
	width: 80px;
	position: absolute;
	left: 16%;
	top: 50%;
	transform: translateY(-50%);
}
	.cta .upper .btn_box {
		display: flex;
		justify-content: space-between;
		align-items: center;
}
		.cta .upper .btn_box .btn {
			width: 48%;
}
.cta .btn p {
	display: table;
	position: relative;
    padding: 1rem;
    font-size: 1.8rem;
    text-align: center;
	margin:0 auto;
}

.cta .btn p::before,
.cta .btn p::after {
    position: absolute;
    top: 1.5rem;
    height:2rem;
    content: '';
}

.cta .btn p::before {
    border-left: solid 1px;
    left: 0;
    transform: rotate(-30deg);
}

.cta .btn p::after {
    border-right: solid 1px;
    right: 0;
    transform: rotate(30deg);
}
.cta .btn a {
	display: block;
	width: 100%;
	margin: 0 auto;
	color: #fff;
	font-size:3rem;
	padding: 1.6rem;
	padding-left: 12%;
}
.cta .btn a .icon img{
	width: 100%;
}
.cta .btn_02 {
	margin:0;
}
.cta .btn_02 a {
	color: #e70312;
	background: #fff;
	border: 2px solid #e70312;
	
}
.cta .btn a .icon{
	width: 36px;
	position: absolute;
	left: 10%;
	top: 50%;
	transform: translateY(-50%);
}
.cta .under{
	background: #fff;
	border: 1px solid #c88186;
	border-radius: 10px;
	padding: 0 3rem 3rem;
}
.cta .under .ttl {
	width: 95%;
	background: #c88186;
	border-radius: 10px;
	color: #fff;
	font-size:2.8rem;
	padding: 1.5rem;
	padding-left:10%;
	position: relative;
	margin: -4rem auto 2.4rem;
}
.cta .under .ttl .icon{
	width: 35px;
	position: absolute;
	left: 4%;
	top: 50%;
	transform: translateY(-50%);
}
.cta .btn_03 a {
	background: none;
	color: #e70312;
	box-shadow:none;
	pointer-events: none;
	font-size: 6rem;
	line-height: 1;
	padding: 0 0 0 10%!important;
}

.cta .btn_03 a .icon{
	width: 48px;
	position: absolute;
	left: 20%;
	top: 50%;
	transform: translateY(-50%);
}
.cta .txt_01 {
	margin: 2rem 0 0 0!important;
	padding: 0 0 0.5rem 0;
	font-size: 1.8rem;
	line-height: 1.3;
	text-align: center;
}
.cta .txt_01 a {
	text-decoration: underline;
}
.cta .btn a::before {
	display: block;
	content: '';
	color: #fff;
	line-height: 1;
	position: absolute;
	width: 0.8em;
	height: 0.8em;
	border: 0.075em solid currentColor;
	background: currentColor;
	border-radius: 50%;
	box-sizing: content-box;
	right:4%;
	top: 50%;
	transform: translate(0,-50%);
}
.cta .btn a::after {
	display: block;
	content: '';
	color: #e70312;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent;
	border-width: 0.18em 0.31177em;
	border-left-color: currentColor;
	border-right: 0;
	position: absolute;
	right:6.4%;
	top: 50%;
	transform: translate(0,-50%);
}
.cta .btn_02 a::before {
	color: #e70312;
}
.cta .btn_02 a::after {
	color: #fff;
}
	.cta .btn_03 a:before,.cta .btn_03 a:after {
		display: none!important;
}
	
}
/*--------------------------------------
　Main Index
---------------------------------------*/
.contents_top {
	width: 100%;
	margin: auto;
	box-sizing: border-box;
	position: relative;
	z-index: 0;
	overflow: hidden;
}

.sec {
	width: 100%;
	margin: auto;
	box-sizing: border-box;
	position: relative;
}

.inner {
	max-width: 1000px;
	margin: auto;
	box-sizing: border-box;
	padding: 0 1.5rem;
}
@media screen and (min-width: 768px) {
main {
}
.contents_top {
	width: 100%;
	
}
.sec {
	width: 100%;
}
.inner {
	max-width:inherit;
	width:  920px;
	margin: auto;
	box-sizing: border-box;
	padding: 0 2rem;
}
}




/*--------------------------------------
　Title
---------------------------------------*/

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





/*--------------------------------------
　テキスト
---------------------------------------*/
.contents_top p {
	margin: 3rem 0 3rem;
	font-size: 1.5rem;
	line-height:  1.8;
}

.txt {
	margin: 3rem 0 3rem;
	font-size: 1.5rem;
	text-align: justify;
	line-height: 1.8;
}

.lead {
	margin: 3rem 0 0!important;
	font-size: 1.5rem;
	line-height: 2;
}

p.caption {
	margin: 1rem 0 0 0!important;
	padding: 0 0 0.5rem 0;
	font-size: 1rem;
	line-height: 1.3;
}

.sec p {
	margin: 0 0 0;
}
.sub {
	margin: 1rem 0 0 0!important;
	padding: 0 0 0.5rem 0;
	font-size: 1rem;
	color: #333333;
}
.sub li {
	text-indent: -1em;
	padding-left: 1em;
}
.pl-00 {
	padding-left: 0!important;
}
@media screen and (min-width: 768px) {
	.contents_top p {
		margin: 4rem 0 4rem;
		line-height: 1.8;
	}

	.txt {
		margin: 4rem 0 4rem;
		line-height: 1.8;
		font-size: 1.8rem!important;
	}

	.lead {
		margin: 4rem 0 0!important;
		line-height: 1.8;
	}
  
  p.caption {
    margin: 2rem 0 0 0!important;
    padding: 0 0 0.5rem 0;
    font-size: 1rem;
    line-height: 1.3;
  }
  
  .sec p {
    margin: 0 0 0;
  }
.sub {
	margin: 2rem 0 0 0!important;
	padding: 0 0 1rem 0;
	font-size: 1.2rem!important;
	color: #333333;
}
.sub li {
	text-indent: -1em;
	padding-left: 1em;
}
}
/*--------------------------------------
　sec01
---------------------------------------*/
.sec01 {
	background: #eef9ff;
	padding-bottom: 6rem;
}

.sec01 .upper {
	background: #01519b;
	padding: 3rem 0 ;
}
.sec01 .upper .ttl{
	color: #fff;
	font-size: 2.4rem;
	text-align: center;
	
}
.sec01 .upper .ttl .strong {
	font-size: 3.4rem;
	line-height: 1rem!important;
}
 .u_line {
	border-bottom: 4px solid #fff5bc;
}
.sec01 .upper .txt_01  {
	font-size:1.8rem;
	color: #fff;
	text-align: center;
	margin: 2rem 0 1rem;
}
.sec01 .upper .link_box  {
	display: flex;
	justify-content: space-between;
}

.sec01 .upper .link_box  li {
	width: 31%;
}

.sec01 .upper .link_box  a {
	display: block;
	background: #fff;
	font-size: 3.4vw;
	text-align: center;
	width: 100%;
	padding: 1rem 1rem 3rem 1rem ;
	font-weight: bold;
	border-radius: 5px;
	position: relative;
}
.sec01 .upper .link_box  a::before {
	display: block;
	content: '';
	color: #01519b;
	line-height: 1;
	position: absolute;
	width: 0.8em;
	height: 0.8em;
	border: 0.075em solid currentColor;
	background: currentColor;
	border-radius: 50%;
	box-sizing: content-box;
	left: 50%;
	bottom: 1rem;
	transform: translate(-50%,0);
}

.sec01 .upper .link_box  a::after {
	display: block;
	content: '';
	color: #fff;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent ;
	border-width: 0.31177em 0.18em;
	border-top-color: currentColor;
	border-bottom: 0;
	position: absolute;
	left: 50%;
	bottom: 1.4rem;
	transform: translate(-50%,0);
}
.sec01 .under .wrap_01{
	position: relative;
}
.sec01 .under .wrap_01 .txt_01 {
	position: absolute;
	top:2rem;
	left: 1.5rem;
	font-size: 1.8rem;
	text-shadow:2px 2px 4px #fff,
				-2px -2px 4px #fff,
				2px -2px 4px #fff,
				-2px 2px 4px #fff,
				0 0 10px #fff,
				2px 2px 4px #fff,
				-2px -2px 4px #fff,
				2px -2px 4px #fff,
				-2px 2px 4px #fff,
				0 0 10px #fff,
		2px 2px 4px #fff,
				-2px -2px 4px #fff,
				2px -2px 4px #fff,
				-2px 2px 4px #fff,
				0 0 10px #fff,
				2px 2px 4px #fff,
				-2px -2px 4px #fff,
				2px -2px 4px #fff,
				-2px 2px 4px #fff,
				0 0 10px #fff; 
	z-index: 10!important;
	font-weight: 600;
}
.sec01 .under ul li:nth-child(even) .wrap_01 .txt_01 {
	top:2rem;
	left:inherit;
	right: 1.5rem;
	text-align: right;
}
.sec01 .under .wrap_01 .txt_01 .strong {
	font-weight: bold;
	color: #01519b;
	font-size: 2.5rem;
}
.sec01 .under .wrap_01 .txt_01 .small {
	font-size: 1.4rem;
}
.sec01 .under .wrap_01 .img{
  width: 65%;
}
.sec01 .under li:nth-child(odd) .wrap_01 .img{
	margin-left: auto;
	overflow: hidden;
}

.sec01 .under .wrap_01 .img iframe {
  width: 100%;
  height: auto; 
  aspect-ratio: 16 / 9; /* CSSで比率を保つ場合 */
	border-radius: 10px 0 0 10px;
}
.sec01 .under li:nth-child(even) .img iframe {
	border-radius: 0 10px  10px 0;
}
.sec01 .under ul li  {
	margin-top:6rem;
}
.sec01 .under ul li .txt {
	padding: 1rem 1.5rem 0;
}
.sec01 .under .check_box {
	padding: 1rem 1.5rem 0;
	font-size: 1.8rem;
	font-weight: bold;
}
.sec01 .under .check_box>div {
	padding-left: 2.5rem ;
	position: relative;
	line-height: 1.8;
}
.sec01 .under .check_box>div::after {
	position: absolute;
	content: "";
	display: block;
	background: url("img/check.webp") center no-repeat;
	background-size: cover;
	width: 20px;
	height: 17px;
	left: 0;
	top: 50%;
	transform: translate(0,-50%);
}
.video-thumb {
  position: relative;
  width: 100%;
  max-width: 560px;
  aspect-ratio: 16 / 9;
  margin: 0 auto;
  cursor: pointer;
	
}
.video-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
	border-radius: 10px 0 0 10px!important;
}
.sec01 .img02 img {
	border-radius: 0 10px 10px 0!important;
}

.play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80px;
  height: 80px;
  background-size: 60%;
  transform: translate(-50%, -50%);
  opacity: 0.8;
}
.video-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  padding-top: 60px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.8);
}

.video-modal-content {
  position: absolute; /* fixedではなくabsoluteで中央揃え */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 800px;
  opacity: 0;
  transition: all 0.5s ease;
	border:4px solid #fff;
	box-sizing: border-box;
}
.video-modal-content.show {
  opacity: 1;
  transform: translate(-50%, -40%);
}
.video-frame-wrap {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
}

.video-frame-wrap iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.close {
  color: #fff;
  position: absolute;
  top: -50px;
  right: 0;
  font-size: 30px;
  font-weight: bold;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
.sec01 {
	padding-bottom: 12rem;
}

.sec01 .upper {
	padding: 6rem 0 1rem;
	position: relative;
}
.sec01 .upper:after  {
		content: "";
		display: block;
		position: absolute;
		top: 99.9%;
		left: 0;
		width: 100%;
	background: #01519b;
  height: calc(200px / 2);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.sec01 .upper .ttl{
	color: #fff;
	font-size: 4rem;
	text-align: center;
	
}
.sec01 .upper .ttl .strong {
	font-size: 5.5rem;
	line-height: 1rem!important;
	border-bottom: 4px solid #fff5bc;
}
.sec01 .upper .ttl .u_line {
	border-bottom: none;
}
.sec01 .upper .txt_01  {
	font-size:3.5rem;
	font-weight: bold;
	margin: 6rem 0 2rem;
}
.sec01 .upper .link_box  {
	display: flex;
	justify-content: space-between;
}

.sec01 .upper .link_box  li {
	width: 31%;
}

.sec01 .upper .link_box  a {
	display: block;
	background: #fff;
	font-size:2.8rem;
	text-align: center;
	width: 100%;
	padding: 2rem 1.5rem 6rem 1.5rem ;
	font-weight: bold;
	border-radius: 10px;
	position: relative;
}
.sec01 .upper .link_box  a::before {
	display: block;
	content: '';
	color: #01519b;
	line-height: 1;
	position: absolute;
	width: 0.8em;
	height: 0.8em;
	border: 0.075em solid currentColor;
	background: currentColor;
	border-radius: 50%;
	box-sizing: content-box;
	left: 50%;
	bottom: 1.8rem;
	transform: translate(-50%,0);
}
.sec01 .upper .link_box  a::after {
	display: block;
	content: '';
	color: #fff;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent ;
	border-width: 0.31177em 0.18em;
	border-top-color: currentColor;
	border-bottom: 0;
	position: absolute;
	left: 50%;
	bottom: 2.6rem;
	transform: translate(-50%,0);
}
	.sec01 .img01 {
		max-width: 1000px;
		margin: auto;
}
.sec01 .under {
	max-width: 920px;
	margin: auto;
}
.sec01 .under .wrap_01{
	position: relative;
	margin-bottom: 1rem;
}
.sec01 .under .wrap_01 .txt_01 {
	position:relative;
	top:inherit;
	left:inherit;
	font-size: 2.8rem;
	z-index: 10;
	
}
.sec01 .under ul li:nth-child(even) .wrap_01 .txt_01 {
	position: static;
	top:2rem;
	left:inherit;
	right: 1.5rem;
	text-align: right;
}
.sec01 .under .wrap_01 .txt_01 .strong {
	font-weight: bold;
	color: #01519b;
	font-size:4rem;
}
	.sec01 .under .wrap_01 .txt_01 .small {
	font-size: 2rem;
}
.sec01 .under .wrap_01 .img{
		width: 52%;
		position: absolute;
		top: 0;
		right: 0;
	border-radius: 10px ;
}
.sec01 .under li:nth-child(even)  .img{
	top: 0;
	left: 0;
	right: inherit;
}

.sec01 .under .wrap_01 .img iframe {
  width: 100%;
  height: auto; 
  aspect-ratio: 16 / 9; /* CSSで比率を保つ場合 */
	
}
.sec01 .under li:nth-child(even) .img iframe {
	border-radius: 10px ;
}
	.sec01 .under li:nth-child(even) .txt {
		text-align: right;
		margin-left: auto;
}
.sec01 .under ul li  {
	margin-top:12rem;
}
.sec01 .under ul li .txt {
	padding: 0;
	width: 45%;
}
.sec01 .under .check_box {
	padding: 2rem 0 0;
	font-size: 2.2rem;
	font-weight: bold;
}
.sec01 .under .check_box>div {
	padding-left:4.5rem ;
	position: relative;
	line-height: 1.8;
}
.sec01 .under .check_box>div::after {
	width: 30px;
	height: 26px;
	left: 0;
	top: 50%;
	transform: translate(0,-50%);
}
.video-thumb img {
	border-radius: 10px!important;
}
.sec01 .img02 img {
	border-radius: 10px!important;
}
.video-modal-content {
	border:8px solid #fff;
}
}
/*--------------------------------------
　sec02
---------------------------------------*/
.sec02 {
	background: #01519b;
	padding: 3rem  0;
}

.sec02 .ttl{
	color: #fff;
	font-size: 2.4rem;
	text-align: center;
	margin-bottom: 3rem;
}
.sec02 .ttl .strong {
	font-size: 3.4rem;
}
.sec02 ul li .txtbox{
	padding: 1.5rem;
	background: #fff;
}
.sub2{
	margin-top: 1rem;
	color: #333333!important;
	font-size: 1rem!important;
}
.sec02 .img_box {
	margin-top: 1rem;
	position: relative;
}
.sec02 .img_box .sub{
	position: absolute;
	top: 55%;
	width: 100%;
	text-align: center;
	font-size: 2.2vw;
	text-shadow:2px 2px 4px #fff,
				-2px -2px 4px #fff,
				2px -2px 4px #fff,
				-2px 2px 4px #fff,
				0 0 10px #fff,
				2px 2px 4px #fff,
				-2px -2px 4px #fff,
				2px -2px 4px #fff,
				-2px 2px 4px #fff,
				0 0 10px #fff,
		2px 2px 4px #fff,
				-2px -2px 4px #fff,
				2px -2px 4px #fff,
				-2px 2px 4px #fff,
				0 0 10px #fff,
				2px 2px 4px #fff,
				-2px -2px 4px #fff,
				2px -2px 4px #fff,
				-2px 2px 4px #fff,
				0 0 10px #fff; 
}
@media screen and (min-width: 768px) {
.sec02 {
	padding: 6rem  0;
}

.sec02 .ttl{
	font-size: 3.8rem;
	text-align: center;
	margin-bottom: 6rem;
}
.sec02 .ttl .strong {
	font-size: 4.5rem;
}
	.sec02 .ul_01 {
		display: block;
}
.sec02 .ul_01 .wrap_01 {
			width: 100%;
			background: #fff;
			border-radius: 10px;
	overflow: hidden;
	display: flex;
}
.sec02 .ul_01 li:nth-child(1) {
	margin-bottom: 4rem;
}
.sec02 .ul_01 .wrap_01 .img {
	width: 50%;
	height: 100%;
	font-size: 0;
	object-fit: cover;
}
.sec02 .ul_01 .wrap_01 .img img {
  width: 100%; /* もし親幅にフィットさせるなら */
  height: 100%;
	 object-fit: cover;
}
.sec02 ul li .txtbox{
	width: 50%;
	padding: 3rem;
}
.sec02 ul li .txtbox .txt{
	font-size: 2rem!important;
}
.sec02 ul li .txtbox .sub{
	font-size: 1.2rem!important;
}
.sub2{
	margin-top: 2rem;
	color: #333333!important;
	font-size: 1rem!important;
}

.sec02 .img_box {
	margin-top: 4rem;
}
.sec02 .img_box .sub{
	position: absolute;
	top: 52%;
	width: 100%;
	text-align: center;
	font-size: 15px;

}
}
/*--------------------------------------
　sec03
---------------------------------------*/
.sec03 {
	padding-bottom: 3rem;
}
.sec03 .bg_01{
	background: #eef9ff;
	padding: 3rem 0 ;
}
.sec03 .ttl{
	color: #01519b;
	font-size: 3.4rem;
	text-align: center;
	margin-bottom: 3rem;
}
.sec03 .ttl img {
	width: 24%;
	display: block;
	margin: 0 auto;
}
.sec03 ul li {
	margin-bottom: 4rem;
}
.sec03 ul li:nth-child(odd)  {
	padding-left: 1.5rem;
}
.sec03 ul li:nth-child(even)  {
	padding-right: 1.5rem;
}
.sec03 ul li .wrap_01 {
	display: flex;
	align-items: center;
	background: #fff;
	overflow: hidden;
}
.sec03 ul li:nth-child(even) .wrap_01 {
	flex-direction:row-reverse;
}
.sec03 ul li .img {
	width: 55%;
}
.sec03 ul li:nth-child(odd) .wrap_01 {
	border-radius: 10px 0 0 10px;
}
.sec03 ul li:nth-child(even) .wrap_01  {
	border-radius: 0 10px 10px 0;
}
.sec03 ul li .txtbox {
	width: 45%;
	padding: 1.5rem;
}
.sec03 ul li .txtbox .strong {
	font-size: 1.8rem;
	font-weight: bold;
	color: #01519b;
}
.sec03 .scroll {
	overflow-x: scroll;
	white-space: nowrap;
	padding: 2rem 0 1.5rem 1.5rem;
}
.sec03 .scroll img {
  display: inline-block; 
  width: auto;         
  min-width: 550px;   
  height: auto;
}

.comparison-table-container {
  display: flex;
  overflow-x: auto;
  max-width: 100%;
}
.comparison-table {
  max-width: 840px;
  margin:100px auto 0;
  border-collapse: collapse;
}

.comparison-table table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  text-align: center;
}

.comparison-table th,.comparison-table td {
  border: 1px solid #ccc;
  padding: 12px 20px;
  font-size: 18px;
  vertical-align: middle;
}
/* センサー型の列全体を上に浮かせる */
th.sensor-col {
  position: relative;
  background: #fff6ee;
  box-sizing: content-box!important;
  padding: 1rem 0 0.5rem;
  z-index: 2;
  text-align: center;
}
/* 見出しテキスト */
.sensor-col .sensor-label {
  font-weight: bold;
  color: #e60012;
}
.camera-col,
.visit-col {
  position: relative;
  height: 40px;
  padding: 0;
  overflow: hidden;
  vertical-align: middle;
	border: none!important;
}

/* 中身のテキストを絶対配置して位置調整 */
.camera-col span,
.visit-col span {
  position: absolute;
	width: 100%;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  line-height: 1;
  white-space: nowrap;
	background: #444444;
	color: #fff;
	padding: 20px 0 ;
	border-radius: 20px 20px 0 0;
}
.comparison-table thead th {
  background: #fff;
  font-weight: bold;
	text-align: center;
	font-size: 22px;
}
.comparison-table tbody th {
  font-size: 26px;
  font-weight: bold;
	
}
.comparison-table td{
	text-align: center;
}

.comparison-table .sensor-col {
  background: #fff6ee;
  position: relative;
}
.comparison-table .logo-wrap img {
  width: 130px;
  margin-bottom: 5px;
}
.comparison-table .sensor-label {
  font-size: 18px;
  font-weight: bold;
  color: red;
  margin: 0;
}
.comparison-table .shiro {
	border:  none!important;
	border-top:4px solid #fff!important;
	position: relative;
	z-index: 20;
}
.comparison-table .shiro:after {
	content: "";
	position: absolute;
	display: block;
	background: #fff;
	left: 0;
	top: -4px;
	width: 100%;
	height: 8px;
}
.comparison-table .attention .crown {
  margin-bottom: 12px;
}
.comparison-table .crown img {
  width:100%;
}

.comparison-table .crown p {
  font-size: 14px;
  color: #caa00e;
  font-weight: bold;
  margin: 0;
  line-height: 1.4;
}

.comparison-table .note {
  font-size: 10px;
  color: #555;
  margin-top: 6px;
  line-height: 1.4;
}

.comparison-table .symbol {
  width: 30px;
  height: 30px;
}

.comparison-table .small {
	display: block;
	padding-top: 10px;
  font-size: 18px;
}
th.kakomi01 {
  position: relative;
  border: none; 
  border-radius: 20px 20px 0 0;     
  background: #fff6ee;
}
th.kakomi01::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0.5px;              
  width: calc(100% - 1px);  
  height: 100%;
  border: 2px solid #e60012;
  border-bottom: none;
  border-radius: 17.5px 17.5px 0 0; 
  box-sizing: border-box;
  pointer-events: none;
}
th.kakomi01::after,td.kakomi02::after {
  content: "";
  position: absolute;
  bottom: -0.5px;
  left: 2px;
  width: calc(100% - 4px);
  height: 1px;
  background: #ccc; 
}
/* 中枠：.kakomi02 */
td.kakomi02 {
  position: relative;
  border: none; 
}
td.kakomi02::before {
  content: "";
  position: absolute;
  inset: 0;                      /* 親セルにフィット */
  border-left: 2px solid #e60012;
  border-right: 2px solid #e60012;
  box-sizing: border-box;
  pointer-events: none;
	z-index: 1;
}

/* 下枠：.kakomi03 */
td.kakomi03 {
  position: relative;
  border: none !important;       /* 既存の外枠を消す */
}
td.kakomi03::before {
  content: "";
  position: absolute;
  inset: 0;
  border-left: 2px solid #e60012;
  border-right: 2px solid #e60012;
  border-bottom: 2px solid #e60012;
  box-sizing: border-box;
  pointer-events: none;
}
.comparison-table tbody tr:nth-child(odd){
	background: #f1f1f1;
}
  .comparison-table-wrapper .fixed-bar {
	  display: none;
  }
@media screen and (max-width: 768px) {
  .comparison-table-wrapper {
    padding-left: 10px;  
    overflow-x: auto;
    background: #fff;
    position: relative;
    z-index: 0;         
  }

.comparison-table table{
  border-collapse: collapse!important;

}
.comparison-table th,.comparison-table td {
  padding: 8px 12px;
  font-size: 15px;
}
.comparison-table tbody th {
  font-size: 18px;
  font-weight: bold;
	
}
  .comparison-table-wrapper {
    overflow-x: auto;
    position: relative;
  }

  .comparison-table {
    min-width: 520px; /* テーブル全体の最小幅 */
    table-layout: fixed;
	  box-sizing: border-box!important;
  }

  /* 左端のth（縦ラベル列）を固定 */
.comparison-table th:first-child,
.comparison-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 10;
  background: #fff;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-right: none; /* ← ここ重要：右側の線を消す */
  box-shadow:0 1px  0 #ccc;
}

  /* ヘッダーの重なりを優先 */
  .comparison-table thead th:first-child {
    z-index: 3;
    background: #fff;
    border-top: 3px solid #fff!important;
  }
	
.comparison-table .small {
	display: block;
	padding-top: 10px;
  font-size: 14px;
}
.comparison-table .shiro {
	border-top: none!important;
	border-left:  none!important;
}

th.kakomi01::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0px;              
  width: calc(100% - 0.5px);  
  height: 100%;
  border: 2px solid #e60012;
  border-bottom: none;
  border-radius: 17.5px 17.5px 0 0; 
  box-sizing: border-box;
  pointer-events: none;
}
  .comparison-table-wrapper {
    position: relative;
  }
  .comparison-table-wrapper .fixed-bar {
  position: fixed;
  left: 0;
  width: 10px;
  background: #fff;
  z-index: 100;
  display: none; /* 初期は非表示、JSで制御 */
  }
}
@media screen and (min-width: 768px) {
	.sec03 {
	padding-bottom: 6rem;
}
.sec03 .bg_01{
	padding: 6rem 0 ;
}
.sec03 .ttl{
	font-size: 4.5rem;
	margin-bottom: 3rem;
}
.sec03 .ttl img {
	width: 160px;
	display: block;
	margin: 0 auto;
}
	.sec03 ul  {
		width: 920px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		
}
.sec03 ul li {
	margin:0;
	width: 31%;
}
.sec03 ul li {
	padding: 0!important;
}
.sec03 ul li:nth-child(even)  {
	padding: 0;
}
.sec03 ul li .wrap_01 {
	display: block;
	align-items: center;
	background: #fff;
	overflow: hidden;
}
.sec03 ul li:nth-child(even) .wrap_01 {
	flex-direction:row;
}
.sec03 ul li .img {
	width: 100%;
}
.sec03 ul li:nth-child(odd) .wrap_01 {
	border-radius: 10px;
}
.sec03 ul li:nth-child(even) .wrap_01  {
	border-radius: 10px;
}
.sec03 ul li .txtbox {
	width:100%;
	padding:1rem 1.5rem 2rem;
	box-sizing: border-box;
}
	.sec03 ul li .img img{
		height: 180px;
		object-fit: cover;
}
.sec03 ul li .txtbox .strong {
	font-size: 2.4rem;
}
		.sec03 .img01 {
			background: #00132d;
}
	.sec03 .img01 img {
		max-width: 960px;
		margin: auto;
}
.sec03 .scroll {
	width: 920px;
	margin: auto;
	overflow-x: scroll;
	white-space: nowrap;
	padding: 4rem 4rem 0 ;
}
.sec03 .scroll img {
  display: inline-block; 
  width: auto;         
  min-width: 550px;   
  height: auto;
}
}
/*--------------------------------------
　sec04
---------------------------------------*/
.sec04 {
	background: #fff2eb;
	padding: 3rem  0;
}

.sec04 .ttl{
	color: #e61f19;
	font-size: 5.5vw;
	text-align: center;
	margin-bottom: 3rem;
}
.sec04 .ttl .strong {
	font-size: 8vw;
}
.sec04 .ttl .txt_01 {
	display: table;
	font-size: 2rem;
	color: #000;
	border: 1px solid #e61f19;
	padding: 0.2rem 1.4rem;
	margin:0 auto 1rem;
}
.sec04 ul li {
	background: #fff;
	box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
	margin-bottom: 3rem;
}
.sec04 ul li .midashi {
	font-weight: bold;
	text-align: center;
	font-size: 2rem;
	padding: 1rem 0;
}
.sec04 ul li .midashi span {
	font-size: 1.4rem;
}
.sec04 .movie {
  width: 100%;
  height: auto; 
  aspect-ratio: 16 / 9; /* CSSで比率を保つ場合 */
}
.sec04 ul li .txtbox {
	padding: 1.5rem;
}
.sec04 ul li .txtbox .name{
	text-align: right;
}
@media screen and (min-width: 768px) {
.sec04 {
	padding: 6rem  0;
}

.sec04 .ttl{
	font-size: 3.5rem;
	margin-bottom: 6rem;
}
.sec04 .ttl .strong {
	font-size: 4.5rem;
}
.sec04 .ttl .txt_01 {
	font-size: 4rem;
	border: 2px solid #e61f19;
	padding: 0.4rem 3rem;
	margin:0 auto 2rem;
}
.sec04 ul {
	display: block;
	justify-content: space-between;
}
.sec04 ul li {
	width:100%;
	background: none;
	box-shadow:none;
	margin-bottom: 0;
	margin: 0 auto 4rem;
	padding: 0!important
}
.sec04 ul li .midashi {
	font-weight: bold;
	text-align: center;
	font-size: 3rem;
	padding: 2rem 0;
	background: #fff;
}
.sec04 ul li .midashi span {
	font-size: 2rem;
}
.sec04 .video-thumb {
  width: 100%!important;
	max-width: 100%!important;
  height: auto;
  aspect-ratio: 16 / 9;
  display: block;
	padding: 0!important;
	margin: 0!important;
}
.sec04 ul li .txtbox {
	padding:1.4rem 0 0 0;
}
.sec04 ul li .txtbox .name{
	text-align: right;
	font-size: 1.4rem;
}
}
/*--------------------------------------
　sec05
---------------------------------------*/
.sec05  {
	padding: 0 0 4rem;
}
.sec05 .img01 {
	margin: 3rem 0 2rem;
}
.link_01 {
	color: #004495;
	position: relative;
	padding-left: 1.5rem;
	line-height: 1;
	text-decoration: underline;
	display: table;
	margin: 0 auto 4rem;
}
.link_01:before {
	background: url("img/arrow_01.png") center no-repeat;
	background-size: cover;
	width: 12px;
	height: 12px;
	display: block;
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0,-50%);
}
.sec05 .midashi {
	background: #555555;
	color: #fff;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	padding: 0.5rem 0;
	margin: 3rem 0 1rem;
}
.equipment__table table {
    width: 100%
}

.equipment__table table td, .equipment__table table th {
    line-height: 1.2;
    border: #555 solid 1px;
    vertical-align: middle;
    padding: .5em 1.5em
}

.equipment__table table thead tr th {
    font-size: 138.9%;
    font-weight: 700;
    color: #fff;
    background: #555
}

.equipment__table table thead tr th:last-of-type {
    border-left: #fff solid 1px
}

.equipment__table table tbody tr td, .equipment__table table tbody tr th {
    font-size: 111.1%;
    font-weight: 700
}

.equipment__table table tbody tr th {
    font-weight: 700;
    color: #ac2925;
    background: #f5f5f5;
    text-align: left
}

.equipment__table table tbody tr th .num {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 1.8em;
    height: 1.8em;
    background: #fff;
    border: .1em solid #ac2925;
    border-radius: 50%;
    margin-right: .2em
}

.equipment__table table tbody tr td {
    text-align: center
}

.equipment__notes {
    font-size: 66.7%;
    margin-top: 1em;
    margin-left: .5em
}

.equipment__notes li {
    position: relative;
    padding-left: 1em
}

.equipment__notes li::before {
    position: absolute;
    top: auto;
    left: 0;
    display: inline;
    content: '※'
}
.sec05 .js-accordion{
	border: 2px solid #bc111a;
	width: 75%;
	margin: 3rem auto 0;
	display: block;
	color: #bc111a;
	padding: 0.5rem 0;
	border-radius: 6px;
}
.sec05 .js-accordion p{
	font-size: 1.8rem;
	font-weight: bold!important;
}
.sec05 .js-accordion::before{
  background: #bc111a;
}
.sec05 .js-accordion::after{
  background: #bc111a;
}
@media screen and (min-width: 768px) {
.sec05  {
	padding: 0 0 8rem;
}
.sec05  .ttl {
	background: #00132d;
}
	.sec05  .ttl img {
		width: 920px;
		margin: auto;
}
.sec05 .img01 {
	margin: 6rem 0 4rem;
}
.link_01 {
	color: #004495;
	position: relative;
	padding-left: 3rem;
	line-height: 1;
	text-decoration: underline;
	display: table;
	margin: 0 auto 8rem;
	font-size: 2.6rem;
}
.link_01:before {
	background: url("img/arrow_01.png") center no-repeat;
	background-size: cover;
	width: 24px;
	height: 24px;
	display: block;
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0,-50%);
}
.sec05 .midashi {
	background: #555555;
	color: #fff;
	font-size: 4rem;
	font-weight: bold;
	text-align: center;
	padding: 1rem 0;
	margin: 6rem 0 2rem;
}
}
.equipment-detail-wrap {
    margin-top: 50px
}

.equipment-detail.is-open .equipment-detail__button .icn--open::after {
    height: 0
}

.equipment-detail__link {
    text-align: center;
    width: 100%;
    max-width: 520px;
    margin: 0 auto
}

.equipment-detail__button {
    font-size: 155.6%;
    letter-spacing: .1em;
    background: #fff;
    color: #ac2925;
    border: #ac2925 solid .125em;
    padding: .75em 1em .75em .25em;
    border-radius: 100vh
}

.equipment-detail__button:hover {
    opacity: .8;
    background-color: #ffe5e3
}

.equipment-detail__button .icn--open {
    width: 1em;
    height: 1em;
    position: absolute;
    top: 50%;
    right: 5%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: all .15s cubic-bezier(.23, 1, .32, 1);
    -o-transition: all .15s cubic-bezier(.23, 1, .32, 1);
    transition: all .15s cubic-bezier(.23, 1, .32, 1)
}

.equipment-detail__button .icn--open::after, .equipment-detail__button .icn--open::before {
    display: block;
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    -webkit-transition: all .15s cubic-bezier(.23, 1, .32, 1);
    -o-transition: all .15s cubic-bezier(.23, 1, .32, 1);
    transition: all .15s cubic-bezier(.23, 1, .32, 1);
    background: #ac2925;
    border-radius: 2px
}

.equipment-detail__button .icn--open::before {
    width: 100%;
    height: 20%
}

.equipment-detail__button .icn--open::after {
    width: 20%;
    height: 100%
}

.sec05 .block-gray {
    padding: 20px;
    background-color: #ebebeb
}

.sec05 .goods-list-block .goods-ttl {
    color: #9c0008;
    font-weight: 700;
}

.sec05 .goods-list-block .goods-ttl02 {
    font-weight: 700
}

.sec05 .goods-list-block .goods-list .goods-item {
    background-color: #fff;
    padding: 20px
}

.sec05 .goods-list-block .goods-list .goods-item-top {
    display: table
}

.sec05 .goods-list-block .goods-list .goods-item-top > * {
    display: table-cell
}

.sec05 .goods-list-block .goods-list ._img {
    width: 80px
}

.sec05 .goods-list-block .goods-list ._img img {
    width: 100%
}

.sec05 .goods-list-block .goods-list ._name {
    vertical-align: middle;
    font-weight: 700
}

.sec05 .goods-list-block .goods-list .goods-item-smp .smp-img {
    display: table-cell
}

.sec05 .goods-list-block .goods-list .goods-item-smp .smp-img img {
    border: 2px #9c0008 solid;
    border-radius: 50%;
    width: calc(100% - 4px)
}

.sec05 .goods-list-block .goods-list .goods-item-smp .smp-name {
    display: table-cell;
    vertical-align: middle;
    color: #9c0008;
    font-weight: 700;
    padding-left: 10px
}

.sec05 .goods-list-block .goods-list .goods-item-smp .smp-txt {
    font-weight: 700;
    margin-top: 10px
}
@media (min-width: 768px), print {
    .sec05 .block-gray {
        padding: 30px
    }

    .sec05 .goods-list-block {
        margin-top: 40px
    }

    .sec05 .goods-list-block + .goods-list-block {
        margin-top: 4px
    }

    .sec05 .goods-list-block .goods-ttl {
        font-size: 22px;
        font-size: 2.2rem;
        margin-bottom: 20px
    }

    .sec05 .goods-list-block .goods-ttl02 {
        font-size: 20px;
        font-size: 2rem;
        margin-bottom: 20px
    }

    .sec05 .goods-list-block .goods-list-border > .goods-ttl02:first-child {
        margin-top: 22px
    }

    .sec05 .goods-list-block .goods-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        width: calc(100% + 22px);
        margin-top: -22px
    }

    .sec05 .goods-list-block .goods-list-border {
        margin-top: 30px
    }

    .sec05 .goods-list-block .goods-list > * {
        margin-top: 22px;
        margin-right: 22px;
        width: calc(33.33% - 22px);
        font-size: 16px;
        font-size: 1.6rem
    }

    .sec05 .goods-list-block .goods-list > :not(.goods-item) {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .sec05 .goods-list-block .goods-list > ._wide {
        width: calc(66.66% - 22px)
    }

    .sec05 .goods-list-block .goods-list > ._wide ._name {
        height: auto
    }

    .sec05 .goods-list-block .goods-list > ._wide .goods-list > ._half {
        width: calc(50% - 22px)
    }

    .sec05 .goods-list-block .goods-list > * > .goods-item {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto
    }

    .sec05 .goods-list-block .goods-list .goods-item-top {
        margin-bottom: 10px
    }

    .sec05 .goods-list-block .goods-list ._name {
        font-size: 18px;
        font-size: 1.6rem;
        padding-left: 15px;
        height: 80px
    }

    .sec05 .goods-list-block .goods-list ._wide .goods-item-side {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    .sec05 .goods-list-block .goods-list ._wide .goods-item-side ._name {
        margin-bottom: 20px;
        padding-left: 0 !important
    }

    .sec05 .goods-list-block .goods-list .goods-item-smp {
        display: block
    }

    .sec05 .goods-list-block .goods-list .goods-item-smp .smp-img {
        width: 120px
    }

    .sec05 .goods-list-block .goods-list .goods-item-smp .smp-name {
        font-size: 18px;
        font-size: 1.6rem
    }
.sec05 .js-accordion{
	display: table;
	border: 2px solid #bc111a;
	width: inherit;
	margin: 6rem auto 0;
	display: block;
	color: #bc111a;
	padding: 1rem 8rem 1rem 4rem;
	border-radius: 6px;
	box-sizing: border-box;
}
.sec05 .js-accordion p{
	font-size: 2.4rem;
}
.sec05 .accordion-box{
	width: 920px;
	margin: auto;
}
    .equipment__table table tbody tr td {
		padding: 2rem 0;
    }

}
@media only screen and (max-width: 768px) {
	    .sec05 {
        padding: 6.6666666667vw 0 13.3333333333vw
    }

    .sec05 .cta__buttons {
        margin: 0 0 8vw
    }

    .equipment__text {
        margin-bottom: 1.5em
    }

    .equipment__table table {
        width: 100%
    }

    .equipment__table table thead tr th {
        font-size: 4vw;
        padding: .5em 0
    }

    .equipment__table table thead tr th:last-of-type {
        border-left: #fff solid 1px
    }

    .equipment__table table tbody tr td, .equipment__table table tbody tr th {
        font-weight: 700;
        padding: .85em .15em
    }

    .equipment__table table tbody tr th {
        font-size: 3.7333333333vw;
        text-align: center;
        padding: .5em
    }

    .equipment__table table tbody tr th .num {
        margin: 0 auto .25em
    }

    .equipment__table table tbody tr td {
        font-size: 3.4666666667vw;
        width: 8em
    }

    .equipment__table table tbody tr td:last-of-type {
        width: 3em
    }

    .equipment__notes {
        font-size: 2.4vw
    }

    .equipment-detail-wrap {
        margin-top: 6.6666666667vw
    }

    .equipment-detail__link {
        max-width: 80vw
    }

    .equipment-detail__button {
        font-size: 4.6666666667vw
    }

    .sec05 .goods-list-block {
        margin-top: 20px
    }

    .sec05 .goods-list-block + .goods-list-block {
        margin-top: 5px
    }

    .sec05 .goods-list-block .goods-ttl {
        font-size: 20px;
        font-size: 2rem;
        margin-bottom: 15px
    }

    .sec05 .goods-list-block .goods-ttl02 {
        font-size: 18px;
        font-size: 1.8rem;
        margin-bottom: 5px
    }

    .sec05 .goods-list-block .goods-list-border > .goods-ttl02:first-child {
        margin-top: 20px;
        padding-top: 15px;
        border-top: 1px #ccc solid
    }

    .sec05 .goods-list-block .goods-list > * {
        font-size: 14px;
        font-size: 1.4rem
    }

    .sec05 .goods-list-block .goods-list > * + * {
        margin-top: 10px
    }

    .sec05 .goods-list-block .goods-list > * > .goods-ttl02 {
        margin-top: 20px;
        padding-top: 15px;
        border-top: 1px #ccc solid
    }

    .sec05 .goods-list-block .goods-list .goods-item-top {
        margin-bottom: 5px
    }

    .sec05 .goods-list-block .goods-list ._name {
        font-size: 1.6rem;
        padding-left: 10px
    }

    .sec05 .goods-list-block .goods-list ._wide .goods-item-side ._name {
        margin-top: 10px;
        padding-left: 0 !important
    }

    .sec05 .goods-list-block .goods-list .goods-item-smp .smp-img {
        width: 100px
    }

    .sec05 .goods-list-block .goods-list .goods-item-smp .smp-name {
        font-size: 16px;
        font-size: 1.6rem
    }
	    .equipment__table table {
        width: 100%
    }

    .equipment__table table thead tr th {
        font-size: 4vw;
        padding: .5em 0
    }

    .equipment__table table thead tr th:last-of-type {
        border-left: #fff solid 1px
    }

    .equipment__table table tbody tr td, .equipment__table table tbody tr th {
        font-weight: 700;
        padding: .85em .15em
    }

    .equipment__table table tbody tr th {
        font-size: 3.7333333333vw;
        text-align: center;
        padding: .5em;
    }

    .equipment__table table tbody tr th .num {
        margin: 0 auto .25em;
		display: block;
    }

    .equipment__table table tbody tr td {
        font-size: 3.4666666667vw;
        width: 8em;
    }

    .equipment__table table tbody tr td:last-of-type {
        width: 3em
    }
}
/*--------------------------------------
　sec06
---------------------------------------*/
.sec06  {
	padding: 0 0 4rem;
	background: #fff2eb;
}
.sec06 .ttl {
	background: #e70312;
	color: #fff;
	font-weight: bold;
	text-align: center;
	font-size: 2.8rem;
	padding: 0.4rem 0;
	margin-bottom: 4rem;
}
.sec06 .cta .ttl {
	font-size: 4.2vw;
	width: 90%;
}
.sec06 ul li  {
	background: #fff;
	padding: 2rem 1.5rem 3rem;
	border-radius: 10px;
	position: relative;
}
.sec06 ul li:not(:last-child)  {
	margin-bottom: 6rem;
}
.sec06 ul li:not(:last-child):after {
	display: block;
	position: absolute;
	content: "";
	bottom: -45px;
	left: 50%;
	transform: translate(-50%,0);
  background:#e70312;
  height: calc(60px / 2);
  width: 60px;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.sec06 ul li .midashi {
	font-size:4.8vw;
	font-weight: bold;
	text-align: center;
	margin-bottom: 2rem;
}
.sec06 ul li .midashi .num {
	width: 30px;
	height: 30px;
	display: table;
	font-size:4.8vw;
	color: #fff;
	background: #e70312;
	border-radius: 50%;
	font-weight: bold;
	text-align: center;
	margin:0 auto 0.5rem;
}
.sec06 ul li .read {
	font-size: 4vw;
	font-weight: bold;
	text-align: center;
	margin-bottom: 2rem;
}
.sec06 ul li .img {
	margin-bottom: 1rem;
}
.sec06 ul li .mb{
	margin-bottom: 4rem;
}
.sec06 ul li .sub{
	font-size: 1rem!important;
}

@media screen and (min-width: 768px) {
.sec06  {
	padding: 0 0 8rem;
}
.sec06 .ttl {
	font-size: 4.6rem;
	padding: 1.4rem 0;
	margin-bottom: 8rem;
}
.sec06 ul li  {
	padding: 4rem 3rem 6rem;
	border-radius: 20px;
}
.sec06 ul li:not(:last-child)  {
	margin-bottom: 12rem;
}
.sec06 ul li:not(:last-child):after {
	display: block;
	position: absolute;
	content: "";
	bottom: -90px;
	left: 50%;
	transform: translate(-50%,0);
  background:#e70312;
  height: calc(120px / 2);
  width: 120px;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.sec06 ul li .midashi {
	font-size:4.2rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 4rem;
}
.sec06 ul li .midashi .num {
	width: 60px;
	height: 60px;
	display: table;
	line-height:55px;
	font-size:4.2rem;
	color: #fff;
	background: #e70312;
	border-radius: 50%;
	font-weight: bold;
	text-align: center;
	margin:0 auto 0.5rem;
}
.sec06 ul li .read {
	font-size:2.2rem;
	font-weight: bold;
	text-align: left;
	margin-bottom:1.5rem;
}
.sec06 ul li .img {
	margin: 0;
	width: 30%;
}
	.sec06 ul li .txtbox {
		width: 65%;
}
.sec06 ul li .mb{
	margin-bottom: 8rem;
}
.sec06 ul .fx_box {
	display: flex;
	justify-content: space-between;
}
.sec06 ul .txt {
	font-size: 1.6rem!important;
}
.sec06 .cta .ttl {
	width: 95%;
	padding-left: 10%;
	font-size: 2.6rem;
}
.sec06 ul li .sub{
	font-size: 1.2rem!important;
}
}
/*--------------------------------------
　sec07
---------------------------------------*/

.sec07 .ttl {
	background: #444444;
	color: #fff;
	font-weight: bold;
	text-align: center;
	font-size: 2.8rem;
	padding: 0.4rem 0;
	margin-bottom: 4rem;
}
.sec07 .upper {
	margin-bottom: 4rem;
}
.sec07 .link_box {
	background: #f5f5f5;
	padding: 2rem 2rem 0 2rem;
	display: flex;
	flex-wrap: wrap;
}
.sec07 .link_box a {
	display: block;
	width: 50%;
	position: relative;
	margin-bottom: 2rem;
	padding-left: 2rem;
}
.sec07 .link_box a:before {
	display: block;
	position: absolute;
	content: "";
	width: 14px;
	height: 14px;
	background: url("img/arrow_02.png") center no-repeat;
	background-size: cover;
	left: 0;
	top: 50%;
	transform: translate(0,-50%);
}
.sec07 .box {
	background: #cfdff3;
	padding: 3rem 1.5rem;
}
.sec07 .box:nth-child(even){
	background: #f8edef;
}
.sec07 .box .item:not(:last-child) {
	margin-bottom: 2rem;
}
.sec07 .box .midashi {
	text-align: center;
	font-weight: bold;
	font-size: 2.2rem;
	margin-bottom: 2rem;
}
button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	width: 100%;
}
.js-accordion--close{
  display: none;
}
.accordion-box {
  height:0;
  overflow:hidden;
  transition:.4s ease;
	
}

.js-accordion{
  position: relative;
	
}

.js-accordion::before{
  content: "";
  width: 2px;
  height: 16px;
  background: #01519b;
  position: absolute;
  right: 18px;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: .6s ease;
}
.js-accordion::after{
  content: "";
  width: 16px;
  height: 2px;
  background: #01519b;
  position: absolute;
  right: 11px;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: .6s ease;
}
.js-accordion.is-accordion--open::before{
  transform: rotate(90deg);
}
.js-accordion.is-accordion--open::after{
  transform: rotate(-180deg);
}
.js-accordion.is-accordion--open + .accordion-box{
  height: auto;
	display: block;
	
}
.sec07 .js-accordion>div{
  padding: 0 35px 0 10px;
	padding: 1rem 6rem 1rem 5rem;
	text-align: left;
	background: #f5f5f5;
	
}
.sec07 .js-accordion>div p{
	font-weight: bold;
	font-size: 1.8rem;
	line-height: 1.4;
	
}
.sec07 .js-accordion>div:before{
  display: block;
	position: absolute;
	content: "Q";
	color: #01519b;
	font-weight: bold;
	font-size:2.6rem;
	background-size: cover;
	left: 1.5rem;
	top: 50%;
	transform: translate(0,-50%);
}
.sec07 .accordion-box{
	background: #fff;
}
.sec07 .accordion-box div{
	padding: 1.5rem 1.5rem 1.5rem 5rem;
	position: relative;
}
.sec07 .accordion-box div:before{
  display: block;
	position: absolute;
	content: "A";
	font-size:2.2rem;
	background-size: cover;
	left:2rem;
	top: 1.5rem;
}
.sec07 .cover{
	padding: 4rem 1.5rem;
}
.sec07 .cover .under_ttl {
	font-size: 2.4rem;
	text-align: center;
	font-weight: bold;
}
.sec07 .cover .upper {
	margin-bottom: 6rem;
}
.c_blue {
	color:#01519b;
}
@media screen and (min-width: 768px) {
	.sec07 .ttl {
	font-size: 4.8rem;
	padding: 1rem 0;
	margin-bottom: 8rem;
}
.sec07 .upper {
	margin-bottom: 8rem;
}
.sec07 .link_box {
	background: #f5f5f5;
	padding: 4rem 4rem 0 4rem;
	display: flex;
	flex-wrap: wrap;
}
.sec07 .link_box a {
	display: block;
	width: 33%;
	position: relative;
	margin-bottom: 3rem;
	padding-left: 3rem;
	font-size: 2rem;
}
.sec07 .link_box a:before {
	display: block;
	position: absolute;
	content: "";
	width: 24px;
	height: 24px;
	background: url("img/arrow_02.png") center no-repeat;
	background-size: cover;
	left: 0;
	top: 50%;
	transform: translate(0,-50%);
}
.sec07 .box {
	background: #cfdff3;
	padding: 6rem 4rem;
}
.sec07 .box:nth-child(even){
	background: #f8edef;
}
.sec07 .box .item:not(:last-child) {
	margin-bottom: 4rem;
}
.sec07 .box .midashi {
	text-align: center;
	font-weight: bold;
	font-size: 4.4rem;
	margin-bottom: 4rem;
}
.sec07 .box .item {
	width: 920px;
	margin: auto;
	box-sizing: border-box;
}
button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	width: 100%;
}
.js-accordion--close{
  display: none;
}
.accordion-box {
  height:0;
  overflow:hidden;
  transition:.4s ease;
	
}

.js-accordion{
  position: relative;
	
}

.js-accordion::before{
  content: "";
  width: 2px;
  height: 32px;
  background: #01519b;
  position: absolute;
  right: 37px;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: .6s ease;
}
.js-accordion::after{
  content: "";
  width: 32px;
  height: 2px;
  background: #01519b;
  position: absolute;
  right: 22px;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: .6s ease;
}
.js-accordion.is-accordion--open::before{
  transform: rotate(90deg);
}
.js-accordion.is-accordion--open::after{
  transform: rotate(-180deg);
}
.js-accordion.is-accordion--open + .accordion-box{
  height: auto;
	display: block;
	
}
.sec07 .js-accordion>div{
	padding: 2rem 12rem 2rem 8rem;
	text-align: left;
	background: #f5f5f5;
	
}
.sec07 .js-accordion>div p{
	font-weight: bold;
	font-size: 2.2rem;
	
}
.sec07 .js-accordion>div:before{
  display: block;
	position: absolute;
	content: "Q";
	color: #01519b;
	font-weight: bold;
	font-size:4.4rem;
	background-size: cover;
	left: 3rem;
	top: 50%;
	transform: translate(0,-50%);
}
.sec07 .accordion-box{
	background: #fff;
}
.sec07 .accordion-box div{
	padding: 3rem 4rem 3rem 8rem;
	position: relative;
}
.sec07 .accordion-box div:before{
  display: block;
	position: absolute;
	content: "A";
	font-size:2.2rem;
	background-size: cover;
	left:4rem;
	top: 3rem;
}
.sec07 .cover{
	padding: 8rem 3rem;
}
.sec07 .cover .under_ttl {
	font-size: 4.4rem;
}
.sec07 .cover .upper {
	margin-bottom: 12rem;
}

}
/*--------------------------------------
　モーダル
---------------------------------------*/
.modal-open{
}
/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0,0,0,50%);
	padding: 40px 20px;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
  box-sizing: border-box;
	z-index: 999!important;
}
/*モーダル本体の擬似要素の指定*/
.modal-container:before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
	z-index: 999;
}
/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active{
	opacity: 1;
	visibility: visible;
}
/*モーダル枠の指定*/
.modal-body{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 500px;
	width: 90%;
}
/*モーダルを閉じるボタンの指定*/
.modal-close{
	position: absolute;
	display: flex;
  align-items: center;
  justify-content: center;
	top: -40px;
	right: -40px;
	width: 40px;
	height: 40px;
	font-size: 40px;
	color: #fff;
	cursor: pointer;
}
/*モーダル内のコンテンツの指定*/
.modal-content{
	background: #fff;
	text-align: left;
	padding: 20px;
}
.modal-content .box_02 {
	background: #f1f1f1;
	padding: 2rem;
	border-radius: 10px;
	margin-top: 2rem;
}
.modal-content .box_02 .m_img02 {
	width: 80%;
	margin:0 auto 1rem;
}
.modal-content .m_ttl {
	font-size: 2rem;
	text-align: center;
	font-weight: bold;
	margin-bottom: 2rem;
}
.ta_center {
	text-align: center;
}
.ta_right {
	text-align: right;
}
.modal-content .txt_01 {
	font-size: 1rem;
	margin-top: 1rem;
}
@media screen and (min-width: 768px) {
	.modal-open{
}
/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0,0,0,50%);
	padding: 40px 20px;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
  box-sizing: border-box;
	z-index: 999!important;
}
/*モーダル本体の擬似要素の指定*/
.modal-container:before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
	z-index: 999;
}
/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active{
	opacity: 1;
	visibility: visible;
}
/*モーダル枠の指定*/
.modal-body{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width:650px;
	width: 90%;
}
/*モーダルを閉じるボタンの指定*/
.modal-close{
	position: absolute;
	display: flex;
  align-items: center;
  justify-content: center;
	top: -40px;
	right: -40px;
	width: 40px;
	height: 40px;
	font-size: 40px;
	color: #fff;
	cursor: pointer;
}
/*モーダル内のコンテンツの指定*/
.modal-content{
	background: #fff;
	text-align: left;
	padding: 30px;
}
.modal-content .box_02 {
	background: #f1f1f1;
	padding: 2rem;
	border-radius: 10px;
	margin-top: 2rem;
}
.modal-content .box_02 .m_img02 {
	width: 80%;
	margin:0 auto 1rem;
}
.modal-content .m_ttl {
	font-size: 2.8rem;
	text-align: center;
	font-weight: bold;
	margin-bottom: 2rem;
}
.ta_center {
	text-align: center;
}
.ta_right {
	text-align: right;
}
.modal-content .txt_01 {
	font-size: 1.4rem;
	margin-top: 1rem;
}
}


