﻿.maindesign .mgt0{
	margin-top: 0!important;
}
.maindesign .mt10{
	margin-top: 10px;
}
.maindesign .mb0{
	margin-bottom: 0;
}
.maindesign .mb10{
	margin-bottom: 10px;
}
.maindesign .mb20{
	margin-bottom: 20px;
}
.maindesign .mgb2{
	margin-bottom: 2em;
}
.maindesign .mb30{
	margin-bottom: 30px;
}
.maindesign .mb40{
	margin-bottom: 40px!important;
}
.maindesign .mgb60{
	margin-bottom: 60px!important;
}
.maindesign .tac{
	text-align: center;
}
.maindesign .w-6{
	width: 42px;
}
.maindesign .w-10{
	width: 90px;
}
.maindesign .w-16{
	width: 132px;
}
.maindesign .w-17{
	width: 17%;
}
.maindesign .w-68{
	width: 68%;
}
.tac{text-align: center;}
@media screen and (max-width:767px) {
.maindesign .w-17{
	max-width: 50px;
}
.maindesign .fslarge {
    font-size: 1.0em;
}
}
.maindesign {
    font-family:"Noto Sans JP","ＭＳ Ｐゴシック","MS PGothic",verdana,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,Sans-Serif;
	margin-bottom:0 !important;
}
.maindesign h1 img{
	width:100%;
}
.maindesign .heading-top01{
	color: #fff;
	text-shadow: 1px 1px 2px rgb(10 10 10 / 70%);
    text-align: left;
    font-weight: bold;
    font-size: 70px;
    margin-left: 0;
    padding-top: 0;
    line-height: 1;
    position: absolute;
    top: 50%;
    transform: translatey(-50%);
    left: 25px;
}
.maindesign .heading01{
	color: #fff;
    text-shadow: 1px 1px 2px rgb(10 10 10 / 70%);
    text-align: left;
    font-weight: bold;
    font-size: 50px;
    margin-left: 0;
    padding-top: 0;
    line-height: 1;
    position: absolute;
    top: 28%;
    transform: translatey(-50%);
    left: 25px;
}
.maindesign .heading02{
	color: #fff;
    text-shadow: 1px 1px 2px rgb(10 10 10 / 70%);
    text-align: left;
    font-weight: bold;
    font-size: 70px;
    margin-left: 0;
    padding-top: 0;
    line-height: 1;
    position: absolute;
    top: 65%;
    transform: translatey(-50%);
    left: 25px;
}

.maindesign h1 span .s_title{
	font-size:0.8em;
}
@media screen and (max-width: 767px){
.maindesign h1 .heading-top01 {
	font-size: 10vw;
    left: 3vw;
}
.maindesign h1 .heading01 {
	font-size: 8vw;
    left: 3vw;
    top: 34%;
}
.maindesign h1 .heading02 {
	font-size: 10vw;
    left: 3vw;
	top: 63%;
}
.maindesign .fsMedium {
    font-size: 0.9em;
    padding: 0.75em 1em;
}

}
.maindesign .h2comment {
	line-height:1.2em;
}
.maindesign span.indent {
    display: block;
    padding-left: 1.0em;
    text-indent: -1.0em;
}
.maindesign .cols3-2 li{
width:calc(33.33% - 7px);
margin-right:calc(21px / 2);
margin-bottom:20px;
position: relative;
} 

.maindesign .cols3-2 .text-box{
padding:0.5em;
line-height: 1.6em;
}

.maindesign .cols3-2 .cover-btn{
position: absolute;
bottom: 0%;
width:100%;
}	

.maindesign .cols3-2 li:nth-child(3n){
margin-right:0px;
}
.maindesign .iconp{
	padding-left:60px;
}


@media screen and (min-width:768px){
.maindesign .icon{
	margin-bottom:-2em;
	width:50px;
}
.maindesign .w50 {
width:calc(50% - 5px) !important;
margin-right:calc(10px / 1) !important;
margin-bottom:20px;
}
.maindesign .w50sp {
    width: calc(50% - 5px) !important;
    margin-right: calc(10px / 1) !important;
    margin-bottom: 20px;
}
.maindesign .w80pc{
	width:80%;
	margin:auto;
	text-align:center;
}
.maindesign .w70pc{
	width:70% !important;
	margin:0 auto 40px !important;
}
.maindesign .fsMedium {
    font-size: 1.0em;
    padding: 0.75em 1em;
}
}


