@charset "UTF-8";
/* CSS Document */
#contents {
padding-bottom: 0;
}

/* 中身-モバイルファースト======================================================================================================== */

.common_title{
background-repeat: no-repeat;
background-position: center center;
background-size: auto 100%;
text-align: center;
padding: 5vw 0;
}
.common_title.blue{ background-image: url("../images/common_title_bg-b.svg"); }
.common_title.yellow{ background-image: url("../images/common_title_bg-y.svg"); }
.common_title em{
font-family: Arial, Helvetica, "sans-serif";
font-size: 40px;
line-height: 1.4;
font-weight: bold;
}
.common_title.blue em{ color: #60cff3; }
.common_title.yellow em{ color: #ffd403; }
.common_title h3{
font-size: 16px;
font-weight: bold;
}


#top .alpha .one{
}
#top .alpha .one .text{
}
#top .alpha .one .text p{
font-size: 4vw;
font-weight: bold;
}
#top .alpha .one .text h2{
font-size: 5.5vw;
font-weight: bold;
margin-bottom: 10px;
}
#top .alpha .one .text h2 span.k{
font-size: 8vw;
line-height: 1.4;
color: #f2426d;
position: relative;
}
#top .alpha .one .text h2 span.k::before{
content: "";
display: block;
background-color: #f2426d;
width: 6px;
height: 6px;
border-radius: 50%;
position: absolute;
top: -10px;
left: 0;
right: 0;
margin: 0 auto;
}

#top .alpha .one .point{
font-size: 4vw;
font-weight: bold;
background-color: #60cff3;
color: #fff;
border-radius: 50px;
text-align: center;
padding: 10px;
margin-bottom: 20px;
}

#top .alpha .two{
text-align: center;
margin-bottom: 20px;
}
#top .alpha .two > *{
font-size: 4vw;
font-weight: bold;
line-height: 1;
display: inline-block;
background-color: #ffd403;
padding: 2vw;
}
#top .alpha .two p{
margin-bottom: 2vw;
}
#top .alpha .two em{
}
#top .alpha .two em span{
font-size: 6vw;
}

#top .alpha .three .flex{
display: flex;
align-items: flex-end;
margin-bottom: 20px;
}
#top .alpha .three .illust{
width: 18%;
position: relative;
}
#top .alpha .three .illust p{
font-size: 2vw;
position: absolute;
bottom: -4vw;
right: 0;
}
#top .alpha .three .text{
width: 80%;
font-weight: bold;
text-align: center;
}
#top .alpha .three .text p{
font-size: 4vw;
font-weight: bold;
line-height: 1.4;
text-align: left;
}
#top .alpha .three .text h2{
font-size: 7vw;
line-height: 1.2;
margin-top: 15px;
text-align: left;
}
#top .alpha .three .text h2 span{
font-size: 8vw;
}
#top .alpha .three .text h2 span.k{
color: #60cff3;
position: relative;
}
#top .alpha .three .text h2 span.k::before{
content: "";
display: block;
background-color: #60cff3;
width: 6px;
height: 6px;
border-radius: 50%;
position: absolute;
top: -10px;
left: 0;
right: 0;
margin: 0 auto;
}

#top .beta{
margin-bottom: 20px;
}
#top .beta h3{
font-size: 5vw;
line-height: 1.2;
font-weight: bold;
text-align: center;
color: #60cff3;
margin-bottom: 10px;
}
#top .beta h3 span{
font-size: 10vw;
}
#top .beta ul{
display: flex;
justify-content: space-between;
}
#top .beta li{
width: 29%;
text-align: center;
position: relative;
}
#top .beta li::before{
content: "＋";
font-size: 6vw;
line-height: 1;
font-weight: bold;
height: 6vw;
position: absolute;
top: 10vw;
left: -6.5vw;
margin: 0;
}
#top .beta li:first-child::before{
display: none;
}
#top .beta li p{
font-size: 3vw;
font-weight: bold;
margin-top: 5px;
}
#top .beta li:nth-child(odd) p{
color: #ffd403;
}
#top .beta li:nth-child(even) p{
color: #60cff3;
}

