#mainimage {
position: relative;
width: 100%;
display: block;
z-index: 1;
}
#mainimage:before,
#mainimage:after {
content: '';
display: block;
width: 40%;
aspect-ratio: 350 / 140;
background-size: contain;
background-repeat: no-repeat;
vertical-align: middle;
position: absolute;
}
#mainimage:before {
background-image: url("../image/mainimage_bg_sp.png");
top: 0;
right: 0;
}
#mainimage:after {
background-image: url("../image/mainimage_bg_sp.png");
bottom: 43%;
left: 0;
transform: rotate(180deg);
}
#mainimage .copy {
position: relative;
width: 100%;
display: block;
z-index: 2;
padding: 0 0 0px 0;
}
#mainimage .copy:before,
#mainimage .copy:after {
content: '';
display: block;
width: 8%;
background-size: contain;
background-repeat: no-repeat;
vertical-align: middle;
position: absolute;
top: 10%;
}
#mainimage .copy:before {
aspect-ratio: 40 / 400;
background-image: url("../image/copy1.png");
left: 0;
}
#mainimage .copy:after {
aspect-ratio: 48 / 400;
background-image: url("../image/copy2.png");
right: 0;
}
#mainimage .copy #logo {
position: relative;
z-index: 3;
width: 50%;
padding: 10px 0 0 10px;
text-align: left;
}
#mainimage .copy dl {
margin: 20px auto;
}
#mainimage .copy dt {
color: #1eaeb2;
text-align: center;
}
#mainimage .copy dd {
color: #0e7575;
padding: clamp(20px, 5vw, 120px) 0 0 0;
}
#mainimage .copy dt h1 {
font-variation-settings: "wght" 900;
font-weight: normal;
font-size: 27px;
line-height: 1.2;
text-align: center;
}
#mainimage .copy dt h1 b {
font-weight: normal;
font-size: 56px;
line-height: 1.3;
letter-spacing: 0.12em;
}
#mainimage .copy dt h1 b::after {
content: '';
margin-left: -0.12em;
}
#mainimage .copy dt .bt {
display: block;
width: 40%;
position: absolute;
top: 0;
right: 0;
padding: 10px 10px 0 0;
}
#mainimage .copy dt .bt a{
font-size:14px;
line-height:1;
padding:0.4em 0 0.6em 0;
}
#mainimage .copy dt p.price {
font-size: 22px;
line-height: 1.2;
padding: 0.5em 0 0.7em;
}
#mainimage .copy dt p.price b {
font-size: 40px;
line-height: 1.2;
font-weight: normal;
}
#mainimage .copy dt p.area {
color: #000;
font-size:20px;
line-height: 1;
padding-top: 0.5em;
}
#mainimage .copy dt p.area i {
font-style: normal;
font-size: 14px;
}
#mainimage .copy dd .box {
width: 80%;
position: relative;
display: block;
z-index: 10;
margin: 0px auto 0 auto;
text-align: center;
}
#mainimage .copy dd .box:before,
#mainimage .copy dd .box:after {
content: '';
display: block;
z-index: 11;
background-size: contain;
background-repeat: no-repeat;
vertical-align: middle;
position: absolute;
}
#mainimage .copy dd .box:before {
width: 70px;
height: 79px;
background-image: url("../image/mainimage_illust1.png");
bottom: -30px;
left: -30px;
}
#mainimage .copy dd .box:after {
width: 89px;
height: 90px;
background-image: url("../image/mainimage_illust2.png");
bottom: -30px;
right:-30px;
}
#mainimage .copy dd .box .logo {
background-color: #b7f7f4;
position: relative;
display: block;
z-index: 10;
border-radius: 20px;
width: 90%;
box-sizing: border-box;
padding: 1em;
margin: 0px auto 0 auto;
}
#mainimage .copy dd .box .logo:before {
content: '';
display: block;
width: 28px;
height: 25px;
background-image: url("../image/point1.png");
background-size: contain;
background-repeat: no-repeat;
vertical-align: middle;
position: absolute;
top: -15px;
right: -15px;
}
#mainimage .copy dd .box .logo h2 {
font-size: 18px;
line-height: 1.4;
}
#mainimage .copy dd .box .logo h2 b {
font-size: 24px;
font-weight: normal;
}
#mainimage .copy dd .box .logo ul {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
max-width: 290px;
margin: 20px auto 0 auto;
z-index: 15;
}
#mainimage .copy dd .box .logo ul li {
background-color: #FFF;
width: 48%;
max-width: 140px;
line-height: 0;
margin-bottom: 10px;
}
#mainimage .copy dd .box .logo ul li img {
width: 90%;
height: auto;
}
/************************* コンタクトボタン ****/
.bt {
margin: 0px auto 0 auto;
}
.bt a{
background-color:#f9ac00;
color:#FFF;
text-align:center;
display:block;
position:relative;
border-radius:100vh;
text-decoration:none;
font-size:clamp(18px,2.5vw,30px);
line-height:1;
padding:clamp(0.5em,1.2vw,0.6em) 0 clamp(0.6em,1.5vw,0.7em);
}
.bt a:hover {
background-color: #FF0000;
}
.contact{
background-color:#ffeecc;
padding:20px 0 20px 0;
}
.contact h6{
color:#c68400;
font-family:source-han-sans-jp-variable,sans-serif;
font-variation-settings:"wght" 900;
font-style:normal;
font-size:18px;
line-height:1.2;
position:relative;
margin:0 1em 2.5em 1em;
text-align:center;
}
.contact h6:after{
content:'';
position:absolute;
left:50%;
bottom:-2em;
transform:translateX(-50%);
width:0;
height:0;
border-left:clamp(28px,4.17vw,50px) solid transparent;
border-right:clamp(28px,4.17vw,50px) solid transparent;
border-top:clamp(18px,2.5vw,30px) solid #edc680;
animation:blinkMove 1.5s ease-in-out infinite;
}

