charset "UTF-8";

/*共通の導入の流れ*/

.accordion-005 {
    font-size: 2rem;
}
.accordion-005:not([open]) {
    margin-bottom: 7px;
}

.accordion-005 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    border-left: 5px solid #287f8f;
    background-color: #e6edf3;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.accordion-005 summary::-webkit-details-marker {
    display: none;
}

.accordion-005 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #b6bdc3;
    border-right: 3px solid #b6bdc3;
    content: '';
    transition: transform .3s;
}

.accordion-005[open] summary::after {
    transform: rotate(225deg);
}

.accordion-005 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: auto;
    padding: 0em 0em 1em 0em;
    transition: transform .5s, opacity .5s;
}
.accordion-005[open] p {
    transform: none;
    opacity: 1;
    padding-left: 15px;
}
.text-center{
    text-align:center;
}

.div-block{
    padding: 10px;
}

.div-middle{
    margin:auto;
}

.div-oval{
    font-size: 1.6rem;
    line-height: 1;
    letter-spacing: 0.1em;
    font-weight: 700;
    color: #fff;
    display: block;
    width: 230px;
    margin: 1rem auto;
    padding: 10px;
    background-color: #1d1d1d;
    border: 3px solid #1d1d1d;
    border-radius: 40px;
    text-align: center;
}

.td-ttl-blue-green{
    color: #fff;
    background-color: #2180ab;
    padding: 18px 0;
    font-size: 1.7rem;
    letter-spacing: 0.05em;
    font-weight: 500;
    border-bottom: 6px solid #fff;
    text-align:center;
    line-height: 2rem;
}

.td-ttl-blue-green + .td-ttl-blue-green {
    border-left: 2px solid #fff;
}

.td-only-circle {
    background-color: #f8f8f8;
    vertical-align: middle;
    border-top: 1px solid #fff !important;
    padding: 20px;
    border-left: 1px solid #fff !important;
    font-size: 1.5rem;
    line-height: 1.33333;
    letter-spacing: 0.05em;
    text-align: center;
}


/*PC画面*/

@media (min-width: 768px) {

.div-flex-pc {
    display: flex;
    gap: 0 1em;
    margin: 2rem;
}

.div-flex-pc img{
    margin: 1.5rem;
}

.accordion-003 {
    margin-bottom: 7px;
    font-size: 1.8rem;
    border-bottom: 2px solid #d6dde3;
}

.accordion-003 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 21em;
    color: #333333;
    font-weight: 900;
    cursor: pointer;
}

.accordion-003 summary::-webkit-details-marker {
    display: none;
}

.accordion-003 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .3s;
}

.accordion-003[open] summary::after {
    transform: rotate(225deg);
}

.accordion-003 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 2em 1.5em;
    color: #333333;
    transition: transform .5s, opacity .5s;
}

.accordion-003[open] p {
    transform: none;
    opacity: 1;
}

.pl-ws {
   white-space:nowrap;
}
.p-solution-service-table-ttl-sub + .p-solution-service-table-ttl-sub {
    border-left: 1px solid #fff !important;
}

.p-solution-service-table-td-ttl {
    border-top: 1px solid #fff !important;
    padding: 20px;
    font-size: 1.8rem;
    line-height: 1.11111;
    letter-spacing: 0.05em;
    font-weight: 500;
    }
    

.p-solution-service-table-td-txt {
    background-color: #f8f8f8;
    vertical-align: middle;
    border-top: 1px solid #fff !important;
    padding: 20px 60px 20px 20px;
    border-left: 1px solid #fff !important;
    font-size: 1.8rem;
    line-height: 1.33333;
    letter-spacing: 0.05em;
}
.td-only-one {
    background-color: #f8f8f8;
    vertical-align: middle;
    padding: 20px 60px 20px 20px;
    font-size: 1.8rem;
    line-height: 1.33333;
    letter-spacing: 0.05em;
    text-align: center;
}
.remark{
    font-size: 1.5rem;
    line-height: 1.33333;
    letter-spacing: 0.1em;
    margin-top: 20px;
}
}
/*PCここまで*/

/*スマートフォン用デザイン*/
@media screen and (max-width: 767px){

.div-flex-pc {
    display: block;
    margin: 2rem auto;
    width:90%;
}

.div-flex-pc img{
    display: block;
    margin: 1.5rem auto;
}

.accordion-003 {
    margin-bottom: 7px;
    font-size: 1.8rem;
    border-bottom: 2px solid #d6dde3;
}

accordion-003 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    color: #333333;
    font-weight: 900;
    cursor: pointer;
}

.accordion-003 summary::-webkit-details-marker {
    display: none;
}

.accordion-003 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    content: '';
    transition: transform .3s;
}

.accordion-003[open] summary::after {
    transform: rotate(225deg);
}

accordion-003 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 0.3em 0em 0.5em;
    color: #333333;
    transition: transform .5s, opacity .5s;
}

.accordion-003[open] p {
    transform: none;
    opacity: 1;
}

.pl-ws {
   white-space:normal;
}
 .p-solution-service-table-ttl-sub + .p-solution-service-table-ttl-sub {
    border-left: 0.26667vw solid #fff !important;
    }
.p-solution-service-table-td-ttl {
    border-top: 0.26667vw solid #fff !important;
    padding: 0 0 0 2vw;
    font-size: 4vw;
    line-height: 1.5;
    }
 .p-solution-service-table-td-txt {
     border-top: 0.26667vw solid #fff !important;
     padding: 3.33333vw;
     border-left: 0.26667vw solid #fff !important;
     font-size: 4vw;
     line-height: 1.5;
  }
.td-only-one {
    background-color: #f8f8f8;
    vertical-align: middle;
    padding: 20px 60px 20px 20px;
    font-size: 4vw;
    line-height: 1.33333;
    letter-spacing: 0.05em;
    text-align: center;
}
.remark{
    font-size: 3.7vw;
    line-height: 1.33333;
    letter-spacing: 0.1vw;
    margin-top: 2vh;
}
}