@media screen and (max-width:767px){

.maindesign .links.cols3-2 li{
width:calc(50% - 5px);
margin-right:calc(10px / 1);
margin-bottom:20px;
}
.maindesign .links.cols3-2 li:nth-child(2n){
margin-right:0px;
}	
.maindesign .cols3-2 li:nth-child(3n){
margin-right:calc(10px / 1);
}
.maindesign .links.cols3-2 li:nth-child(6n){
margin-right:0px;
}
.maindesign .links.cols3-2 .text-box{
padding: 0.5em;
line-height: 1.6em;

}
.maindesign span.indent {
    display: block;
    padding-left: 1.0em;
    text-indent: -1.0em;
    margin: 0 3%;
    line-height: 1.4;
}
.maindesign .icon{
	margin-bottom:-3em;
	width:50px;
}

.maindesign .mgr0sp{
	margin-right:0 !important;
}
}

.maindesign .main_botton li{
	width: calc(100% / 6 - 7px);
    margin-right: calc(42px / 5);
}
.maindesign .main_botton .rep {
    display: block;
    vertical-align: middle;
    padding: 0.7em 0.5em;
    width: auto;
    border-left: none;
}
.maindesign .main_botton li:nth-child(3n) {
    margin-right: calc(42px / 5);
}
.maindesign .main_botton li:nth-child(6n) {
    margin-right: 0px;
}
@media screen and (max-width:767px) {
.maindesign .main_botton .rep p{
	font-size:0.8em;
}
.maindesign .main_botton li{
	width: calc(50% - 5px);
    margin-right: 10px;
}
.maindesign .main_botton li:nth-child(3n) {
    margin-right: 10px;
}
.maindesign .main_botton li:nth-child(6n) {
    margin-right: 10px;
}
.maindesign .main_botton li:nth-child(2n) {
    margin-right: 0;
}
}
@media screen and (max-width:767px){
.maindesign .cols2-1st li {
    width: 100%;
	margin-right: 0;
}
}
.maindesign .howto{
display:flex;
flex-wrap: wrap;
margin-top: 10px;
margin-bottom: 30px;
}
.maindesign .howto.cols3-1 li{
	width: calc(33.3% - 7px);
    margin-right: calc(21px / 2);
    margin-bottom: 20px;
    padding-bottom: 0;
    position: relative;
}
.maindesign .howto.cols3-1 li:nth-child(3n) {
    margin-right: 0px;
}
.maindesign .howto.cols3-1 li a{
	display: flex;
}	
.maindesign .howto.cols3-1 li a .linksImg{
	margin: 5px 15px 5px auto;
}
.maindesign .howto.cols3-1 li a .linksTxt{
	margin: auto auto auto 10px;
}
.maindesign .howto.cols3-1 li a .linksTxt p {
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 10px;
}
.maindesign .howto .linksTxt {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
@media screen and (max-width:767px){
.maindesign .howto.cols3-1 li{
	width: 100%;
	margin-right:0;
	margin-bottom: 20px;
}
	
.maindesign .howto.cols3-1 li a{
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
flex-direction: row-reverse;
}
	
.maindesign .howto.cols3-1 li a .linksImg{
	margin: 5px 15px 5px 5px;
}	
	
.maindesign .howto.cols3-1 a .linksImg{
width: calc(8.5em - 4.8vw);
margin:0 4% 0 0;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
align-items: center;
}
.maindesign h2.iconh2 {
     padding-bottom: 0px !important; 
    display: flex;
    align-items: center;
}
.maindesign .icon {
	margin-bottom:0;
	width:10vw;
}
.maindesign .iconp {
	padding-left:5px;
}
}
.maindesign .relation {
    display: flex;
    flex-wrap: wrap;
}
.maindesign a.feature {
    display: block;
    color: #000000;
    text-decoration: none;
}
.maindesign .feature2 {
    display: block;
    color: #000000;
    text-decoration: none;
    width: calc(50% - 7px);
    height: auto;
    margin-right: 10px;
    margin-bottom: 10px;
    padding: 10px 0;
    border: 1px solid #ccc;
    position: relative;
    transition: 0.6s;
    text-align: justify;
}

.maindesign .feature {
    width: calc(50% - 8px);
    height: auto;
    min-height: 75px;
    margin-right: 10px;
    margin-bottom: 10px;
    padding: 10px 0;
    border: 1px solid #ccc;
    position: relative;
    transition: 0.6s;
    text-align: justify;
}
.maindesign .feature .feat_title {
    font-size: 1.2em;
    width: calc(80% - 30px);
    padding-left: 10px;
    font-weight: bold;
    margin: 0;
	line-height: 1.2;
	color: #333333;
}
.maindesign .feature2 .feat_title {
    font-size: 1.2em;
    width: calc(80% - 30px);
    padding-left: 10px;
    font-weight: bold;
    margin: 0;
    line-height: 1.2;
    color: #333333;
}
.maindesign .feature .feat_text {
    font-size: 0.8em;
    width: calc(80% - 30px);
    padding-left: 10px;
    line-height: 1.2;
    margin: 10px 0 0 0;
	color: #333333;
}
.maindesign .feature2 .feat_text {
    font-size: 0.8em;
    width: calc(80% - 30px);
    padding-left: 10px;
    line-height: 1.2;
    margin: 10px 0 0 0;
    color: #333333;
}
.maindesign .feature img {
    position: absolute;
    top: 50%;
    right: 10px;
    width: 20%;
    transform: translateY(-50%);
    transition: 0.6s;
}
.maindesign .feature2 img {
    position: absolute;
    top: 50%;
    right: 10px;
    width: 20%;
    transform: translateY(-50%);
    transition: 0.6s;
}
.maindesign .flexc {
	align-items: center;
    display: flex !important;
}

@media screen and (min-width:768px){

.maindesign .feature:nth-child(2n) {
    margin-right: 0;
}
.maindesign .feature2:nth-child(2n) {
    margin-right: 0;
}
/*.pc-only {
    display: initial;
}*/
}
@media screen and (max-width:767px){
.maindesign .feature {
    width: 100%;
    height: auto;
    margin-bottom: 10px;
	margin-right: 0;
    padding: 10px 0;
    border: 1px solid #ccc;
    position: relative;
    transition: 0.6s;
    text-align: justify;
}
.maindesign .feature2 {
    width: 100%;
    height: auto;
    margin-bottom: 10px;
	margin-right: 0;
    padding: 10px 0;
    border: 1px solid #ccc;
    position: relative;
    transition: 0.6s;
    text-align: justify;
}
.maindesign .cols2-1ex .cover-btn {
    position: inherit !important;
}
	.maindesign .feature .feat_title {
    font-size: 1.1em;
}
.maindesign .feature2 .feat_title {
    font-size: 1.1em;
}
}
/*2カラム<-->1カラム*/

.maindesign .cols2-1ex .pd{
/*購入ボタン退避領域*/
	padding-bottom:calc(2em + 6px);	
}
.maindesign .textpoint{
	text-align:center;
	font-size:1.5em;
	line-height:1.6em;
}
.maindesign .textbig{
	font-size:5vw;
	line-height:1.5em;
	font-weight:bold;
	-webkit-text-stroke: 2px;
    letter-spacing: 2px;
}
.maindesign .textred{
	color:#f00;
}
.maindesign .cols2-1ex .cover-btn {
    bottom: 4% !important;
}
.maindesign .goTop {
    clear: both;
    font-size: 14px;
    margin: 8px 0;
    text-align: right;
}

.maindesign .links li {
	padding-bottom: 0.5em;
}
.maindesign .links.cols4-2 .text-box {
    height: 4em;
}
.maindesign a.btnRadius02 {
    width: 96% !important;
    margin: 0 auto 10px !important;
}
	.maindesign .w50 {
    	width: 50% !important;
    	margin: 0 auto 20px !important;
		border-radius: 40px;
		font-weight: bold;
    	height: 100%;
    	color: #FFF;
    	display: flex;
    	cursor: pointer;
    	text-decoration: none;
    	box-sizing: border-box;
    	align-items: center;
    	justify-content: center;
    	text-align: center;
	}
.maindesign .anc h3{
	font-weight: bold;
	padding: 1rem;
	margin-bottom: 10px;
	color: #fff;
}
.maindesign .bgc01{
	background-color: #00b0f0;
}
.maindesign .bgc02{
	background-color: #9999ff;
}
.maindesign .bgc03{
	background-color: #92d050;
}
.maindesign .anc p{
	font-size: 1.2em;
	line-height: 1.5em;
}
.maindesign .breadcrumb {
    box-sizing: border-box;
    color: #83838f;
    display: flex;
    flex-wrap: wrap;
    font-size: 14px;
    line-height: 1.5;
    padding-left: 10px;
    padding-right: 10px;
    margin-bottom: 10px;
}
.maindesign .flw-w {
    flex-wrap: wrap;
}
.maindesign .flw-w p {
    width: 100%;
}
.maindesign .arrow_u {
    width: 10px;
    height: 10px;
    border: 2px solid;
    border-color: transparent transparent #333 #333;
    transform: rotate(-45deg);
}
.botton_box3-2 {
    display: flex;
    flex-wrap: wrap;
    margin-top: 10px;
    margin-bottom: 10px;
}
.botton_box3-2 li {
    width: calc(33.33% - 7px);
    margin-right: calc(21px / 2);
    margin-bottom: 10px;
    text-align: center;
}
.botton_box3-2 li:nth-child(3n) {
    margin-right: 0px;
}
.maindesign h3 {
    border-left: 4px solid #E5002D;
    font-size: 1.2em;
    font-weight: bold;
    margin: 30px 0 20px 0;
    text-align: left;
    padding: 0.3rem 1rem;
}
.maindesign .goods.cols4-2 .text-box{
	line-height: 1.3;
	padding: 0.5em 0;
}

.maindesign h4 {
    font-size: 1.05em;
    font-weight: bold;
}
.maindesign h4 span{
    font-size: 1.1em;
    font-weight: bold;
	color: #E5002D;
}
.maindesign img{
	width: 100%;
	margin-top: auto;
	flex-shrink: 0;
}
.maindesign td img {
    width: 80%;
}
.maindesign .scroll-box table{
	width: 100%;
	text-align: center;
	border-spacing: initial;
}
.maindesign table th, table td {
	border: solid 1px #cccccc;
	padding: 5px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
.maindesign .border-t{
	border-top: none;
}
.maindesign .border-b{
	border-bottom: none;
}
.maindesign .border-l{
	border-left: none;
}
.maindesign .border-r{
	border-right: none;
}
.maindesign th {
	font-size: 14px;
	line-height: 1.3;
	background-color: #EFEFEF;
	z-index: 1;
}
.maindesign td {
	font-size: 13px;
	line-height: 1.3;
}
.maindesign table .vertical-h{
   min-height: 6em;
    max-height: 6em;
}
.maindesign .vertical {
	-webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
}
.maindesign .vertical-t {
	vertical-align: top;
}
.maindesign .new-line{
	display: inline-block;
}
.maindesign .mini-txt{
	font-size: 8px;
	display: block;
}
.maindesign .pbun {
    padding-bottom: calc(3em + 12px);
}
.maindesign .goods.cols4-2 li {
	display: flex;
    flex-direction: column;
    border-radius: 5px;
}
@media screen and (max-width:767px){
	.maindesign .scroll-box {
    	overflow-x: auto;
		white-space: nowrap;
    	padding-bottom: 10px;
    	-webkit-overflow-scrolling: touch;
}
	.maindesign .scroll-box	table .fixcell {
	position: -webkit-sticky;
	position: sticky;
	left: 20px;
	width: 20px;
	min-width: 20px;
	max-width: 20px;
}
	.maindesign .scroll-box	table .fixcell1 {
	position: -webkit-sticky;
	position: sticky;
	left: 20px;
	width: 30px;
	min-width: 30px;
	max-width: 30px;
}
	.maindesign .scroll-box table .fixcell2 {
    position: -webkit-sticky;
    position: sticky;
    left: 50px;
    width: 20px;
    min-width: 20px;
    max-width: 20px;
}
	.maindesign .scroll-box table .fixcell3 {
    position: -webkit-sticky;
    position: sticky;
    left: 70px;
    width: 20px;
    min-width: 20px;
    max-width: 20px;
}
	.maindesign .scroll-box table .fixcell4 {
    position: -webkit-sticky;
    position: sticky;
    left: 90px;
    width: 20px;
    min-width: 20px;
    max-width: 20px;
}
	.maindesign .scroll-box table .fixcell5 {
    position: -webkit-sticky;
    position: sticky;
    left: 110px;
    width: 20px;
    min-width: 20px;
    max-width: 20px;
}
	.maindesign .scroll-box	table .fixcell:first-child {
	left: 0;
}
	.maindesign .scroll-box	table .fixcell[colspan="2"] {
	width: 50px;
	min-width: 50px;
	max-width: 50px;
	left: 0;
}
	.maindesign .scroll-box	table .fixcell[colspan="3"] {
	width: 60px;
	min-width: 60px;
	max-width: 60px;
	left: 70px;
}
	.fixcell::before{
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: calc(100% + 1px);
    height: calc(100% + 1px);
    border: 1px solid #ccc;
  }
	.fixcell1::before{
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: calc(100% + 1px);
    height: calc(100% + 1px);
    border: 1px solid #ccc;
  }
	.fixcell2::before{
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: calc(100% + 1px);
    height: calc(100% + 1px);
    border: 1px solid #ccc;
  }
	.fixcell3::before{
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: calc(100% + 1px);
    height: calc(100% + 1px);
    border: 1px solid #ccc;
  }
	.fixcell4::before{
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: calc(100% + 1px);
    height: calc(100% + 1px);
    border: 1px solid #ccc;
  }
	.fixcell5::before{
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: calc(100% + 1px);
    height: calc(100% + 1px);
    border: 1px solid #ccc;
  }

	.maindesign .scroll-box::-webkit-scrollbar {
    height: 4px;
}
	.maindesign .scroll-box::-webkit-scrollbar-track {
    background: #eee;
}
	.maindesign .scroll-box::-webkit-scrollbar-thumb {
    background: #aaa;
    border: none;
}
	.maindesign .w50 {
    	width: 70% !important;
	}
	.maindesign .textbig{
	font-size:12vw;
	line-height:1.5em;
}
	.botton_box3-2 li {
    width: calc(50% - 5px);
    margin-bottom: 10px;
    margin-right: 10px;
}
	.botton_box3-2 li:nth-child(2n) {
    margin-right: 0px;
}
	.botton_box3-2 li:nth-child(3n) {
        margin-right: auto;
}
.maindesign th {
	font-size: 8px;
}
.maindesign td {
	font-size: 8px;
}
.maindesign td img {
    width: 100%;
}
.maindesign .scrollsp li {
    width: calc(60% - 7px) !important;
    flex-shrink: 0;
}
.maindesign .scrollsp {
    flex-wrap: nowrap;
    overflow-x: auto;
    width: 100%;
}
}

/*220512*/
	.maindesign td a:link {
    color: #333;
}
	.maindesign td a:visited {
    color: #AAAAAA;
}
	.maindesign .back-c01 {
		background-color: #c6f8ff;
	}
	.maindesign .txt-red {
		color: #E5002D;
		border: solid 1px #333333;
		padding: 10px;
		line-height: 1.3;
	}
	.maindesign .links li img {
    	margin-top: 10px;
    	margin-bottom: 10px;
	}
	.maindesign .links li {
    	text-align: center;
	}
	.maindesign .flexbtn {
    	display: flex;
    	align-items: center;
    	background: #fff;
    	width: 100%;
    	border: solid 1px #000;
    	color: #333;
    	font-weight: 700;
    	border-radius: 20px;
    	overflow: hidden;
	}
	.maindesign .tal {
		text-align: left !important;
	}
	@media screen and (min-width:768px) {
		.maindesign .links li .w40 {
			width: 40%;
			margin-left: 4px;
		}
	}

	@media screen and (max-width:767px) {
	.maindesign .links li .w40 {
		width: 30%;
		margin-left: 4px;
	}
	.maindesign table .vertical-h02 {
    	min-height: 5em;
		text-align: -webkit-center;
	}
	.maindesign table .vertical02 {
    	-webkit-writing-mode: vertical-lr;
		-ms-writing-mode: tb-lr;
		writing-mode: vertical-lr;
}
	.maindesign .links.cols4-2 li:nth-child(6n) {
    	margin-right: calc(10px / 1);
	}
	.maindesign .txt-red {
		font-size: 14px;
	}
	.maindesign .text-box{
		font-size: 14px;
	}
	.maindesign .goods.cols4-2 .pbun:nth-child(2n) {
		margin-right: 10px;
		}
	}

/*220512sub*/
	@media all and (-ms-high-contrast: none) {
	.maindesign .scroll-box th:before{
    content:none;
		}
	}
	.maindesign .feature2 img {
		position: relative;
		top: 0;
		right: 0;
		width: 30%;
		transform: translateY(0);
		transition: 0;
	}
	.maindesign .feature2 {
    	display: flex;
		justify-content: space-between;
		align-items: center;
		position: initial;
		padding: 10px;
		width: calc(50% - 27px);
	}
	.maindesign .feature2 .feat_title {
    	font-size: 1.0em;
		padding-left: 0;
   		 width: 90%;
	}
	.maindesign .feature2 .feat_text {
		padding-left: 0;
    	width: 90%;
		padding-right: 5px;
	}
	.maindesign .feature2 .frex-contents {
    	width: 80%;
	}
	.maindesign .feature2 .frex-contents02 {
    	width: 100%;
	}
	.maindesign .scroll-box .back-c01{
    	background-color: #ffe4e9;
		text-align: left;
	}
	.maindesign .scroll-box .back-c02{
    	background-color: #E8E8E8;
		text-align: left;
	}
	.maindesign .scroll-box .back-c03{
    	background-color: #c6f8ff;
		text-align: left;
	}
	.maindesign .scroll-box .back-c04{
    	background-color: #d5ffc6;
		text-align: left;
	}
	.maindesign .scroll-box .back-c05{
    	background-color: #fff4c6;
		text-align: left;
	}
	.maindesign table .vertical-h {
    min-height: 10em;
}
	.maindesign th {
    	font-size: 0.8em;
	}
	.maindesign td {
    font-size: 0.7em;
    width: 150px;
    min-width: 150px;
    max-width: 150px;
	}
	.maindesign td img {
    width: 60%;
}
	.maindesign .scroll-box {
    	overflow-x: auto;
    	white-space: nowrap;
    	padding-bottom: 10px;
    	-webkit-overflow-scrolling: touch;
	}
	.maindesign .scroll-box	table .sub-fixcell {
		position: -webkit-sticky;
		position: sticky;
		left: 25px;
		width: 25px;
		min-width: 25px;
		max-width: 25px;
	}
	.maindesign .scroll-box	table .sub-fixcell1 {
		position: -webkit-sticky;
		position: sticky;
		left: 25px;
		width: 95px;
		min-width: 95px;
		max-width: 95px;
	}
	.maindesign .scroll-box	table .sub-fixcell:first-child {
		left: 0;
	}
	.maindesign .scroll-box	table .sub-fixcell[colspan="2"] {
		width: 120px;
		min-width: 120px;
		max-width: 120px;
		left: 0;
}
	.sub-fixcell::before{
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: calc(100% + 1px);
    height: calc(100% + 1px);
    border: 1px solid #ccc;
  }
	.sub-fixcell1::before{
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: calc(100% + 1px);
    height: calc(100% + 1px);
    border: 1px solid #ccc;
  }
	.maindesign .txt-red {
		color: #E5002D;
		border: solid 1px #333333;
		padding: 10px;
		line-height: 1.3;
	}
	.maindesign .links li img {
    	margin-top: 10px;
    	margin-bottom: 10px;
	}
	.maindesign .links li {
    	text-align: center;
	}
	.maindesign .flexbtn {
    	display: flex;
    	align-items: center;
    	background: #fff;
    	width: 100%;
    	border: solid 1px #000;
    	color: #333;
    	font-weight: 700;
    	border-radius: 20px;
    	overflow: hidden;
	}
	.maindesign .tal {
		text-align: left !important;
	}
	.maindesign .chuui {
    	font-size: 0.5em;
    	line-height: 1.3;
		color: #333;
	}

	@media screen and (max-width:767px) {
		.maindesign table th, table td {
			padding: 2px;
		}
		.maindesign .feature2 {
		width: 100%;
	}
		.maindesign .feature2 img {
		width: 30%;
	}
		.maindesign .scroll-box {
			text-size-adjust: none;
			-webkit-text-size-adjust: none;
	}
		.maindesign .scroll-box	table .sub-fixcell {
		position: -webkit-sticky;
		position: sticky;
		left: 15px;
		width: 15px;
		min-width: 15px;
		max-width: 15px;
		}
		.maindesign .scroll-box	table .sub-fixcell1 {
		position: -webkit-sticky;
		position: sticky;
		left: 15px;
		width: 60px;
		min-width: 60px;
		max-width: 60px;
		}
		.maindesign .scroll-box	table .sub-fixcell:first-child {
		left: 0;
		}
		.maindesign .scroll-box	table .sub-fixcell[colspan="2"] {
		width: 75px;
		min-width: 70px;
		max-width: 70px;
		left: 0;
		}
		.maindesign .th-w{
			width: 110px;
    		max-width: 110px;
    		min-width: 110px;
		}
		.maindesign th {
    		font-size: 0.5em;
		}
		.maindesign td {
    	font-size: 0.5em;
		width: 110px;
		min-width: 110px;
		max-width: 110px;
	}
	.maindesign .links li .w40 {
		width: 30%;
		margin-left: 4px;
	}
	.maindesign .links.cols4-2 li:nth-child(6n) {
    	margin-right: calc(10px / 1)
	}
	.maindesign .txt-red {
		font-size: 14px;
	}
	.maindesign .text-box{
		font-size: 14px;
	}
/*	.maindesign .goods.cols4-2 .pbun:nth-child(2n) {
		margin-right: 0;
		}*/
	}
.maindesign .name {
	font-size: 1em;
	font-weight: bold;
}
.maindesign .point_box {
	font-size: 1em;
	padding: 10px;
	border: 1px #ccc solid;
}
.maindesign .point_box span {
	font-size: 1.5em;
	font-weight: bold;
	color: #f00;
}
.maindesign .price {
    font-size: 2.0em;
    padding: 0 0.2em;
    text-align: right;
    color: #C0302C;
    font-weight: 700;
    font-feature-settings: "palt" 1;
}
.maindesign .yen {
    font-size: 0.5em;
    color: #C0302C;
}
.maindesign .tax2 {
    color: #000;
    font-size: 0.6em;
}
.maindesign .goTop{
	 text-align: right;
	color: #005FC3;
}
.maindesign .em_mess{
	line-height: 1.5;
	margin: 10px 0;
	font-size:0.8em;
}
.maindesign .jop{
line-height: 1.5;
	margin: 10px 0;
}
.maindesign .fwb{
	font-weight: bold;
}
.maindesign .c-red {
	color: #ff0000;
}


/*230613*/
.showmore_wrap {
    position: relative;
    margin-bottom: 30px;
}
.showmore_list {
            overflow: hidden;
            transition: all .3s ease-in;
        }
.list_toggle {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    background-color: #fff;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 50%);
    background-color: transparent;
    width: 100%;
    height: 80%;
    position: absolute;
    bottom: 0;
}
.list_toggle.close_area {
            background: none;
            position: static;
        }
.list_toggle a {
    width: 50%;
    border: 1px solid #555555;
    border-radius: 50px;
    display: block;
    padding: 12px 0;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
    transition: all .3s ease-in;
    font-size: 0.8rem;
    color: #555555!important;
}
.list_toggle a.open_link:before {
    content: "もっと見る ▼";
    display: inline;
}

.list_toggle a.close_link:before {
    content: "閉じる ▲";
    display: inline;
}
.maindesign .blue_box{
	background-color: #244ea2;
	color: #fff;
	display: block;
	text-align: center;
	font-size: 1.62em;
    padding: 1.05rem 1rem;
}
.maindesign .blue_box span{
	font-size: 1.5em;
	font-weight: bold;
}
.maindesign .red_box{
	background-color: #E5002D;
	color: #fff;
	display: block;
	text-align: center;
	font-size: 1.62em;
    padding: 1.05rem 1rem;
	line-height: 1.3;
}
.maindesign .red_box span{
	font-size: 1.5em;
	font-weight: bold;
}
.maindesign .yellow{
	color: #ff0;
	font-weight: bold;
}
	@media screen and (max-width:767px) {
		.maindesign .blue_box{
	font-size: 1.2em;
}
		.maindesign .red_box{
	font-size: 1.2em;
}
		.maindesign .price {
    font-size: 1.8em;
}
}


.maindesign .catch-text {
	text-align: center;
	line-height: 1.35;
	font-size: 2.0rem;
	font-weight: bold;
}
.maindesign .catch-text__large {
	font-size: 1.75em;
}
@media screen and (max-width:767px) {
	.maindesign .catch-text {
		font-size: 5.0vw;
	}
}

.maindesign .indent-text {
	padding-left: 1em;
	text-indent: -1em;
}





.maindesign .accordion {
	position: relative;
	margin-top: 30px;
	margin-bottom: 100px;
}
.maindesign .accordion--arrow {
	position: absolute;
	top: 130px;
	left: 50%;
	border-bottom: solid 4px #999;
	border-right: solid 4px #999;
	width: 36px;
	height: 36px;
	transform: translate(-50%,-50%) rotate(45deg);
	cursor: pointer;
	z-index: 100;
	transition: 0.25s;
}
.maindesign .accordion--arrow.active {
	top: calc(100% + 30px);
}
.maindesign .accordion--arrow:hover {
	opacity: 0.75;
}
.maindesign .accordion--inner {
	position: relative;
	overflow: hidden;
	transition: 0.5s;
	max-height: 125px;
}
.maindesign .accordion--inner.active {
	max-height: var(--max-height);
}
.maindesign .accordion--inner::before {
	content: ""; 
	width: 100%;
	height: 100%;
	display: block;
	background: linear-gradient(rgba(255, 255, 255, 0) 0, #fff 100%);
	position: absolute;
	top: 0;
	left: 0;
}
.maindesign .accordion--inner.active::before {
	background: none;
}

@media screen and (max-width:767px) {
	.maindesign .accordion--inner {
		max-height: 85px;
	}
	.maindesign .accordion--arrow {
		top: 90px;
	}
}
.maindesign .icon-col4{
	display: flex;
	justify-content: space-around;
}
.maindesign .icon-col4 .icon-img{
	width: 22%;
}


.maindesign .komeri-btn {
	position: relative;
	overflow: hidden;
	cursor: pointer;
	border-radius: 40px;
	opacity: 1.0;
}
.maindesign .komeri-btn--link {
	text-decoration: none;
}
.maindesign .komeri-btn--inner {
	font-feature-settings: "palt";
	color: #fff;
	padding: 0.55rem 1.75rem 0.55rem 1.5rem;
	display: flex;
	justify-content: center;
	line-height: 1.3;
	font-size: 1.0rem;
}
.maindesign .komeri-btn__orange {
	background-color: #EA6D0D;
}
.maindesign .komeri-btn__gray {
	background-color: #979797;
}
.maindesign .komeri-btn--inner::after {
	content: '';
	position: absolute;   
	top: 50%; 
	right: 18px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	width: 8px;
	height: 8px;
	transform: translateY(-50%) rotate( 45deg);
}

@media screen and (max-width:767px) {
	.maindesign .komeri-btn--inner {
		font-size: 0.8rem;
	}
}




.maindesign .card-column {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 10px;
}
.maindesign .card-column--item {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 7;
}

@media screen and (max-width:767px) {
	.maindesign .card-column {
		grid-template-columns: repeat(2,1fr);
	}
}


.maindesign .card-box {
	border: 1px solid #ccc;
	padding: 10px;
	box-sizing: border-box;
}
.maindesign .card-box--name {
	font-weight: bold;
	font-size: 0.95rem;
	line-height: 1.3;
}
.maindesign .card-box--link {
	width: 100%;
	height: 100%;
	display: contents;
}
.maindesign .card-box:has(.card-box--link):hover {
	cursor: pointer;
	opacity: 0.75;
}

@media screen and (max-width:767px) {
	.maindesign .card-box--name {
		font-size: 0.9rem;
	}
}

.maindesign .icons {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 5px;
}

.maindesign .card-box--before {
	background-color: #333;
	padding: 5px;
	color: #fff;
	display: inline-block;
	margin-left: auto;
}
.maindesign .card-box--before__hidden {
	display: none;
}
.maindesign .card-box--before-date {
	font-size: 0.6rem;
	line-height: 1.3;
}
.maindesign .card-box--before-bottom {
	margin-top: 5px;
	display: flex;
	align-items: center;
}
.maindesign .card-box--before-label {
	display: inline-block;
	background-color: #fff;
	padding: 3px;
	color: #333;
	font-size: 0.6rem;
	margin-right: 10px;
}
.maindesign .card-box--before-price {
	font-size: 1.0rem;
	font-weight: bold;
}
.maindesign .card-box--before-tax {
	font-size: 0.5em;
}
.maindesign .card-box--before-yen {
	font-size: 0.4em;
}

@media screen and (max-width:767px) {
	.maindesign .card-box--before {
		width: 100%;
		margin-left: 0;
	}
	.maindesign .card-box--before-bottom {
		justify-content: space-between;
	}
	.maindesign .card-box--before-label {
		margin-right: 0;
		font-size: 0.5rem;
	}
	

}


.maindesign .card-box--current-top {
	display: flex;
	align-items: center;
}
.maindesign .card-box--current-label {
	background-color: #E30012;
	padding: 3px;
	color: #fff;
	display: inline-block;
	margin-right: 5px;
	font-size: 0.7rem;
}
.maindesign .card-box--current-date {
	display: inline-block;
	font-size: 0.8rem;
}
.maindesign .card-box--current-price {
	color: #C0302C;
	font-weight: bold;
	text-align: right;
	font-size: 1.75rem;
}
.maindesign .card-box--current-tax {
	font-size: 0.6em;
	color: #333;
}
.maindesign .card-box--current-yen {
	font-size: 0.5em;
	color: #333;
}
@media screen and (max-width:767px) {
	.maindesign .card-box--current-price {
		font-size: 5.5vw;
	}
}


.maindesign .card-box--point {
	position: relative;
}
.maindesign .card-box--arrow {
	position: absolute;
	top: 60%;
	left: 15%;
	width: 60px;
	transform: translateY(-50%);
	z-index: -1;
}
.maindesign .point-plus {
	width: fit-content;
	display: flex;
	flex-direction: column;
	margin-left: auto;
	align-items: center;
}
.maindesign .point-plus--usually {
	text-align: center;
}
.maindesign .point-plus--lead {
	font-size: 0.8rem;
}
.maindesign .point-plus--lead__bold {
	font-weight: bold;
}
.maindesign .point-plus--value {
	font-size: 1.35rem;
	color: #333;
	font-weight: bold;
	margin-top: 3px;
}
.maindesign .point-plus--unit {
	color: #333;
	font-size: 0.4em;
}
.maindesign .point-plus--icon {
	width: 20px;
	margin-top: 5px;
}
.maindesign .point-plus--addition {
	width: 60px;
}


@media screen and (max-width:767px) {
	.maindesign .point-plus--lead {
		font-size: 0.7rem;
	}
	.maindesign .point-plus--value {
		font-size: 1.2rem;
	}
	.maindesign .card-box--arrow {
		left: 0;
	}
}