@charset "utf-8";

/* HOME
-------------------------------------------------------------------*/
.btn a{
	display:block;
}

.home h1{
	display:inline-block;
	padding:0 0 60px 0 ;
}

.trouble{
	background:#D91818;
}

.trouble .box01{
	background: url(../img/top/trouble-bg.webp) no-repeat;
	background-size:cover;
	padding:0 20px;
}

.trouble .box01 h2{
	text-align:center;
	color:#fff;
	font-size: min(3.8vw, 20px);
	font-weight:700;
	line-height:2;
	padding:0 0 60px 0;
}

.trouble .box01 .btn-box{
	position:relative;
	top:-35px;
	padding:0 10px;
}

.btn-box{
	display:flex;
	justify-content:space-between;
}

.btn-box li{
	width:49%;
}

.btn-box li a{
	border-radius: 50px;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	padding:20px 0;
	font-size: clamp(16px, 3vw, 18px);
	display:block;
	text-align:center;
	background: url(../img/top/btn-bg01.jpg) no-repeat center center / cover;
	max-width:220px;
}

.btn-box li:nth-child(2) a{
	background: url(../img/top/btn-bg02.jpg) no-repeat center center / cover;
}

.trouble .box01 .box-in{
	background:#1A1A1A;
	padding:40px 20px 160px 20px;
	text-align:center;
}

.trouble .box01 .box-in h3{
	font-size: clamp(24px, 4vw, 30px);
	color:#fff;
	font-weight:900;
	padding:0 0 30px 0;
}

.trouble .box01 .box-in ul li{
	position:relative;
	padding:0 0 0 40px;
	margin:0 0 20px 0;
}

.trouble .box01 .box-in ul li:nth-child(even){
	padding:0 40px 0 0;
}

.trouble .box01 .box-in ul li .ico{
	width:76px;
	position:absolute;
	left:0;
	top: 50%;
	transform: translateY(-50%);
}

.trouble .box01 .box-in ul li:nth-child(even) .ico{
	left:auto;
	right:0;
}

.trouble .box01 .box-in ul li .txt{
	background:#fff;
	padding:20px;
	border-radius:0 8px 8px 0;
}

.trouble .box01 .box-in ul li:nth-child(even) .txt{
	border-radius:8px 0 0 8px;
}

.trouble .box01 .box-in ul li .txt span{
	text-align:left;
	font-size: min(3vw, 20px);
	line-height:1.8;
	display:inline-block;
}

.trouble .box01 .box-in ul li .txt span em{
	color:#D91818;
}

.trouble .box01 .box-in h4{
	font-size: min(5vw, 30px);
	font-weight:700;
	text-align: right;
	text-shadow: 0px 0px 16px rgba(217, 24, 24, 0.4);
	padding:10px 20px 0 0;
	color:#fff;
}

.trouble .box02{
	position:relative;
}

.trouble .box02 .img{
	margin-top:-180px;
}

.trouble .box02 dl{
	position:absolute;
	bottom:70px;
	padding:0 40px;
	left:0;
	right:0;
	color:#fff;
}

.trouble .box02 dl dt{
	font-size: min(6vw, 34px);
	font-weight:900;
	padding:0 0 10px 0;
	text-shadow: 0px 0px 16px rgba(0, 0, 0, 0.32);
}

.trouble .box02 dl dd{
	font-size: min(3vw, 20px);
	font-weight:700;
	line-height:1.8;
}

.n-restyle .pillar{
	background: url(../img/top/pillar-bg.webp) no-repeat center center / cover;
	padding:80px 40px 30px 40px;
	position:relative;
}

.pillar h2{
	position:absolute;
	top:-27px;
	left:0;
	right:0;
	margin:0 auto;
	width:244px;
}

.pillar dl{
	padding:0 0 60px 60px;
	position:relative;
}

.pillar dl:after{
	content:"";
	height:50px;
	width:50px;
	background: url(../img/top/pillar-num01.png) no-repeat center center / contain;
	position:absolute;
	left:0;
	top:0;
}

.pillar dl:nth-child(2):after{
	background: url(../img/top/pillar-num02.png) no-repeat center center / contain;
}

.pillar dl:nth-child(3):after{
	background: url(../img/top/pillar-num03.png) no-repeat center center / contain;
}

.pillar dl dt{
	font-size: clamp(18px, 4vw, 27px);
	color:#FF0000;
	font-weight:900;
	padding:0 0 10px 0;
}

.pillar dl dd{
	font-size: clamp(14px, 2.8vw, 18px);
	color:#fff;
	font-weight:400;
	line-height:1.8;
}

