@charset "UTF-8";
/* CSS Document */
/* 基本-モバイルファースト ======================================================================================================== */
#common_main_title .text ul{
display: flex;
justify-content: space-between;
position: relative;
z-index: 5;
}
#common_main_title .text li{
width: 23%;
aspect-ratio: 1/1;
display: grid;
place-content: center;
border-radius: 50%;
color: #fff;
font-weight: bold;
}
#common_main_title .text li:nth-child(1){ background-color: #b3203a; }
#common_main_title .text li:nth-child(2){ background-color: #47587e; }
#common_main_title .text li:nth-child(3){ background-color: #957d43; }
#common_main_title .text li:nth-child(4){ background-color: #7f5d89; }




.top_copy{
}
.top_copy .img{
max-width: 50%;
float: right;
margin-left: 20px;
}

.merit dl{
display: flex;
margin-bottom: 20px;
}
.merit dl:last-child{
margin-bottom: 0px;
}
.merit dt{
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
text-orientation: upright;
font-size: 12px;
font-weight: bold;
line-height: 1;
text-align: center;
border: solid 1px #111;
padding: 5px;
margin-right: 5px;
}
.merit dd{
flex: 1;
}
.merit dd li{
font-size: 12px;
list-style: disc;
margin-left: 20px;
margin-bottom: 5px;
}
.merit dd li:last-child{
margin-bottom: 0;
}



#souzoku .method{
margin-bottom: 20px;
}
#souzoku .method article{
background-color: #eee;
padding: 70px 20px 20px;
margin-top: 70px;
border-radius: 10px;
position: relative;
}
#souzoku .method article .n{
background-color: #b3203a;
color: #fff;
width: 100px;
height: 100px;
border-radius: 50%;
font-weight: bold;
line-height: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
position: absolute;
top: -50px;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
margin: 0 auto;
}
#souzoku .method article .n em{
display: block;
font-size: 16px;
}
#souzoku .method article .n p{
font-size: 50px;
}
#souzoku .method article h4{
font-size: 20px;
font-weight: bold;
}
#souzoku .method article .merit{
padding-top: 20px;
margin-top: 20px;
border-top: solid 1px #ccc;
}


#rikon .alpha li{
padding-top: 20px;
margin-top: 20px;
border-top: solid 1px #ccc;
}
#rikon .alpha li:first-child{
padding-top: 0px;
border-top: none;
}
#rikon .alpha li h5{
font-weight: bold;
}

#rikon .beta .text{
margin-bottom: 20px;
}
#rikon .beta li{
display: flex;
margin-top: 20px;
}
#rikon .beta li .n{
background-color: #b3203a;
color: #fff;
width: 60px;
height: 60px;
font-size: 40px;
font-weight: bold;
line-height: 52px;
border-radius: 50%;
margin-right: 10px;
text-align: center;
}
#rikon .beta li dl{
flex: 1;
}
#rikon .beta li dt{
font-weight: bold;
}


#trouble .top_copy em{
display: block;
font-weight: bold;
margin-bottom: 10px;
}
#trouble .alpha{
margin-bottom: 20px;
}
#trouble .alpha li{
padding-top: 20px;
margin-top: 20px;
border-top: solid 1px #ccc;
}
#trouble .alpha li:first-child{
padding-top: 0px;
border-top: none;
}
#trouble .alpha li .photo{
width: 50%;
float: left;
margin-right: 20px;
}
#trouble .alpha li .text h4{
font-weight: bold;
margin-bottom: 10px;
}


#akiya .alpha article{
background-color: #eee;
padding: 20px;
border-radius: 10px;
margin-top: 20px;
}
#akiya .alpha article h4{
font-size: 18px;
font-weight: bold;
margin-bottom: 10px;
}


#kakunin{
background-color: #f7e8eb;
padding-top: calc(25vw + 20px);
padding-bottom: 20px;
position: relative;
}
#kakunin .contents_size{
}
#kakunin .title{
width: 30vw;
height: 30vw;
border-radius: 50%;
background-color: #b3203a;
color: #fff;
text-align: center;
display: grid;
place-content: center;
position: absolute;
top: -5vw;
left: 5vw;
}
#kakunin .title h3{
font-size: 3vw;
font-weight: bold;
}
#kakunin .text dl dt{
font-weight: bold;
}
#kakunin .text dl dd{
margin-bottom: 10px;
}
#kakunin .text dl > *:nth-child(n+5){
padding-right: 30vw;
}
#kakunin .photo{
width: 30vw;
position: absolute;
bottom: 0;
right: 2vw;
}
#kakunin .photo img{
}


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

#common_main_title .text ul{
justify-content: flex-start;
}
#common_main_title .text li{
width: 5vw;
margin-right: 1vw;
font-size: 1vw;
}


.top_copy{
display: flex;
flex-direction: row-reverse;
}
.top_copy .img{
max-width: 360px;
float: none;
margin-left: 40px;
}
.top_copy .text{
flex: 1;
font-size: 18px;
}

#souzoku .method{
margin-bottom: 60px;
display: flex;
justify-content: space-between;
}
#souzoku .method article{
width: 48%;
}

#rikon .alpha ul{
display: flex;
justify-content: space-between;
margin-top: 20px;
}
#rikon .alpha li{
padding-top: 0px;
margin-top: 0px;
border-top: none;
width: 30%;
padding-right: 2.5%;
box-sizing: content-box;
border-right: solid 1px #ccc;
}
#rikon .alpha li:last-child{
padding-right: 0;
border-right: none;
}

#rikon .beta{
display: flex;
flex-direction: row-reverse;
}
#rikon .beta .text{
margin-bottom: 0px;
flex: 1;
margin-left: 40px;
}



#trouble .alpha{
margin-bottom: 60px;
}
#trouble .alpha ul{
display: flex;
justify-content: space-between;
}
#trouble .alpha li{
padding-top: 0px;
margin-top: 0px;
border-top: none;
width: 46%;
padding-right: 4%;
box-sizing: content-box;
border-right: solid 1px #ccc;
}
#trouble .alpha li:last-child{
padding-right: 0;
border-right: none;
}
#trouble .alpha li .photo{
width: auto;
float: none;
margin: 0 auto 20px;
text-align: center;
}


#akiya .alpha{
display: flex;
flex-wrap: wrap;
}
#akiya .alpha article{
width: 32%;
margin-left: 2%;
margin-top: 2%;
}
#akiya .alpha article:nth-child(3n-2){
margin-left: 0;
}


#kakunin{
padding-top: 120px;
padding-bottom: 120px;
}
#kakunin .contents_size{
display: flex;
position: relative;
}
#kakunin .title{
position: inherit;
top: inherit;
left: inherit;
width: 200px;
height: 200px;
margin-right: 60px;
}
#kakunin .title h3{
font-size: 20px;
}
#kakunin .text{
flex: 1;
}
#kakunin .text dl dt{
font-size: 18px;
}

#kakunin .text dl > *:nth-child(n+5){
padding-right: 0;
}

#kakunin .photo{
width: auto;
bottom: -120px;
right: 0;
}


}
