#mainimage {
position: relative;
width: 100%;
display: block;
z-index: 1;
}
#mainimage:before,
#mainimage:after {
content: '';
display: block;
width: clamp(420px, 66.7vw, 800px);
max-width: 800px;
aspect-ratio: 800 / 140;
background-size: contain;
background-repeat: no-repeat;
vertical-align: middle;
position: absolute;
}
#mainimage:before {
background-image: url("../image/mainimage_bg.png");
top: 0;
right: 0;
}
#mainimage:after {
background-image: url("../image/mainimage_bg.png");
bottom: 0;
left: 0;
transform: rotate(180deg);
}
#mainimage .copy {
position: relative;
width: 100%;
display: block;
z-index: 2;
padding: 0 0 100px 0;
}
#mainimage .copy:before,
#mainimage .copy:after {
content: '';
display: block;
width: clamp(40px, 8vw, 70px);
background-size: contain;
background-repeat: no-repeat;
vertical-align: middle;
position: absolute;
top: 0;
}
#mainimage .copy:before {
aspect-ratio: 70 / 700;
background-image: url("../image/copy1.png");
left: 0;
}
#mainimage .copy:after {
aspect-ratio: 70 / 855;
background-image: url("../image/copy2.png");
right: 0;
}
#mainimage .copy #logo {
position: relative;
z-index: 3;
width: 85%;
max-width: 1400px;
margin: 0 auto;
padding-top: clamp(12px, 3vw, 25px);
text-align: left;
}
#mainimage .copy dl {
width: min(85%, 1200px);
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
align-items: flex-start;
gap: clamp(16px, 4vw, 48px);
padding: clamp(20px, 5vw, 60px) 0 0 0;
}
#mainimage .copy dt {
flex: 0 1 calc(45% - (clamp(16px, 4vw, 48px) / 2));
max-width: 500px;
color: #1eaeb2;
}
#mainimage .copy dd {
flex: 0 1 calc(55% - (clamp(16px, 4vw, 48px) / 2));
max-width: 580px;
color: #0e7575;
padding: clamp(20px, 5vw, 120px) 0 0 0;
}
#mainimage .copy dt h1 {
font-variation-settings: "wght" 900;
font-weight: normal;
font-size: clamp(0.875rem, -1.696rem + 6.43vw, 3.125rem);
line-height: 1.2;
text-align: center;
}
#mainimage .copy dt h1 b {
font-weight: normal;
font-size: clamp(1.125rem, -4.732rem + 14.64vw, 6.25rem);
line-height: 1.2;
letter-spacing: 0.12em;
}
#mainimage .copy dt h1 b::after {
content: '';
margin-left: -0.12em;
}
#mainimage .copy dt p.price {
font-size: clamp(0.875rem, -0.982rem + 4.64vw, 2.5rem);
line-height: 1.2;
padding: 0.5em 0 0.7em;
}
#mainimage .copy dt p.price b {
font-size: clamp(1.125rem, -2.589rem + 9.29vw, 4.375rem);
line-height: 1.2;
font-weight: normal;
}
#mainimage .copy dt p.area {
color: #000;
font-size: clamp(1rem, 2.5vw, 1.875rem);
line-height: 1;
padding-top: 1em;
}
#mainimage .copy dt p.area i {
font-style: normal;
font-size: clamp(0.75rem, 0.464rem + 0.71vw, 1rem);
}
#mainimage .copy dt .bt {
width: min(400px, 90%);
}
#mainimage .copy dt .bt a {
font-size: clamp(1.125rem, 0.268rem + 2.14vw, 1.875rem);
}
#mainimage .copy dd .box {
width: min(100%, 580px);
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: clamp(40px, 10vw, 121px);
height: clamp(45px, 11.3vw, 136px);
background-image: url("../image/mainimage_illust1.png");
bottom: clamp(-40px, -4.2vw, -50px);
left: clamp(4px, 1.7vw, 20px);
}
#mainimage .copy dd .box:after {
width: clamp(55px, 14.3vw, 171px);
height: clamp(60px, 14.7vw, 176px);
background-image: url("../image/mainimage_illust2.png");
bottom: clamp(-60px, -5.8vw, -70px);
right: clamp(-20px, -0.8vw, -40px);
}
#mainimage .copy dd .box .logo {
background-color: #b7f7f4;
position: relative;
display: block;
z-index: 10;
border-radius: 20px;
width: min(90%, 420px);
box-sizing: border-box;
padding: 2em 2em 2em 2em;
margin: 0px auto 0 auto;
}
#mainimage .copy dd .box .logo:before {
content: '';
display: block;
width: 43px;
height: 39px;
background-image: url("../image/point1.png");
background-size: contain;
background-repeat: no-repeat;
vertical-align: middle;
position: absolute;
top: -25px;
right: -25px;
}
#mainimage .copy dd .box .logo h2 {
font-size: clamp(0.875rem, 2.33vw, 1.75rem);
line-height: 1.4;
}
#mainimage .copy dd .box .logo h2 b {
font-size: clamp(1.125rem, 2.83vw, 2.125rem);
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;
}
/* ==========================
tablet（1024px以下）
========================== */
@media screen and (max-width: 1024px) {
#mainimage .copy dd .box:before {
width: 90px;
height: 100px;
bottom: -30px;
left: 10px;
}
#mainimage .copy dd .box:after {
width: 120px;
height: 125px;
bottom: -40px;
right: -5px;
}
#mainimage .copy dd .box .logo h2 {
font-size: 16px;
}
#mainimage .copy dd .box .logo h2 b {
font-size: 20px;
}
}

