﻿.maindesign .mgb0 {margin-bottom: 0;}
.mgt20{margin-top: 20px;}
.mgt40{margin-top: 40px!important;}
.mgt50{margin-top: 50px!important;}
.mgb10{margin-bottom: 10px;}
.mgb30{margin-bottom: 30px;}
.mgb50{margin-bottom: 50px!important;}
.mgb90{margin-bottom: 90px!important;}
.w100{width: 100%;}
.red{color: #f00;}
.maindesign ol, ul {
    list-style: none;
}
.maindesign p {
	line-height: 1.3;
}
.maindesign .links {
    display: flex;
    flex-wrap: wrap;
}
.maindesign .cols4-2 li {
    width: calc(50% - 5px);
    margin-right: calc(10px / 1);
    margin-bottom: 20px;
}
.maindesign .border_radiuse li {
    box-sizing: border-box;
    border: 1px solid #ccc;
    border-radius: 5px;
    overflow: hidden;
	padding: 10px;
}
.maindesign .links.cols4-2 li a {
    height: 100%;
	color: #333;
    text-decoration: none;
    display: flex;
    flex-direction: column;
}
.maindesign .cols4-2 .text_box {
    margin: 0 0 10px;
}
.maindesign .links li img {
    width: 100%;
}
.maindesign .cols4-2 .bTxt {
    font-size: 1.0rem;
    font-weight: 700;
    line-height: 1.1;
}
.maindesign .cols4-2 .col-img{
	margin-top: auto;
	flex-shrink: 0;
}

@media screen and (min-width:768px){
	.maindesign .links li {
    	width: calc(25% - 7.5px);
    	margin-right: calc(30px / 3);
	}
	.maindesign .cols4-2 .bTxt {
    	font-size: 1.1rem;
	}
	.maindesign .cols4-2 li:nth-child(4n) {
    	margin-right: 0;
	}
	.maindesign .feature__items li a .feature__items--txt .feature__items--txt__title {
    	font-size: 1.4rem;
	}
	.featureBox {
		border: 3px solid #c36f08;
		margin: 30px 0 10px;;
		box-sizing: border-box;
		padding: 30px 10px 10px;
		position: relative;
}
	.featureBox .fBTitle {
		position: absolute;
		top: -25px;
		border: 5px solid #fff;	
		color: #fff;
		padding: 10px 30px;
		background: #c36f08;
		box-sizing: border-box;
		font-size: 1.25em;

	}
	.featureBox .fbWording {
		list-style-type: disc;
		margin: 10px 0 10px 40px;
		font-size: 1.25em;
	}
	
	.maindesign .tbl01 th, .maindesign .tbl01 td {
		width: 25%;
	}
	
}

.maindesign .tbl01 {
    border-collapse: collapse;
    margin: 10px auto 20px;
    padding: 0;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.maindesign .tbl01 th, .maindesign .tbl01 td {
    padding: 20px 5px;
    border: 1px solid #ccc;
}
.maindesign .tbl01 th {
    background-color: #ebebeb;
    color: #000;
    padding: 15px;
}
.maindesign .tbl01 td {
    text-align: left;
	line-height: 1.5em;
}
.maindesign .tbltac td {
    text-align: center;
}
.maindesign .under-txt {
    line-height: 1.3em;
    margin: 20px auto;
}
.maindesign h2.headingMiddle {
margin-top: calc(80px - 0.6rem)!important;
}
.maindesign h3 {
    border-left: 4px solid #f00;
    font-size: 1.2em;
    font-weight: bold;
    margin: 30px 0 20px 0;
    text-align: left;
    padding: 0.3rem 1rem;
	margin-top: calc(60px - 0.6rem);
	
}

@media screen and (max-width: 767px){
	.maindesign .cols4-2 li:nth-child(2n) {
    	margin-right: 0;
	}
	.maindesign .scroll_sp{
		overflow: scroll;
	}
	.maindesign .scroll_sp img{
		width: 860px;
	}	
.maindesign .tbl01 th, .maindesign .tbl01 td {
    padding: 0.5rem;
	font-size: 0.8em;

	}	
	.featureBox_inner {
		position: absolute;
		top: -25px;
		left: 50%;
		transform: translateX(-50%);
		border: 5px solid #fff;
		width: 75%;
		max-width: 270px;
		background: #fff;
		box-sizing: border-box;
	}
	.featureBox .fBTitle {
		color: #fff;
		padding: 10px 10px;
		background: #c36f08;
		box-sizing: border-box;
		font-size: 1.0em;
		width: 99%;
		margin: 0 auto;
		text-align: center;
	}
	.featureBox .fbWording {
		display: flex;
		flex-wrap: wrap;
		margin: 5px 0 5px;
	}
	.featureBox {
		border: 3px solid #c36f08;
		margin: 30px 0 10px;
		box-sizing: border-box;
		padding: 30px 10px 10px;
		position: relative;
	}
	.maindesign .tbl01 td:nth-of-type(1) {
		width: 40%;
	}
	.maindesign .tbl01 td:nth-of-type(2) {
		width: 20%;
	}
	.maindesign .tbl01 th {
		width: 20%;
	}
}



.maindesign .listHeading {
font-size: 1.2em;
font-family: 'Noto Sans JP', "ＭＳ Ｐゴシック","MS PGothic",verdana,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,Sans-Serif;
color: #333;
font-weight: bold;
	margin: 20px 0 10px 0;
}
.maindesign .listHeading.listH34{
margin: 20px 0 10px 0;
}
	.maindesign .fullImg img{
width: 100%
	}
.maindesign h1 img {
width: 100%
}	
.maindesign h1 span.heading01{
color: #084267;
text-shadow: 3px 3px 20px #fff;
font-size: 4em;
font-weight: bold;
position: absolute;
font-feature-settings: "palt" 1;
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
-webkit- transform: translateY(-50%) translateX(-50%);
margin: auto;
}	
	.maindesign .fslarge{
    font-size: 1.1em;
    padding: 1.05em 1em;
}
@media screen and (max-width:767px) {
.maindesign h1 span.heading01{
font-size: 12vw;
font-feature-settings: "palt" 1;
top: 30%;
left: 50%;
width: 90%;
transform: translateY(-50%) translateX(-50%);
-webkit- transform: translateY(-50%) translateX(-50%);
margin: auto;
}
}

.maindesign .topBtn{
display: flex;
flex-wrap: wrap;
margin-top: 10px;
margin-bottom: 10px;	
	}
.maindesign .topBtn li{
width: calc(50% - 5px);
margin-right: calc(10px / 1);
margin-bottom: 10px;
text-align: center;
}
.maindesign .topBtn li:nth-child(2n){
margin-right: 0;
}
	.maindesign .topBtn a{
		width: 100%
	}
.maindesign .topBtn li img{
width: 100%
}
	
@media screen and (max-width:767px) {
.maindesign .topBtn.ratPlace li{
width: 100%;
margin-bottom: 0;
text-align: center;
}
	
.maindesign .topBtn.inflex li{
width: calc(50% - 5px);
margin-right: calc(10px / 1);
margin-bottom: 10px;
}
.maindesign .topBtn.inflex li:nth-child(2n){
margin-right: 0;
}
	.maindesign h2{
		line-height: 1.2
	}
.maindesign .fslarge {
    padding: 0.8em 0.3em;
}
.maindesign .fslarge.fsRat {
    font-size: 0.85em;
    padding: 0.8em 0.3em;
}
	.maindesign a.btnRadius02.nouchi{
		display: flex;
		flex-wrap: wrap;
		line-height: 1.2
	}
}	
  
.maindesign a.w100p{
width: 100%
}
		.maindesign .spacerarea{
			position: relative;
		}
		.maindesign .spacermap{
			width: 100%;
		}
		.maindesign .spacers01:hover{
            opacity: 0.5;
            background: #fff;
        }
		.maindesign .spacers01{
			position: absolute;
			width: 10%;
			height: 15%;
		}	
	
	.maindesign .ratFlex{
		display: flex;
    flex-direction: column;
	}	

.maindesign .ratTxt{
	line-height: 1.5;
	margin: 0 0 10px 0;
text-align: left;
	font-size: 0.9em
}
	.maindesign .youtoTxt{
		font-size: 1.1em;
		font-weight: bold;
		margin-bottom: 8px;
		    font-family: "Noto Sans JP","ＭＳ Ｐゴシック","MS PGothic",verdana,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,Sans-Serif;
	}
.maindesign .belt p{
text-align: center;
color: #fff;
background-color: #084267;
padding: 7px;
font-size: 1.5em;
	line-height: 1.2
}
.maindesign	.fsMedium {
    font-size: 1.0em;
    padding: 0.75em 1.85em;
}
	.maindesign .ratTable{
		width: 100%;
	}

	.maindesign .lhtxt{
		line-height: 1.4
	}
	.maindesign .ma1em{
		font-size: 1.1em;
		line-height: 1.2;
		margin: 1.5em 0;
		font-weight: bold;
		    font-family: "Noto Sans JP","ＭＳ Ｐゴシック","MS PGothic",verdana,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,Sans-Serif;
	}
	.maindesign td.tdTxt{
		line-height: 1.4
	}
	.maindesign .pad05{
		margin: 2em 0
	}
	.maindesign td a.btnRadius02{
		max-width: 300px
	}
	.maindesign .ratTable{
		margin: 2em 0
	}
	.maindesign .ratTableTxt{
		padding: 8px;
		box-sizing: border-box;
		line-height: 1.5
	}
	@media screen and (max-width:767px) {
/*.maindesign .ratMap{
		width: 100%;
transform: translateY(-50%) translateX(-50%);
-webkit- transform: translateY(-50%) translateX(-50%);
	}*/
		.maindesign .fsMedium {
    font-size: 0.9em;
    padding: 0.75em 0.5em;
}
		.maindesign p.scrolltxt{
			margin: 2em 0;
		}
			.maindesign td.tdTxt{
		font-size: 0.9em
	}
		.maindesign .ratTable td{
			display: block;
			width: 100%
		}
		.maindesign td.ratTableImg{
			
			text-align: center
		}
	.maindesign .smallTxt{
		font-size: 0.8em
	}
	}
		@media screen and (min-width:768px) {
	.maindesign .h4em{
		height: 4em
			}
			.maindesign .mt2em{
				margin-top: 2em
			}	
			.maindesign .ma1em{
				font-size: 1.2em
			}
			.maindesign .ratTableImg{
				text-align: center
			}
	}
	.maindesign .ratCareBlock{
    margin:0 0 40px 0;
	}	
	.maindesign .ratCare{
	display: flex;
    flex-wrap: wrap;
    margin: 10px 0;
	}	
	.maindesign .ratCare li:first-child{
		width: calc(30% - 5px);
    margin-right: 5px;
    display: flex;
    flex-direction: column;
	}
	.maindesign .ratCare li:first-child img{
		width: 70%;
    margin: auto;
		flex-shrink: 0
	}
	.maindesign .ratCare li:last-child{
		width: 70%;
    margin-right: 0;
    display: flex;
    flex-direction: column;
	}
	.maindesign .ratCareTxt{
	line-height: 1.2;
	}	
	.maindesign .ratCareBtn{
		display: flex;
    flex-wrap: wrap;
    margin: auto 0 10px 0;
	}
	.maindesign .ratCareBtn div:first-child{
		width: calc(50% - 5px);
    margin-right: 5px;
	}
	.maindesign .ratCareBtn div:last-child{
		width: calc(50% - 5px);
    margin-right: 0;
	}
	@media screen and (max-width:767px) {
	.maindesign .ratCare li:first-child{
		width: 100%;
    margin-right: 0;
	}
	.maindesign .ratCare li:first-child img{
		margin: 10px auto;
	}
	.maindesign .ratCare li:last-child{
		width: 100%;
	}
	.maindesign .ratCareBtn div:first-child{
		width: 100%;
    margin: 10px auto;
	}
	.maindesign .ratCareBtn div:last-child{
		width: 100%;
    margin: 0 auto 10px auto;
	}
	}
.maindesign .title_inner {
    background-color: rgba(0,0,0,0.3);
    padding: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
    white-space: nowrap;
    transform: translate(-50%,-50%);
}
.maindesign .feature-hdg1 .main_title {
    color: #fff;
    text-shadow: 1px 1px 2px rgb(10 10 10 / 70%);
    text-align: center;
    font-weight: bold;
    font-size: 70px;
    margin-left: 0;
    padding-top: 0;
    /*top: 50%;*/
    /*transform: translateY(-50%);*/
    left: 0;
    line-height: 1.1;
    width: 100%;
    letter-spacing: 0.05em;
}
@media screen and (max-width:767px) {
		.maindesign .feature-hdg1 .main_title {
    font-size: 40px;
}
}
#main .dogcol2 li {
    font-size: 1em!important;
}