#top .gamma{
display: flex;
align-items: center;
margin-bottom: 20px;
}
#top .gamma .illust{
width: 20%;
position: relative;
}
#top .gamma .text{
width: 78%;
font-size: 3.8vw;
font-weight: bold;
margin-left: 10px;
}
#top .gamma .text::before,
#top .gamma .text::after{
content: "";
display: block;
width: 10vw;
height: 0.6vw;
background-color: #111;
}
#top .gamma .text::before{
-webkit-transform: rotate(-10deg);
transform: rotate(-10deg);
margin-bottom: 5px;
}
#top .gamma .text::after{
-webkit-transform: rotate(10deg);
transform: rotate(10deg);
margin-top: 5px;
}

#top .delta{
text-align: center;
}
#top .delta em{
font-size: 6vw;
font-weight: bold;
color: #ffd403;
}
#top .delta li{
font-size: 3.2vw;
font-weight: bold;
background-color: #ffd403;
border-radius: 10px;
padding: 10px 0;
margin-top: 10px;
}


#point .section{
background-color: #fff6cd;
padding: 5vw;
margin-top: 20px;
border-radius: 10px;
}
#point .section:first-child{
margin-top: 0;
}
#point .section:nth-child(even){
background-color: #dff5fd;
}
#point .section .title{
}
#point .section .title .img{
width: 200px;
margin: 0 auto 10px;
}
#point .section .title .text h3{
font-size: 30px;
line-height: 1.4;
font-weight: bold;
text-align: center;
}
#point .section .title .text em{
font-size: 16px;
font-weight: bold;
display: block;
margin-top: 5px;
}
#point .section .title .text .cap{
font-size: 12px;
margin-top: 10px;
}


#point .section#point01 .ex{
margin-top: 20px;
text-align: center;
}
#point .section#point01 .ex .case h4{
background-color: #ffd403;
padding: 10px;
border-radius: 50px;
font-weight: bold;
margin-bottom: 10px;
}
#point .section#point01 .ex .case .illust{
text-align: center;
margin-bottom: 10px;
}
#point .section#point01 .ex .case .illust img{
width: 76px;
}
#point .section#point01 .ex .case .illust + p{
font-weight: bold;
}
#point .section#point01 .ex .case em{
display: block;
font-size: 20px;
font-weight: bold;
}
#point .section#point01 .ex .case strong{
display: block;
font-size: 18px;
font-weight: bold;
background-color: #f2426c;
color: #fff;
margin-top: 15px;
padding: 10px 0;
border-radius: 10px;
position: relative;
}
#point .section#point01 .ex .case strong::before{
content:"";
display: block;
width: 0;
height: 0;
border-style: solid;
border-width: 0 5px 10px 5px;
border-color: transparent transparent #f2426c transparent;
position: absolute;
left: 0;
right: 0;
top: -10px;
margin: 0 auto;
}
#point .section#point01 .ex .case strong span{
font-size: 24px;
}
#point .section#point01 .ex .notices{
margin-top: 20px;
}
#point .section#point01 .ex .notices .illust{
}
#point .section#point01 .ex .notices .illust img{
width: 60px;
}
#point .section#point01 .ex .notices .text{
font-weight: bold;
font-size: 16px;
}
#point .section#point01 .ex .notices .text span{
font-size: 20px;
}

#point .section#point01 .chart .table_box{
margin-top: 20px;
margin-bottom: 10px;
padding: 10px;
background-color: #fff;
border: solid 3px #ffd403;
border-radius: 10px;
}
#point .section#point01 .chart .table_box table{
width: 100%;
border-collapse: collapse;
border-spacing: 0;
font-size: 12px;
}
#point .section#point01 .chart .table_box thead td{
text-align: center;
width: 50%;
padding: 0;
border-bottom: none;
}
#point .section#point01 .chart .table_box thead td p{
background-color: #ffd403;
padding: 5px 0;
border-radius: 50px;
}
#point .section#point01 .chart .table_box thead td:nth-child(1) p{ margin-right: 5px; }
#point .section#point01 .chart .table_box thead td:nth-child(2) p{ margin-left: 5px; }
#point .section#point01 .chart .table_box thead td span{
font-size: 10px;
}
#point .section#point01 .chart .table_box tbody th,
#point .section#point01 .chart .table_box tbody td{
border-bottom: dotted 1px #111;
text-align: center;
}
#point .section#point01 .chart .table_box tbody td:nth-child(1){ padding-right: 5px; }
#point .section#point01 .chart .table_box tbody td:nth-child(2){
font-weight: bold;
padding-left: 5px;
}
#point .section#point01 .chart .table_box tbody td:nth-child(2) span{
font-size: 14px;
}
#point .section#point01 .chart .cap{
font-size: 12px;
}