@keyframes blinkMove {
  0%, 100% {
    opacity: 0.5;
    transform: translateX(-50%) translateY(0);
  }
  50% {
    opacity: 1;
    transform: translateX(-50%) translateY(6px);
  }
}
.contact .bt{
margin:0 auto;
position:relative;
display:block;
}
.contact .bt a {
width: 80%;
margin: 0px auto 0 auto;
font-size:16px;
line-height:1.2;
padding: 0.7em 0 0.7em 0;
}
.contact .bt a:after{
content:'';
display:inline-block;
width:clamp(16px,2.08vw,25px);
height:clamp(18px,2.33vw,28px);
background-image:url("../image/contact_point.png");
background-size:contain;
background-repeat:no-repeat;
vertical-align:middle;
position:absolute;
top:clamp(-6px,-0.83vw,-10px);
right:clamp(-12px,-1.67vw,-20px);
pointer-events:none;
}
@media (max-width:768px){
.contact .bt:before{
left:-24px;
bottom:-24px;
}
.contact .bt:after{
right:-24px;
bottom:-24px;
}
}
/************************* title h3 ****/
#container h3 {
color: #282828;
position: relative;
font-family: zen-maru-gothic, sans-serif;
font-weight: 700;
font-style: normal;
font-size: 20px;
line-height: 1.2;
text-align: center;
}
#container h3:after {
content: '';
display: inline-block;
width: clamp(14px, 2.1vw, 25px);
height: clamp(15px, 2.25vw, 27px);
background-image: url("../image/point_h3.png");
background-size: contain;
background-repeat: no-repeat;
vertical-align: middle;
position: relative;
top: clamp(-20px, -2.9vw, -35px);
right: clamp(2px, 0.4vw, 5px);
}
#container p.details {
color: #1eaeb2;
font-size: 15px;
line-height: 1.3;
margin: 0.5em 1em 0 1em;
text-align: center;
}
/************************* Concerns ****/
#Concerns {
background-color: #b7f7f4;
margin: 40px auto 0 auto;
position: relative;
display: block;
}
#Concerns:after {
content: '';
position: absolute;
left: 50%;
bottom: clamp(-40px, -5.8vw, -70px);
transform: translateX(-50%);
width: 0;
height: 0;
border-left: clamp(55px, 8.33vw, 100px) solid transparent;
border-right: clamp(55px, 8.33vw, 100px) solid transparent;
border-top: clamp(40px, 5.83vw, 70px) solid #b7f7f4;
}
#Concerns .body {
margin: 0 auto;
width:100%;
padding: 2em 0 2em 0;
text-align: center;
}
#Concerns dl {
width: 90%;
margin: 30px auto 0 auto;
gap: clamp(16px, 2vw, 60px);
justify-content: center;
box-sizing: border-box;
}
#Concerns dd {
width: 100%;
font-family: zen-maru-gothic, sans-serif;
font-weight: 700;
font-style: normal;
margin-bottom: 20px;
}
#Concerns dd .image {
margin: 0 auto;
width: 40%;
}
#Concerns dd .image img {
width: 100%;
height: auto;
display: block;
margin: 0px auto 0 auto;
}
#Concerns dd h4 {
color: #1eaeb2;
font-size: 20px;
line-height: 1.5;
text-align: center;
margin: clamp(-0.8em, -1vw, -1.2em) auto clamp(0.4em, 0.6vw, 0.7em);
}
#Concerns dd p {
font-family: source-han-sans-jp-variable, sans-serif;
font-variation-settings: "wght" 500;
text-align: left;
font-size: 14px;
line-height: 1.3;
color: #282828;
}
#Concerns dd p b {
color: #1eaeb2;
}
ul.Concerns {
margin: 60px auto 0 auto;
width: 90%;
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
align-items: center;
}
ul.Concerns li {
text-align: left;
}
ul.Concerns li img {
width:100%;
height:auto;
display:block;
}
ul.Concerns li.icon {
width: 12%;
padding-top: clamp(6px, 0.83vw, 10px);
}
ul.Concerns li.copy {
text-align: center;
width: 85%;
font-family: sicuveiw-dsp, sans-serif;
font-weight: 800;
font-style: normal;
color: #004097;
font-size: clamp(18px, 2.67vw, 32px);
line-height: 1.2;
border: 2px solid #1eaeb2;
border-radius: 6px;
padding: 0.7em;
box-sizing: border-box;
position: relative;
}
ul.Concerns li.copy:before {
content: '';
position: absolute;
left: clamp(-8px, -0.83vw, -10px);
top: 50%;
transform: translateY(-50%);
width: 0;
height: 0;
border-top: clamp(6px, 0.83vw, 10px) solid transparent;
border-bottom: clamp(6px, 0.83vw, 10px) solid transparent;
border-right: clamp(6px, 0.83vw, 10px) solid #1eaeb2;
}