/************************* コンタクトボタン ****/
.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:clamp(40px,5.83vw,70px) 0 clamp(50px,6.67vw,80px);
}
.contact h6{
color:#c68400;
font-family:source-han-sans-jp-variable,sans-serif;
font-variation-settings:"wght" 900;
font-style:normal;
font-size:clamp(24px,3.33vw,40px);
line-height:1.2;
position:relative;
margin:0 auto clamp(2em,4vw,2.5em);
text-align:center;
}
.contact h6:after{
content:'';
position:absolute;
left:50%;
bottom:clamp(-50px,-5.83vw,-70px);
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{
max-width:clamp(320px,50vw,600px);
margin:0 auto;
position:relative;
display:block;
}
.contact .bt:before{
content:'';
display:block;
z-index:11;
background-size:contain;
background-repeat:no-repeat;
vertical-align:middle;
position:absolute;
width:clamp(95px,15.08vw,181px);
height:clamp(102px,16.25vw,195px);
background-image:url("../image/contact_illust1.png");
bottom:clamp(-70px,-5.83vw,-70px);
left:clamp(-200px,-16.67vw,-200px);
pointer-events:none;
}
.contact .bt:after{
content:'';
display:block;
z-index:11;
background-size:contain;
background-repeat:no-repeat;
vertical-align:middle;
position:absolute;
width:clamp(75px,11.92vw,143px);
height:clamp(90px,14.17vw,170px);
background-image:url("../image/contact_illust2.png");
bottom:clamp(-70px,-5.83vw,-70px);
right:clamp(-180px,-15vw,-180px);
pointer-events:none;
}
.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: clamp(26px, 3.83vw, 46px);
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: clamp(16px, 2vw, 24px);
line-height: 1.2;
margin: 1em auto 0;
text-align: center;
}
/************************* Concerns ****/
#Concerns {
background-color: #b7f7f4;
margin: clamp(10px, 1.7vw, 20px) auto 0;
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: min(1200px, 100%);
padding: clamp(50px, 8.33vw, 100px) clamp(16px, 2.5vw, 30px);
text-align: center;
}
#Concerns dl {
margin: clamp(30px, 5vw, 60px) auto 0;
display: flex;
flex-wrap: wrap;
gap: clamp(16px, 2vw, 60px);
justify-content: center;
}
#Concerns dd {
width: min(350px, 100%);
font-family: zen-maru-gothic, sans-serif;
font-weight: 700;
font-style: normal;
}
#Concerns dd .image {
margin: 0 auto;
width: min(350px, 100%);
}
#Concerns dd .image img {
width: clamp(120px, 20vw, 300px);
height: auto;
display: block;
margin: 0px auto 0 auto;
}
#Concerns dd h4 {
color: #1eaeb2;
font-size: clamp(18px, 2.33vw, 28px);
line-height: 1.7;
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: clamp(15px, 1.5vw, 18px);
line-height: 1.8;
color: #282828;
}
#Concerns dd p b {
color: #1eaeb2;
}
ul.Concerns {
margin: clamp(60px, 10vw, 120px) auto 0;
width: min(1100px, 90%);
display: flex;
flex-wrap: wrap;
gap: clamp(12px, 2vw, 20px);
align-items: center;
}
ul.Concerns li {
text-align: left;
}
ul.Concerns li img {
width:clamp(20px,5vw,66px);
height:auto;
display:block;
}
ul.Concerns li.icon {
width: clamp(44px, 5.83vw, 70px);
padding-top: clamp(6px, 0.83vw, 10px);
}
ul.Concerns li.copy {
flex: 1 1 520px;
text-align: center;
width: auto; /* 固定やめる */
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.5em 0;
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: 100px auto 50px auto;
text-align: left;
max-width: 1200px;
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: 34px;
line-height: 1.5em;
}
#service h3 b {
font-weight: normal;
font-size: 44px;
line-height: 1.5em;
}
#service h3:after {
content: none;
}
#service ul.portal_logo {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
max-width: 900px;
width: 100%;
margin: 50px auto 0 auto;
}
#service ul.portal_logo li {
max-width: 140px;
width: 15.5%;
border: 1px solid #b7b7b7;
border-radius: 3px;
text-align: center;
line-height: 0;
padding: 5px 0 5px 0;
}
#service ul.portal_logo li img {
width: 80%;
height: auto;
}
#service h4 {
background-color: #1eaeb2;
color: #FFF;
font-size: 36px;
line-height: 1.5em;
text-align: center;
padding: 0.3em 0 0.3em 0;
margin: 70px auto 0 auto;
}
#service dl {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
max-width: 1100px;
width: 100%;
margin: 50px auto 0 auto;
}
#service dd {
margin-bottom: 20px;
}
#service dd.text {
text-align: left;
max-width: 770px;
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: 40px;
line-height: 1.5em;
}
#service dd.text h5 b,
#service dd.text h5 span {
color: #f9ac00;
}
#service dd.text h5 b {
font-size: 60px;
margin-right: 0.5em;
font-weight: normal;
position: relative;
top: 4px;
}
#service dd.text p {
font-family: source-han-sans-jp-variable, sans-serif;
font-variation-settings: "wght" 500;
font-size: 22px;
line-height: 1.8em;
padding: 1em 2em 0 0;
}
#service dd.illust {
max-width: 330px;
width: 28%;
}
#service dd.illust img {
width: 100%;
height: auto;
}