#concrete .title{
text-align: center;
position: relative;
}
#concrete .title .illust{
width: 12vw;
position: absolute;
right: -2vw;
top: -8vw;
}
#concrete .title .illust_h{
width: 18vw;
position: absolute;
left: 0;
top: -30px;
}
#concrete .title h3{
font-size: 20px;
font-weight: bold;
}
#concrete .title p{
}
#concrete .inner{
}
#concrete .inner .box{
margin-top: 20px;
padding: 10px 20px 20px;
background-color: #fff;
border: solid 3px #ffd403;
border-radius: 10px;
}
#concrete .inner .box table{
position: relative;
}
#concrete .inner .box table::after{
content: "";
background-image: url("../images/concrete_otoku.png");
background-repeat: no-repeat;
background-position: left top;
background-size: 100%;
width: 40px;
height: 40px;
position: absolute;
right: -40px;
bottom: 20px;
}
#concrete .inner .box tr.otoku{
color: #f2426c;
}
#concrete .inner .box th,
#concrete .inner .box td{
border-bottom: dotted 1px #111;
}
#concrete .inner .box th{
font-weight: normal;
text-align: left;
}
#concrete .inner .box td{
font-weight: bold;
text-align: right;
}
#concrete .inner .box td span{
font-size: 18px;
}

#concrete .cap{
font-size: 12px;
text-align: right;
margin-top: 10px;
}



#area h3{
font-size: 18px;
font-weight: bold;
text-align: center;
}
#area ul{
margin-bottom: 40px;
}
#area li{
margin-top: 20px;
border: solid 3px #60cff3;
padding: 10px;
border-radius: 10px;
}
#area li dt h4{
line-height: 1;
color: #fff;
background-color: #60cff3;
display: inline-block;
vertical-align: middle;
border-radius: 5px;
padding: 5px;
min-width: 60px;
text-align: center;
margin-right: 10px;
}
#area li dt span{
display: inline-block;
vertical-align: middle;
font-size: 12px;
}
#area li dd{
font-size: 20px;
}
#area li dd.portal{
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
}
#area li dd.portal .icon{
width: 48%;
text-align: center;
margin-top: 10px;
}
#area li dd.portal .icon img{
max-height: 30px;
}

#area .okigaruni{
display: flex;
align-items: center;
margin-bottom: 20px;
}
#area .okigaruni .illust{
width: 20%;
position: relative;
}
#area .okigaruni .text{
width: 78%;
font-size: 3.8vw;
font-weight: bold;
margin-left: 10px;
}
#area .okigaruni .text::before,
#area .okigaruni .text::after{
content: "";
display: block;
width: 10vw;
height: 0.6vw;
background-color: #111;
}
#area .okigaruni .text::before{
-webkit-transform: rotate(-10deg);
transform: rotate(-10deg);
margin-bottom: 5px;
}
#area .okigaruni .text::after{
-webkit-transform: rotate(10deg);
transform: rotate(10deg);
margin-top: 5px;
}



#qa{
margin-bottom: 3px;
}
#qa .alpha{
background-color: #dff5fd;
padding-top: 60px;
padding-bottom: 20px;
}
#qa .contents_size{
position: relative;
}
#qa .memo{
margin: 0 5vw;
display: flex;
align-items: center;
position: absolute;
top: -80px;
left: 0;
}
#qa .memo .illust{
width: 13%;
}
#qa .memo .text{
flex: 1;
font-size: 3.2vw;
background-color: #ffd403;
padding: 10px;
border-radius: 10px;
margin-left: 15px;
position: relative;
}
#qa .memo .text::after{
content:"";
display: block;
width: 0;
height: 0;
border-style: solid;
border-width: 5px 10px 5px 0;
border-color: transparent #ffd403 transparent transparent;
position: absolute;
left: -10px;
top: 0;
bottom: 0;
margin: auto 0;
}
#qa .accordion{
margin-bottom: 20px;
}
#qa dl{
margin-top: 10px;
border-bottom: solid 1px #fff;
}
#qa dt{
display: flex;
align-items: center;
margin-bottom: 10px;
}
#qa dt::before{
content: "Q";