/*********************** service *************/
#service {
margin: 50px auto 30px auto;
text-align: left;
width: 90%;
}
#service h3 {
color: #1eaeb2;
font-family: source-han-sans-jp-variable, sans-serif;
font-variation-settings: "wght" 900;
font-weight: normal;
font-size: 16px;
line-height: 1.5;
}
#service h3 b {
font-weight: normal;
font-size: 25px;
line-height: 1.3;
}
#service h3:after {
content: none;
}
#service ul.portal_logo {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
width: 100%;
margin: 20px auto 0 auto;
}
#service ul.portal_logo li {
width: 31%;
border: 1px solid #b7b7b7;
border-radius: 3px;
text-align: center;
line-height: 0;
padding: 3px 0 3px 0;
margin-bottom: 6px;
}
#service ul.portal_logo li img {
width: 80%;
height: auto;
}
#service h4 {
background-color: #1eaeb2;
color: #FFF;
font-size: 22px;
line-height: 1.3em;
text-align: center;
padding: 0.5em 0 0.6em 0;
margin: 30px auto 0 auto;
}
#service dl {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
width: 100%;
margin: 20px auto 0 auto;
}
#service dd {
margin-bottom: 20px;
}
#service dd.text {
text-align: left;
width: 70%;
}
#service dd.text h5 {
font-family: source-han-sans-jp-variable, sans-serif;
font-variation-settings: "wght" 900;
font-weight: normal;
color: #282828;
font-size: 18px;
line-height: 1.3em;
}
#service dd.text h5 b,
#service dd.text h5 span {
color: #f9ac00;
}
#service dd.text h5 b {
font-size: 26px;
margin-right: 0.5em;
font-weight: normal;
position: relative;
top: 2px;
}
#service dd.text p {
font-family: source-han-sans-jp-variable, sans-serif;
font-variation-settings: "wght" 500;
font-size: 14px;
line-height: 1.3em;
padding: 1em 0em 0 0;
}
#service dd.illust {
width: 28%;
}
#service dd.illust img {
width: 100%;
height: auto;
}

