@charset "UTF-8";

:root { /* 色変更される場合は、#以降のカラーコードを変更してください IE非対応 */
--base-color: #000;
--link-color: #666;
--linkhover-color: #999;
--back-color: #f7f7f7;
--border-color: #ccc;
--white-color: #fff;
}

/* 共通 */

body{font-family: fot-tsukuardgothic-std, sans-serif , BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif!important;
letter-spacing: 1.2px;
font-feature-settings: "palt";
font-weight:900!important;
}

section{
padding:120px 0;
text-align:center;
position: relative;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6{
font-weight:900!important;
}


img {
max-width:100%;
height: auto;
}

img.compulsion-img{
width:100%;
}

a {
display:block;
color: var(--link-color);
text-decoration-line: none;
}
a:hover { 
color: var(--linkhover-color);
text-decoration:none!important;
}

a img.btn-opacity{
transition:0.8s;
}

a img.btn-opacity:hover{
opacity: 0.5;
}

p{
font-size:1.2rem;
}

ul{
list-style:none;
}

.back01{
z-index:-1;
}

.w-90{
max-width:90%;
}

.w-80{
max-width:80%;
}

.w-70{
max-width:70%;
}

.w-60{
max-width:60%;
}

.w-50{
max-width:50%;
}

.w-40{
max-width:40%;
}

.w-30{
max-width:30%;
}

.w-20{
max-width:20%;
}

.w-10{
max-width:10%;
}

/* 色 */

.bg-blue{
background:#1475BC;
}

.bg-skyblue{
background:#D9E5F1;
}

.bg-darkblue{
background:#1E4A9E;
}

.bg-white{
background:#FFF;
}

.bg-gray{
background:#E6E5E4;
}

.bg-dot{
background-size: 10px 10px;
margin: 0 auto;
background-image: radial-gradient(#BCC9E2 15%, transparent 20%),
radial-gradient(#BCC9E2 15%, transparent 20%);
background-position: 0 0, 15px 15px;
background-repeat: unset;
}

.font-red{
color:red;
}

.font-blue{
color:#006CB6;
}

/* 共通 余白 */

/* ##########################################
margin,padding min10-max120 temp
########################################## */

.mt-10{
margin-top:10px;
}

.mt-20{
margin-top:20px;
}

.mt-30{
margin-top:30px;
}

.mt-40{
margin-top:40px;
}

.mt-50{
margin-top:50px;
}

.mt-60{
margin-top:60px;
}

.mt-70{
margin-top:70px;
}

.mt-80{
margin-top:80px;
}

.mt-90{
margin-top:90px;
}

.mt-100{
margin-top:100px;
}

.mt-110{
margin-top:110px;
}

.mt-120{
margin-top:120px;
}

.mb-10{
margin-bottom:10px;
}

.mb-20{
margin-bottom:20px;
}

.mb-30{
margin-bottom:30px;
}

.mb-40{
margin-bottom:40px;
}

.mb-50{
margin-bottom:50px;
}

.mb-60{
margin-bottom:60px;
}

.mb-70{
margin-bottom:70px;
}

.mb-80{
margin-bottom:80px;
}

.mb-90{
margin-bottom:90px;
}

.mb-100{
margin-bottom:100px;
}

.mb-110{
margin-bottom:110px;
}

.mb-120{
margin-bottom:120px;
}

p-0{
padding:0!important;
}

.p-10{
padding:10px;
}

.p-20{
padding:20px;
}

.p-30{
padding:30px;
}

.p-40{
padding:40px;
}

.p-50{
padding:50px;
}

.p-60{
padding:60px;
}

.p-70{
padding:70px;
}

.p-80{
padding:80px;
}

.pt-10{
padding-top:10px;
}

.pt-20{
padding-top:20px;
}

.pt-30{
padding-top:30px;
}

.pt-40{
padding-top:40px;
}

.pt-50{
padding-top:50px;
}

.pt-60{
padding-top:60px;
}

.pt-70{
padding-top:70px;
}

.pt-80{
padding-top:80px;
}

.pt-90{
padding-top:90px;
}

.pt-100{
padding-top:100px;
}

.pt-110{
padding-top:110px;
}

.pt-120{
padding-top:120px;
}

.pb-10{
padding-bottom:10px;
}

.pb-20{
padding-bottom:20px;
}

.pb-30{
padding-bottom:30px;
}

.pb-40{
padding-bottom:40px;
}

.pb-50{
padding-bottom:50px;
}

.pb-60{
padding-bottom:60px;
}

.pb-70{
padding-bottom:70px;
}

.pb-80{
padding-bottom:80px;
}

.pb-90{
padding-bottom:90px;
}

.pb-100{
padding-bottom:100px;
}

.pb-110{
padding-bottom:110px;
}

.pb-120{
padding-bottom:120px;
}


/* ヘッダー */

.header-img-area{
position: relative;
}

.header-right-btn{
position: fixed;
top: 28px;
right: 0;
z-index: 2;
}

.header-right-btn ul li{
margin-bottom:5px;
}

.header-right-btn ul li img{
width:4.6vw;
}

.header-center-btn{
text-align:center;
background:#1A225E;
padding-top:20px;
padding-left:26px;
padding-right:26px;
position: absolute;
bottom: -150px;
left: 50%;
transform: translate(-50%, 0%);
-webkit-transform: translate(-50%, 0%);
-ms-transform: translate(-50%, 0%);
}

.header-center-btn h2{
font-size:1.4rem;
color:#FFF100;
font-weight: 900;
}

.header-center-btn p{
color: #FFF;
font-size: 2rem;
}

.header-center-btn p span{
color:red;
}

.header-center-btn-inner ul{
display:flex;
flex-wrap: nowrap;
}

header h1{
font-size: 1.3rem;
font-weight: 900;
color: #000;
}

.header-chatch-box{
position: absolute;
bottom: 7vw;
width:60%;
left: 50%;
transform: translateX(-50%);
}

.header-chatch-box h2{
color:#FFEF00;
font-size: 4rem;
}

.header-chatch-box h2 span{
font-size: 3.4rem;
display:block;
}

.header-chatch-box p{
color: #FFF;
font-size: 1.1rem;
margin-top: 20px;
}

.header-chatch-img-box{
position: absolute;
bottom: 4vw;
}

.logo img{
width:200px;
}

p.pc-tel-area{
margin-bottom:0;
}

/* コンテンツ */

/* bootstrap ネガティブマージン打消し */
.pb-0{
padding-bottom:0!important;
}

.pl-0{
padding-left:0!important;
}

.pr-0{
padding-right:0!important;
}

.row{
margin:0!important;
}

.no-gutter .col-md-3{
flex: 0 0 24%!important;
max-width: 24%!important;
padding-left:0!important;
padding-right:0!important;
}

section.contents-start{
margin-top:100px;
margin-bottom:80px;
}

.partner-img{
margin-top:-208px;
}

.partner-text{
margin-top: 80px;
}

.partner-text p{
color:#FFF;
font-size:2rem;
}

.system{
padding-bottom:20px;
}

.content-info{
text-align:left;
}

.content-info h2{
margin-bottom:30px;
}

.content-info2 h2{
color:#FFF;
}

.content-info2 h3{
color:#FFEF00;
font-size:4rem;
}

.slant-bg1 {
width: 100%;
margin: 0;
padding:0;
position: relative;
top: 0;
overflow: hidden;
height: 31vw;
}

.slant-bg1:before {
content: '';
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-color: #D9E5F1;
transform: skewY(-7deg) translateY(-45%);
z-index: -1;
min-height: 45vw;
}

.slant-bg2{
background-color: #D9E5F1;
}
.slant-bg2:before{
content: '';
display: block;
position: absolute;
left:0;
top: -115px;
border-top: 60px solid transparent;
border-left: 50vw solid #D9E5F1;
border-right: 50vw solid transparent;
border-bottom: 60px solid #D9E5F1;
}

.slant-bg2:after{
content: '';
display: block;
position: absolute;
left:0;
bottom: -115px;
border-top: 60px solid #D9E5F1;
border-left: 50vw solid #D9E5F1;
border-right: 50vw solid transparent;
border-bottom: 60px solid transparent;
}

.slant-bg3:after {
content: "";
position: absolute;
top: 100%;
left:0;
box-sizing: border-box;
border-right: 50vw solid #D9E5F1;
border-left: 50vw solid #D9E5F1;
border-top: 100px solid #1475BC;
}

.content02-wapper{
padding:80px 0 220px;
}

.content04-wapper{
padding:220px 0;
}

.content-wapper{
padding:80px 0;
position: relative;
}

.ratio img{
width:24%;
}

.owner-voice{
text-align:left;
}

.owner-voice h2{
color:#16499A;
margin-bottom:120px;
}

.owner-voice p{
padding-bottom:40px;
border-bottom: solid 4px #00479D;
}

p.border-none{
border:none;
padding-bottom:0px;
}

.info-area h2{
color:#FFF;
}

.info-area h3{
color:#FFEF00;
font-size:4rem;
}

a.sp-tel-link{
pointer-events: none;
}

/* モーダル全体（背景含む） */
.modal {
display: none;
position: fixed;
top: 0; left: 0;
width: 100vw;
height: 100vh;
background-color: rgba(0, 0, 0, 0.6);
z-index: 1000;
justify-content: center;
align-items: center;
animation: fadeIn 0.3s ease forwards;
}

/* モーダル本体 */
.modal-content {
background: #fff;
padding: 2em;
width: 90%;
max-width: 750px;
margin:0 15px;
border-radius: 12px;
text-align: center;
box-shadow: 0 8px 20px rgba(0,0,0,0.2);
transform: scale(0.9);
opacity: 0;
animation: popUp 0.3s ease forwards;
}

.modal-content p {
font-size: 1rem;
line-height: 1.6;
margin-bottom: 1.5em;
color:#005bac;
}

.modal-buttons {
display: flex;
justify-content: center;
gap: 1em;
}

.confirm-button {
 background-color: #005bac;
color: white;
border: none;
padding: 12px 24px;
font-size: 16px;
border-radius: 6px;
cursor: pointer;
transition: background 0.3s ease;
width:250px;
margin:0 auto;
}

 /* 閉じるボタン */
.modal-close {
position: absolute;
top: 12px;
right: 16px;
font-size: 1.4rem;
cursor: pointer;
color: #005bac;
border: solid 1px #005bac;
padding: 0 4px;
border-radius: 4px;
}

/* フェードインアニメーション */
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}

/* モーダルの拡大アニメーション */
@keyframes popUp {
to {
transform: scale(1);
opacity: 1;
}
}

p.tel-headline{
font-size:1.8rem;
}

.sp-btn-area,.sp-img,.sp-br{
display:none;
}


/* フッター */

footer ul{
display:flex;
}

footer ul li{
width:33.333%;
}

footer .bt-tel{
text-align:center;
}

footer .bt-tel h3{
margin-bottom:30px;
color:#00469E;
font-size:3rem;
}

footer .bt-tel p{
font-size:1.6rem;
}

.copyright{
text-align:center;
font-size:0.8rem;
padding-bottom:40px;
}


/* メディアクエリ */

@media (max-width: 1100px){
.header-center-btn{
width:60%;
}
}

@media (max-width: 991px){
header h1{
font-size:1rem;
text-align:right;
}
header p.pc-tel-area{
text-align:right;
}
header p.pc-tel-area img{
width:30%;
}
.header-center-btn{
width:74%;
}

.header-chatch-box{
width:70%;
bottom: 3vw;
}

section.contents-start{
margin-top:0;
margin-bottom:20px;
}

.partner-text p{
font-size:2.7vw;
}

h2{
font-size: 3vw!important;
}

.content-info2 h3{
font-size: 7vw;
}

.owner-voice h2{
margin-bottom:60px;
}

.partner-img {
margin-top: -23vw;
}

footer .bt-tel h3{
font-size: 3vw
}

footer .bt-tel p {
font-size: 2vw;
}




.reason-area img{
width:30%;
}
.price-area th{
display:block;
width:100%!important;
border-radius: 20px 20px 0 0!important;
}
.price-area td{
display:block;
width:100%!important;
border-radius: 0 0 20px 20px!important;
}
}

@media (max-width: 767px){
.pc-img2{
display:none;
}
.sp-pt-20{
padding-top:20px;
}
.sp-pt-30{
padding-top:30px;
}
.sp-pt-40{
padding-top:40px;
}

img.w-50.sp-80{
width:80%!important;
}

.sp-40{
max-width:40%!important;
}

.sp-50{
max-width:50%!important;
}

.sp-60{
max-width:60%!important;
}

.sp-70{
max-width:70%!important;
}

.sp-80{
max-width:80%!important;
}
header h1{
padding-top:16px;
}
.header-right-btn ul li img{
width: 8.7vw;
}
.header-center-btn{
width:90%;
}
section{
padding:60px 0;
}

.partner-img {
margin-top: 0;
}

.slant-bg1{
margin-top:60px;
height: 100%;
padding-top: 60px;
}

.sp-top30 > div{
margin-top:30px;
}

.sp-top30{
margin-top:30px;
}

.slant-bg1:before,.slant-bg2:before,.slant-bg2:after{
display:none;
}

.slant-bg1{
background-color:#D9E5F1;
}

.content02-wapper,.content04-wapper {
padding: 80px 0;
}

.ratio{
margin:30px 0;
}

.ratio img{
width:30%;
}

.owner-voice h2,footer .bt-tel,footer .container,.copyright {
margin-top:30px;
margin-bottom:30px;
}

.owner-voice h3{
font-size:1rem;
}

footer .bt-tel h3{
margin-bottom:16px;
}

.info-area h3{
font-size:9vw;
}

.partner-text p{
font-size:1.2rem;
}
}


@media (max-width: 575px){
p{
font-size:1rem;
}
.pc-br,.pc-img,.header-right-btn{
display:none;
}
.sp-img{
display:block;
}
.sp-br{
display:block;
}
a.sp-tel-link{
pointer-events: auto;
}
.sp-btn-red{
background:#C43F40;
width: 40%;
}
.sp-btn-blue{
background:#193C93;
width: 40%;
}
.sp-btn-green{
background:#228946;;
width: 20%;
}
.header-center-btn h2{
font-size:1.2rem;
}
.sp-btn-area{
display:block;
position: fixed;
bottom: 0;
width: 100%;
text-align:center;
z-index:1;
}
.sp-btn-area ul{
display:table;
margin: 0;
width:100%;
}
.sp-btn-area ul > li{
display:table-cell;
vertical-align: middle;
width:33.3333%;
}
.sp-btn-area ul li a{
display: block;
padding: 14px 0;
color:#FFF;
font-weight:900;
letter-spacing: 0;
}
.sp-btn-area ul li:nth-of-type(1) a img{
width: 15%;
vertical-align: text-bottom;
padding-right: 6px;
vertical-align: -1px;
}
.sp-btn-area ul li:nth-of-type(2) a img{
width: 16%;
vertical-align: text-bottom;
padding-right: 6px;
vertical-align: -1px;
}
.sp-btn-area ul li:nth-of-type(3) a img{
width: 12%;
vertical-align: text-bottom;
padding-right: 6px;
vertical-align: -1px;
}

header h1 {
font-size: 3.4vw;
text-align:left;
}
.info-area2 p{
font-size:4.8vw;
}
p.tel-headline{
font-size:1.4rem;
}

.owner-voice h2{
font-size: 1.2rem !important;
}

.individual-btn-area img{
width:58%;
}
.info-area h2{
font-size: 4.2vw;
}
.info-area2 h2{
font-size: 7.4vw;
}

.step-up{
margin-top:60px!important;
}

.slant-bg3:after{
border-top: 50px solid #1475BC;
}

footer .bt-tel h3 {
font-size: 5vw;
}
footer .bt-tel p {
font-size: 3.2vw;
}
.copyright{
padding-bottom: 92px;
}
}