font-size: 30px;
line-height: 1;
font-weight: bold;
color: #60cff3;
margin-right: 5px;
}
#qa dt h4{
font-weight: bold;
flex: 1;
}
#qa dd .inner{
display: flex;
padding-bottom: 10px;
}
#qa dd .inner::before{
content: "A";
font-size: 30px;
line-height: 1;
font-weight: bold;
color: #ffd403;
margin-right: 5px;
}
#qa dd .inner .anser{
flex: 1;
}

#qa .other{
text-align: center;
margin-bottom: 20px;
}
#qa .other h4{
font-size: 20px;
font-weight: bold;
color: #60cff3;
margin-bottom: 10px;
}
#qa .other .illust{
width: 100px;
margin: 0 auto;
}
#qa .other .text{
}
#qa .other .text li{
font-weight: bold;
background-color: #60cff3;
padding: 10px;
margin-top: 10px;
border-radius: 10px;
text-align: left;
}
#qa .beta{
background-color: #fff6cd;
padding-top: 40px;
padding-bottom: 40px;
}
#qa .beta .contents_size{
text-align: center;
}
#qa .beta h5{
font-size: 20px;
font-weight: bold;
}
#qa .beta p{
font-weight: bold;
}

#voice .common_title{
position: relative;
}
#voice .common_title .illust{
width: 18vw;
position: absolute;
left: 8vw;
bottom: -8vw;
}
#voice li{
margin-top: 20px;
margin-bottom: 10px;
padding: 20px;
background-color: #fff;
border: solid 3px #ffd403;
border-radius: 10px;
text-align: center;
}
#voice li .img{
text-align: center;
margin: 0 auto 10px;
}
#voice li .img img{
height: 80px;
}
#voice li em{
display: block;
font-size: 18px;
font-weight: bold;
}
#voice li strong{
display: block;
font-size: 12px;
margin-bottom: 10px;
}
#voice li p{
text-align: left;
}


#topics .inner{
margin-top: 20px;
height: 250px;
overflow: hidden;
}
#topics .inner ul{
height: 250px;
overflow: auto;
}
#topics .inner li{
border-bottom: solid 1px #ccc;
margin-bottom: 10px;
padding-bottom: 10px;
}
#topics .inner li em{
display: block;
font-weight: bold;
}


#contact{
background-color: #fff6cd;
padding-top: 15vw;
padding-bottom: 10vw;
}
#contact .contents_size{
position: relative;
}
#contact .illust{
width: 70px;
position: absolute;
top: -70px;
left: 0;
right: 0;
margin: 0 auto;
}
#contact .text em{
display: block;
font-size: 18px;
font-weight: bold;
text-align: center;
}

#contact .text #btn_box > div{
margin-top: 10px;
}
#contact .text .interest_btn a,
#contact .text .line_btn a{
font-size: 16px;
line-height: 30px;
}


/* PCのみ======================================================================================================== */
@media print, screen and (min-width: 751px){

.common_title{
padding: 30px 0;
}
.common_title em{
font-size: 50px;
}
.common_title h3{
font-size: 20px;
}


#top .alpha .one{
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 40px;
}
#top .alpha .one .text p{
font-size: 30px;
}
#top .alpha .one .text h2{
font-size: 60px;
margin-bottom: 0px;
}
#top .alpha .one .text h2 span.k{
font-size: 80px;
}
#top .alpha .one .text h2 span.k::before{
width: 9px;
height: 9px;
top: -20px;
}
#top .alpha .one .point{
font-size: 30px;
border-radius: 50%;
padding: 0px;
margin-bottom: 0px;
width: 250px;
height: 250px;
display: flex;
align-items: center;
justify-content: center;
}

#top .alpha .two{
margin-bottom: 60px;
}
#top .alpha .two > *{
font-size: 60px;
padding: 10px;
}
#top .alpha .two p{
margin-bottom: 10px;
}
#top .alpha .two em span{
font-size: 80px;
}