/********************** expansion **********/
#expansion {
margin: 0px auto 0 auto;
padding: 50px 0 0 0;
width: 90%;
}
#expansion ul{
display:flex;
flex-wrap:wrap;
justify-content:space-between;
align-items:center;
margin:clamp(30px,5.8vw,70px) auto 0;
}
#expansion ul li{
width:33%;
max-width:clamp(100px,15.8vw,190px);
background-color:#b7f7f4;
border-radius:clamp(4px,0.5vw,6px);
box-sizing:border-box;
padding:clamp(1em,1.7vw,2em) 0 clamp(0.6em,1vw,1em);
margin:0 clamp(2px,0.4vw,5px) clamp(6px,1vw,10px);
text-align: center;
}
#expansion ul li img {
width: 70%;
height: auto;
}
#expansion ul li p {
font-size: 13px;
line-height: 1.2em;
padding: 0 0 1em 0;
display: block;
margin: 0.5em auto 0 auto;
height: 1.5em;
}
/************************ case ************/
#case{
background-color:#b7f7f4;
margin:50px auto 0;
padding:50px 0;
overflow:hidden;
}
#case .slider{
width:100%;
overflow:hidden;
margin:clamp(30px,5vw,60px) auto 0;
}
#case .slide-track{
display:flex;
will-change:transform;
align-items:center;
}
#case .slide-track li{
flex:0 0 auto;
background-color:#FFF;
padding:clamp(10px,1.25vw,15px);
box-sizing:border-box;
margin-right:clamp(10px,1.67vw,20px);
border-radius:clamp(4px,0.5vw,6px);
}
#case .slide-track img{
height:20px;
width:auto;
display:block;
}
/************************ faq ************/
#faq{
margin:0 auto;
padding:clamp(50px,8.33vw,100px) 0 clamp(20px,3.33vw,40px);
}
#faq img {
width: 80%;
height: auto;
display: block;
margin: 0px auto 0 auto;
}
#faq dl.question{
margin:30px auto 20px;
text-align:left;
display:flex;
flex-wrap:nowrap;
align-items:center;
padding:0 clamp(16px,2.5vw,30px);
box-sizing: border-box;
}
#faq dl.question dt{
margin:0;
width:20%;
}
#faq dl.question dd{
background-color:#fce9c8;
width:75%;
border-radius:clamp(4px,0.5vw,6px);
box-sizing: border-box;
}
#faq dl.question dd p{
font-family:zen-maru-gothic,sans-serif;
font-weight:700;
font-style:normal;
font-size:16px;
line-height:1.3;
box-sizing:border-box;
padding:0.8em 1em;
}
#faq dl.answer{
margin:0 auto;
text-align:left;
display:flex;
flex-wrap:nowrap;
justify-content:flex-end;
align-items:center;
box-sizing: border-box;
padding:0 clamp(16px,2.5vw,30px);
}
#faq dl.answer dt{
border-radius:clamp(4px,0.5vw,6px);
background-color:#b7f7f4;
width:75%;
}
#faq dl.answer dt p{
padding:1em;
font-size:14px;
line-height:1.3;
box-sizing:border-box;
}
#faq dl.answer dt p span.bt{
display:block;
margin:10px 0 10px 0;
}
#faq dl.answer dt p span.bt a{
display:block;
font-size:14px;
line-height:1.2;
padding:0.4em 0 0.4em 0;
}
#faq dl.answer dt p i{
font-style:normal;
font-size:13px;
line-height:1.2;
}
#faq dl.answer dd{
margin:0;
width:20%;
}
#faq h4{
margin:50px auto 0;
font-family:zen-maru-gothic,sans-serif;
font-weight:700;
font-style:normal;
font-size:20px;
line-height:1.3;
position:relative;
text-align:center;
display:inline-block;
padding:0 2em 0 2em;
}
#faq h4 b{
font-size:14px;
line-height:1.2;
font-style:normal;
}
#faq h4::before,
#faq h4::after{
position:absolute;
top:35%;
transform:translateY(-50%);
font-size:clamp(40px,6vw,80px);
font-weight:bold;
line-height:1;
white-space:nowrap;
color:#f9ac00;
}
#faq h4::before{
content:'＼';
left:2%;
}
#faq h4::after{
content:'／';
right:2%;
}

/************************ form ************/
#form{
margin:70px auto 0;
width:90%;
}