.n-restyle .power{
	background: #FFC400 url(../img/top/power-bg.webp) no-repeat top center / contain;
	border-radius:16px 16px 0 0;
	padding:0 40px;
	position:relative;
	margin-top:-20px;
}

.power h2{
	font-size: min(6.5vw, 36px);
	font-weight:900;
	padding:40px 0 20px 0;
	position:relative;
	z-index:2;
}

.power .txt{
	font-size: clamp(14px, 3vw, 18px);
	font-weight:700;
	padding:0 0 60px 0;
	line-height:1.8;
	text-align:left;
}

.power ul li{
	padding:0 0 60px 0;
	text-align:center;
}

.power ul li h3{
	display:inline-block;
	font-size: clamp(18px, 4vw, 27px);
	font-weight:700;
	color:#fff;
	padding:7px 20px;
	background:#1A1A1A;
}

.power ul li .txt{
	padding:20px 0;
	font-weight:400;
}

.more__content{
	max-height: 560px;
	min-height: 560px;
	overflow: hidden;
	transition: max-height 1s;
	position: relative;
	height: auto;
}

.more__content:after{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
	display: block;
	width: 100%;
	height: 30%;
	transition: 1s;
	background: linear-gradient(rgba(69, 91, 102, 0) 0%, #FFC400 100%);
}

.more__content.open:after{
	z-index: -1;
    opacity: 0;
}

.n-restyle .more__btn{
	display:block;
	width: 146px;
	box-sizing:border-box;
	padding:15px;
	border-radius: 30px;
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	bottom:80px;
	font-size:14px;
	background:rgba(255,255,255,0.8);
	text-align:center;
	outline:none !important;
	font-weight: 500;
	position:relative;
	transition: all 0.3s;
	cursor:pointer;
	border:none;
	z-index:2;
	color: #1A1A1A;
}

.power .box{
	background: url(../img/top/power-bg02.webp) no-repeat top center / cover;
	padding:40px 20px;
	margin:-100px -20px 0 -20px;
	position:relative;
	bottom:-100px;
	text-align:center;
	border-radius:16px;
}

.power .box h4{
	font-size: min(6.5vw, 34px);
	font-weight:900;
	color:#fff;
}

.power .box dl{
	padding:25px;
	background:#FFFFFF;
	margin:30px 0 0 0;
}

.power .box dl dt{
	font-size: clamp(21px, 3.5vw, 23px);
	color:#166CCA;
	font-weight:900;
}

.power .box dl dd{
	text-align:left;
	max-width:360px;
	margin:0 auto;
	font-size: clamp(14px, 3vw, 18px);
	line-height:1.8;
	padding:10px 0 0 0;
}

.n-restyle .choice{
	padding:160px 40px 40px 40px;
	background: url(../img/top/choice-bg.webp) no-repeat top center / cover;
	text-align:center;
}

.choice h2{
	font-size: clamp(27px, 5vw, 36px);
	font-weight:900;
	color:#D91818;
}

.choice h3{
	font-size: clamp(20px, 4vw, 27px);
	font-weight:900;
	padding:20px 0;
}

.choice ul{
	padding:0 20px;
}

.choice ul li{
	font-size: clamp(16px, 3vw, 20px);
	font-weight:700;
	padding:20px 0 20px 70px;
	background:url(../img/top/choice-solid.png) no-repeat left 25px / 44px;
	text-align:left;
	border-bottom:1px dotted #FF0000;
}

.choice ul li:last-child{
	border:none;
}

.n-restyle .commitment{
	padding:60px 40px 100px 40px;
	background: url(../img/top/commitment-bg.webp) no-repeat top center / cover;
	text-align:center;
}

.commitment .txt{
	font-size: clamp(14px, 3vw, 20px);
	color:#fff;
	line-height:1.8;
	padding:10px 0;
	text-align:left;
	font-weight:700;
}

.commitment h3{
	font-size: clamp(18px, 4vw, 27px);
	font-weight:700;
	padding:10px 0 20px 0;
	color:#fff;
}


@media screen and (max-width: 500px) {
.home h1{
	padding:0 0 40px 0 ;
}

.trouble .box01 h2{
	padding:0 0 40px 0;
}

.trouble .box01 .btn-box{
	top:-35px;
	padding:0 0 15px 0;
}

.btn-box{
	display:block;
}

.btn-box li{
	width:100%;
}

.btn-box li a{
	border-radius: 50px;
	margin:0 auto 15px;
}

.trouble .box01 .box-in{
	padding:40px 20px 160px 20px;
}

.trouble .box01 .box-in h3{
	font-size: clamp(22px, 4vw, 30px);
	padding:0 0 25px 0;
}

.trouble .box01 .box-in ul li{
	padding:30px 0 0 0;
}

.trouble .box01 .box-in ul li:nth-child(even){
	padding:30px 0 0 0;
}

.trouble .box01 .box-in ul li .ico{
	width:55px;
	left:0;
	right:0;
	margin:0 auto;
	top: -10px;
	transform:none;
}

.trouble .box01 .box-in ul li:nth-child(even) .ico{
	left:0;
	right:0;
}

.trouble .box01 .box-in ul li .txt{
	border-radius:8px
}

.trouble .box01 .box-in ul li:nth-child(even) .txt{
	border-radius:8px
}

.trouble .box01 .box-in ul li .txt span{
	font-size: 14px;
}

.trouble .box02 dl{
	bottom:50px;
	padding:0 20px;
}

.trouble .box02 dl dd{
	font-size: 14px;
}

.n-restyle .pillar{
	padding:60px 20px 30px 20px;
}

.pillar h2{
	top:-22px;
	width:200px;
}

.pillar dl{
	padding:0 0 40px 40px;
}

.pillar dl:after{
	height:30px;
	width:30px;
}

.n-restyle .power{
	padding:0 20px;
}

.power .txt{
	padding:0 0 40px 0;
}

.power ul li{
	padding:0 0 40px 0;
}

.power .box{
	margin:-60px -20px 0 -20px;
	bottom:-60px;
}

.power .box dl{
	padding:20px;
	margin:20px 0 0 0;
}

.power .box dl dd{
	max-width:inherit;
}

.n-restyle .choice{
	padding:120px 20px 40px 20px;
}

.choice ul{
	padding:0 10px;
}

.choice ul li{
	padding:20px 0 20px 40px;
	background:url(../img/top/choice-solid.png) no-repeat left 25px / 27px;
}

.n-restyle .commitment{
	padding:40px 20px 80px 20px;
}
}

/* CONTACT
-------------------------------------------------------------------*/
.n-restyle #contact{
	padding:60px 20px;
	border-radius:40px 40px 0 0;
	text-align:center;
	background:#EAEFF6;
	margin-top:-40px;
}