#top .alpha .three{
text-align: center;
}
#top .alpha .three .flex{
justify-content: center;
align-items: center;
margin-bottom: 40px;
}
#top .alpha .three .illust{
width: 200px;
}
#top .alpha .three .illust p{
font-size: 10px;
bottom: -20px;
}
#top .alpha .three .text{
width: auto;
margin-right: 20px;
}
#top .alpha .three .text p{
font-size: 30px;
text-align: left;
width: 870px;
display: inline-block;
}
#top .alpha .three .text h2{
font-size: 50px;
margin-top: 30px;
}
#top .alpha .three .text h2 span{
font-size: 70px;
}
#top .alpha .three .text h2 span.k::before{
width: 9px;
height: 9px;
top: -20px;
}


#top .beta{
margin-bottom: 60px;
}
#top .beta h3{
font-size: 50px;
margin-bottom: 40px;
}
#top .beta h3 span{
font-size: 90px;
}
#top .beta ul{
justify-content: center;
}
#top .beta li{
width: 250px;
margin: 0 60px;
}
#top .beta li::before{
font-size: 100px;
font-weight: normal;
height: 100px;
left: -110px;
top: 60px;
}
#top .beta li p{
font-size: 22px;
margin-top: 10px;
}

#top .gamma{
justify-content: center;
margin-bottom: 40px;
}
#top .gamma .illust{
width: 120px;
}
#top .gamma .text{
width: auto;
font-size: 28px;
margin-left: 20px;
}
#top .gamma .text::before,
#top .gamma .text::after{
width: 100px;
height: 5px;
}
#top .gamma .text::before{
margin-bottom: 20px;
}
#top .gamma .text::after{
margin-top: 20px;
}

#top .delta em{
font-size: 40px;
}
#top .delta ul{
display: flex;
justify-content: space-between;
margin-top: 20px;
}
#top .delta li{
width: 24%;
font-size: 20px;
line-height: 1.4;
padding: 20px 0;
margin-top: 0px;
display: flex;
align-items: center;
justify-content: center;
position: relative;
}
#top .delta li::before{
content:"";
display: block;
width: 0;
height: 0;
border-style: solid;
border-width: 0 8px 15px 8px;
border-color: transparent transparent #ffd403 transparent;
position: absolute;
left: 0;
right: 0;
top: -15px;
margin: 0 auto;
}

#point .section{
padding: 30px;
margin-top: 40px;
}
#point .section .title{
display: flex;
align-items: center;
}
#point .section .title .img{
width: 200px;
margin: 0;
}
#point .section .title .text{
flex: 1;
margin-left: 30px;
}
#point .section .title .text h3{
text-align: left;
}
#point .section .title .text em{
font-size: 18px;
}

#point .section#point01 .inner{
display: flex;
align-items: flex-start;
justify-content: space-between;
margin-top: 30px;
}
#point .section#point01 .ex{
margin-top: 0px;
width: 610px;
}
#point .section#point01 .ex .case em{
font-size: 24px;
}
#point .section#point01 .ex .case strong{
font-size: 20px;
}
#point .section#point01 .ex .case strong span{
font-size: 30px;
}
#point .section#point01 .ex .notices{
display: flex;
align-items: flex-end;
justify-content: center;
}
#point .section#point01 .ex .notices .illust img{
width: 100px;
}
#point .section#point01 .ex .notices .text{
font-size: 20px;
text-align: left;
margin-left: 20px;
}
#point .section#point01 .ex .notices .text span{
font-size: 30px;
}

#point .section#point01 .chart{
width: 500px;
}
#point .section#point01 .chart .table_box{
margin-top: 0px;
padding: 30px;
}
#point .section#point01 .chart .table_box table{
font-size: 16px;
}
#point .section#point01 .chart .table_box tbody td:nth-child(2) span{
font-size: 20px;
}