/********************** expansion **********/
#expansion {
margin: 0px auto 0 auto;
padding: 100px 0 0 0;
max-width: 1200px;
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:calc(100% / 6);
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);
}
@media (max-width:768px){
#expansion ul{
margin:clamp(20px,4vw,40px) auto 0;
}
#expansion ul li{
margin:0 4px 6px;
padding:0.8em 0 0.6em;
}
}
#expansion ul li img {
max-width: 100px;
width: 50%;
height: auto;
}
#expansion ul li p {
font-size: clamp(0.813rem, 0.455rem + 0.89vw, 1.125rem);
line-height: 1.3em;
padding: 0 0 1em 0;
display: block;
margin: 0.5em auto 0 auto;
height: 1.5em;
}

/************************ case ************/
#case{
background-color:#b7f7f4;
margin:clamp(50px,8.33vw,100px) auto 0;
padding:clamp(50px,8.33vw,100px) 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:clamp(28px,3.33vw,40px);
width:auto;
display:block;
}
@media (max-width: 768px) {
#case .slide-track img {
height: 40px;
}
}

/************************ faq ************/
#faq{
margin:0 auto;
padding:clamp(50px,8.33vw,100px) 0 clamp(20px,3.33vw,40px);
}
#faq dl.question{
max-width:1200px;
margin:clamp(25px,4.17vw,50px) auto clamp(10px,1.67vw,20px);
text-align:left;
display:flex;
flex-wrap:nowrap;
align-items:center;
gap:clamp(10px,1.25vw,15px);
padding:0 clamp(16px,2.5vw,30px);
}
#faq dl.question dt{
margin:0;
flex:0 0 auto;
}
#faq dl.question dd{
background-color:#fce9c8;
width:clamp(320px,46.7vw,560px);
border-radius:clamp(4px,0.5vw,6px);
}
#faq dl.question dd p{
font-family:zen-maru-gothic,sans-serif;
font-weight:700;
font-style:normal;
font-size:clamp(16px,2vw,24px);
line-height:1.7;
box-sizing:border-box;
padding:0.8em 1em;
}
#faq dl.answer{
max-width:1200px;
margin:0 auto;
text-align:left;
display:flex;
flex-wrap:nowrap;
justify-content:flex-end;
align-items:center;
gap:clamp(10px,1.25vw,20px);
padding:0 clamp(16px,2.5vw,30px);
}
#faq dl.answer dt{
border-radius:clamp(4px,0.5vw,6px);
background-color:#b7f7f4;
width:clamp(360px,66.7vw,800px);
}
#faq dl.answer dt p{
padding:1em 1.5em;
font-size:clamp(15px,1.5vw,18px);
line-height:1.8;
box-sizing:border-box;
}
#faq dl.answer dt p span.bt{
display:inline-block;
margin-right:clamp(10px,1.67vw,20px);
}
#faq dl.answer dt p span.bt a{
display:inline-block;
font-size:clamp(13px,1.25vw,15px);
line-height:1.2;
padding:0.2em 1.5em 0.3em;
}
#faq dl.answer dt p i{
font-style:normal;
font-size:clamp(13px,1.33vw,16px);
line-height:1.2;
}
#faq dl.answer dd{
margin:0;
flex:0 0 auto;
}
#faq h4{
margin:clamp(70px,12.5vw,150px) auto 0;
font-family:zen-maru-gothic,sans-serif;
font-weight:700;
font-style:normal;
font-size:clamp(24px,3.33vw,40px);
line-height:1.4;
position:relative;
text-align:center;
display:inline-block;
padding:0 clamp(1.2em,3vw,2em);
}
#faq h4 b{
font-size:clamp(18px,2.67vw,32px);
line-height:1.2;
font-style:normal;
}
#faq h4::before,
#faq h4::after{
position:absolute;
top:50%;
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:0;
}
#faq h4::after{
content:'／';
right:0;
}
@media (max-width:768px){
#faq dl.question{
flex-wrap:wrap;
justify-content:flex-start;
}
#faq dl.question dd{
width:100%;
}
#faq dl.answer{
flex-wrap:wrap;
justify-content:flex-start;
}
#faq dl.answer dt{
width:100%;
}
}

/************************ form ************/
#form{
margin:clamp(80px,16.67vw,200px) auto 0;
max-width:clamp(600px,83.33vw,1000px);
width:100%;
}