#contact h2{
	padding:0 0 20px 0;
	font-weight:900;
	color:#D91818;
	font-size: clamp(24px, 5vw, 32px);
}

.n-restyle .form{
	text-align:left;
	padding:20px 0 0 0;
	max-width:400px;
	margin:0 auto;
}

.form dl{
	padding:0 0 15px 0;
}

.form dl dt{
	font-size: 16px;
	line-height:1.4;
	display:inline-block;
	position:relative;
	margin:0 0 15px 0;
}

.form dl dt:before{
	content:"■";
	color:#1A1A1A;
	padding:0 5px 0 0;
}

.form dl dt.hissu:after{
	content:"必須";
	color:#F74357;
	font-size:12px;
	border:1px solid #FF697A;
	padding:2px 0;
	width:40px;
	display:block;
	text-align:center;
	border-radius:14px;
	position:absolute;
	right:-50px;
	top: 50%;
	transform: translateY(-50%);
}

.form input, .form textarea {
	width: 100%;
	font-size: 16px;
	line-height: 1.6;
	padding: 15px;
	font-family: "Noto Sans JP", sans-serif;
	box-sizing:border-box;
	border-radius: 3px;
	background: #FFFFFF;
	border:none;
}

.form textarea{
	height:160px;
}

.contact .privacy {
    margin: 20px auto;
	height:160px;
    box-sizing: border-box;
    padding: 10px;
    overflow: auto;
    font-size: 11px;
    border: 1px solid #E3E3E3;
    border-radius: 2px;
	background:#fff;
	max-width:320px;
	color:#64748B;
	text-align:left;
}

.contact .privacy h4{
    line-height: 1.6;
	padding:0 0 5px 0;
}

.contact .privacy p{
	padding:0 0 10px 0;
}

.form .wpcf7-radio {
	display: block;
	padding: 0;
}

.form .wpcf7-radio > * {
	display: inline-block;
	margin: 0;
}

.form .wpcf7-radio input[type=radio] {
	display: none;
}

.form .wpcf7-radio .wpcf7-list-item-label {
	position: relative;
	padding-left: 40px;
	line-height: 1.5;
	cursor: pointer;
	font-size: 18px;
	font-weight:700;
}

.form .wpcf7-list-item > label {
	display: inline-block;
	font-weight: 500;
}

.form .wpcf7-list-item.first > label {
	margin: 0 0 10px 0;
}