#concrete .title .illust{
width: 120px;
left: inherit;
right: 200px;
top: -40px;
}
#concrete .title .illust_h{
width: 120px;
left: 220px;
top: 0px;
}
#concrete .title h3{
font-size: 40px;
}
#concrete .title p{
font-size: 20px;
}
#concrete .inner{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#concrete .inner .box{
width: 580px;
margin-top: 40px;
padding: 20px 40px 40px;
}
#concrete .inner .box table::after{
width: 60px;
height: 60px;
right: -60px;
bottom: 20px;
}
#concrete .inner .box td span{
font-size: 20px;
}




#area h3{
font-size: 30px;
}
#area ul{
margin-bottom: 80px;
}
#area li{
margin-top: 20px;
padding: 20px;
}
#area li dt{
margin-bottom: 10px;
}
#area li dt h4{
min-width: 100px;
padding: 10px;
margin-right: 20px;
font-size: 20px;
}
#area li dt span{
font-size: 20px;
}
#area li dd{
font-size: 30px;
}
#area li dd.portal{
justify-content: flex-start;
}
#area li dd.portal .icon{
width: auto;
margin-top: 0px;
margin-right: 40px;
}

#area .okigaruni{
justify-content: center;
margin-bottom: 40px;
}
#area .okigaruni .illust{
width: 120px;
}
#area .okigaruni .text{
width: auto;
font-size: 28px;
margin-left: 20px;
}
#area .okigaruni .text::before,
#area .okigaruni .text::after{
width: 100px;
height: 5px;
}
#area .okigaruni .text::before{
margin-bottom: 20px;
}
#area .okigaruni .text::after{
margin-top: 20px;
}


#qa{
}
#qa .alpha{
padding-top: 100px;
padding-bottom: 60px;
}
#qa .memo{
margin: 0;
top: -160px;
left: 0;
align-items: flex-start;
}
#qa .memo .illust{
width: 120px;
}
#qa .memo .text{
font-size: 20px;
margin-top: 20px;
margin-left: 20px;
}

#qa .accordion{
margin-bottom: 40px;
}
#qa dt::before{
font-size: 50px;
margin-right: 10px;
}
#qa dt h4{
font-size: 20px;
}
#qa dd .inner::before{
font-size: 50px;
margin-right: 10px;
}
#qa dd .inner .anser.com{
display: flex;
justify-content: space-between;
}
#qa dd .inner .anser.com .photo{
width: 200px;
margin-left: 20px;
}

#qa .other h4{
font-size: 30px;
margin-bottom: 20px;
}
#qa .other .flex{
margin-bottom: 0px;
display: flex;
justify-content: center;
align-items: center;
flex-direction: row-reverse;
}
#qa .other .illust{
width: 160px;
margin: 0 0 0 40px;
}
#qa .other .text li{
font-size: 20px;
padding: 10px 20px;
border-radius: 50px;
position: relative;
}
#qa .other .text li:first-child{
margin-top: 0;
}
#qa .other .text li::after{
content:"";
display: block;
width: 0;
height: 0;
border-style: solid;
border-width: 6px 0 6px 15px;
border-color: transparent transparent transparent #60cff3;
position: absolute;
right: -13px;
top: 0;
bottom: 0;
margin: auto 0;
}
#qa .beta{
padding-top: 60px;
padding-bottom: 60px;
}
#qa .beta h5{
font-size: 30px;
}
#qa .beta p{
font-size: 20px;
}


#voice .common_title .illust{
width: 150px;
left: 340px;
bottom: -20px;
}
#voice ul{
display: flex;
justify-content: space-between;
margin-top: 40px;
}
#voice li{
margin-top: 0;
width: 370px;
padding: 30px;
}


#topics{
display: flex;
justify-content: space-between;
align-items: center;
}
#topics .common_title{
width: 200px;
}
#topics .inner{
margin-top: 0px;
width: 980px;
}


#contact{
padding-top: 100px;
padding-bottom: 100px;
}
#contact .illust{
width: 280px;
top: -120px;
left: 0;
margin: 0;
}
#contact .text{
padding-left: 320px;
}
#contact .text em{
font-size: 24px;
text-align: left;
margin-bottom: 20px;
}
#contact .text #btn_box{
display: flex;
}
#contact .text .interest_btn{
margin-right: 40px;
}
#contact .text .interest_btn a,
#contact .text .line_btn a{
width: 375px;
height: 90px;
font-size: 20px;
}






}