.form .wpcf7-radio .wpcf7-list-item-label::before {
	content: "";
	position: absolute;
	width: 30px;
	height: 30px;
	top: 50%;
	left: 0;
    transform: translateY(-50%);
	border-radius: 50%;
	background: #fff;
}

.form .wpcf7-radio .wpcf7-list-item-label::after {
	content: "";
	position: absolute;
	width: 15px;
	height: 15px;
    top: 50%;
	left:7.5px;
    transform: translateY(-50%);
	background: #D91818;
	border-radius: 50%;
	opacity: 0;
	transition: 0.3s;
}

.form .wpcf7-radio input[type=radio]:checked + .wpcf7-list-item-label::after {
	opacity: 1;
}

.n-restyle .check{
	text-align:center;
	padding:0 0 30px 0;
}

.check .wpcf7-list-item-label {
	position: relative;
	cursor: pointer;
}

.check input[type=checkbox] {
	display: none;
}

.check input[type=checkbox] + span {
	display: inline-block;
	position: relative;
	padding:0 0 0 28px;
	font-size: 14px;
	line-height: 1.4;
	cursor: pointer;
}

.check input[type=checkbox] + span::before {
	content: "";
	position: absolute;
	width: 18px;
	aspect-ratio: 1/1;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
	margin:0 auto;
	background: #fff;
	border-radius:3px;
	border: 1px solid #267482;
}

.check input[type=checkbox] + span::after {
	content: "";
	position: absolute;
	width: 10px;
	aspect-ratio: 1/1;
    top: 50%;
    transform: translateY(-50%);
	left: 4px;
	background: url(../img/common/check-solid.svg) no-repeat center center;
	background-size: contain;
	opacity: 0;
	transition: 0.3s;
}

.check input[type=checkbox]:checked + span::after {
	opacity: 1;
}

.conbtn input[type=submit]{
	line-height: 96px;
	height: 96px;
	max-width: 400px;
	width:100%;
	color: #fff;
	font-size: 27px;
	display: block;
	position: relative;
	font-family: "Noto Sans JP", sans-serif;
	font-weight:700;
	border: none;
	cursor: pointer;
	margin:0 auto;
	border-radius: 80px;
	background: #D91818;
}

.n-restyle .wpcf7-not-valid-tip {
    font-size: 12px;
    padding: 5px 0 0 0;
    font-weight: 600;
}

@media screen and (max-width: 500px) {
.n-restyle #contact{
	padding:40px 20px;
}

.form input, .form textarea {
	padding: 10px;
}
	
.n-restyle .check {
	padding: 0 0 20px 0;
}

.conbtn input[type=submit]{
	line-height: 60px;
	height: 60px;
	width: 100%;
	font-size: 18px;
}
}

/* THANKS/404
-------------------------------------------------------------------*/
.n-restyle .thanks_area{
	padding:30px 40px 100px 40px;
	text-align:center;
	background:#fff;
	box-sizing:border-box;
	max-width:535px;
	margin:0 auto;
}

.thanks_area h1{
	font-size: 24px;
	line-height:1.6;
	padding:30px 0;
	border-bottom:1px solid #E8EBEC;
	margin:0 auto;
	font-weight:700;
	color:#FF697A;
}

.thanks_area .txt{
	font-size: 15px;
	padding:30px 0;
	text-align:left;
	line-height:1.8;
}

.thanks_area .btn a {
    line-height: 80px;
    height: 80px;
    width: 300px;
    color: #fff;
    font-size: 18px;
    display: block;
    position: relative;
    font-weight: 500;
    border: none;
    cursor: pointer;
    margin: 0 auto;
    border-radius: 60px;
    background: linear-gradient(#ff697a 0%, #f74357 100%);
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

.thanks_area .c-btn a {
	background: url(../img/top/btn-bg02.jpg) no-repeat center center / cover;
	color:#1A1A1A;
	width:400px;
}

.thanks_area .d-btn a {
	background: url(../img/top/btn-bg01.jpg) no-repeat center center / cover;
	color:#1A1A1A;
	width:400px;
}

.thanks_area .btn{
	padding:20px 0 0 0;
}

.thanks_area .m-btn a {
    font-size: 22px;
	padding:30px 0 30px 30px;
}
@media screen and (max-width: 500px) {
.n-restyle .thanks_area{
	padding:30px 20px 80px 20px;
}

.thanks_area h1{
	font-size: 20px;
	padding:30px 0;
}

.thanks_area .txt{
	font-size: 14px;
}

.thanks_area .btn a{
	font-size:16px;
	height:auto;
	line-height:1.6;
	padding:20px;
	width:100%;
}
	
.thanks_area .m-btn a {
    font-size: 16px;
	padding: 20px 0 20px 20px;
}
}